Unix安全编程: 最小化特权[网络技术]
本文“Unix安全编程: 最小化特权[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
安全的程序必须最小化特权,以降低 bug 转化为安全缺陷的大概性.本文谈论了若何通过最小化有特权的模块、授与的特权以及特权的有效时间来最小化特权.
文章不但谈论了一些传统的类 UNIX 特权机制,还谈论了较新的机制,如 FreeBSD 的 jail(),Linux 安全模块(Linux Security Modules,LSM)框架,以及 Security-Enhanced Linux(SELinux).
2003 年 3 月 3 日,Internet Security Systems 对 Sendmail 中的一个严重的漏洞提出了告诫.全部的电子邮件都通过邮件传输代理(mail transfer agent,MTA)来传输,Sendmail 则是最风行的 MTA,所以这个告诫影响了世界范围内的很多组织.问题在于,按普通的配置,尽心设置了“from”、 “to”大概“cc”域的电子邮件消息可以让发送者完好(root)掌握任何一台运行着 Sendmail 的机械.更严重的是,普通的防火墙将 不能保护其内部的机械免受这种攻击.
造成这一漏洞的直接缘由是,Sendmail 的一个安全检测是有缺陷的,可以发生缓冲区溢出.不过,一个重要的作用因素是,Sendmail 常常被安装为一个单一的“setuid root”程序,对运行它的系统有完好的掌握权限.这样,Sendmail 中的任何缺陷都可以让攻击者直接掌握整个系统.
这个计划是必须的吗?不是;Wietse Venema 的 Postfix 是一个常见的可以与之匹敌的 MTA.近似于 Sendmail,Postfix 会去做很多安全检测,不过,为了 最小化特权,Postfix 计划为一组模块.后果,Postfix 普通被认为是比 Sendmail 更安全的程序.本文谈论了若何最小化特权,您可以将一样的思惟利用到您的程序中.
最小化特权的底子
实际利用的程序会有缺陷.不是我们但愿那样,但是确切是有.复杂的需求、日程的压力和环境的改变使得不太大概得到实用的无缺陷的程序.乃至那些通过复杂并且切确的技术正式地证明是精确的程序,也会有缺陷.为什么?此中一个缘由是,考证必须做很多假定,并且普通这些假定并非完好精确.无论若何,出于各种缘由,大部份程序没有得到严峻的查验.并且,即便本日没有任何缺陷(不太大概),日后保护的改变大概环境的改变都大概会引入缺陷.所以,要处理实际的问题,我们不得不以某种方法来开辟安全的程序, 固然 我们的程序中有缺陷.
固然有这些缺陷,对安全编程来说最重要的办法是 最小化特权.特权只是答应去做并非 每个人 都可以做的事情.在类 UNIX 系统中,拥有“root”用户、其他用户大概一个组的成员的特权是最常见的特权种类.一些系统让您可以授与读或写特定文件的特权.不过,不管怎么样,要最小化特权:
只为程序中需求特权的部份授与特权
只授与部份绝对需求的具体特权
将特权的有效时间大概可以有效的时间限制到绝对最小
这些其实是目标,不是绝对的.您的底子组织(比方您的操作系统大概虚拟机)大概使得严峻完成这些并不简单,大概严峻完成这些大概会很复杂,而招致在尝试严峻完成时引入更多缺陷.但是,你距离这些目标越近,缺陷招致安全问题的大概性就越低.即便缺陷招致了安全问题,它招致的安全问题的严重性大概会更低.并且,假如您可以确保只有小部份程序拥有特定的特权,您便可以用大量额外的时间来确保 那 一部份能抵挡攻击
[1] [2] [3] [4] [5] [6] [7] 下一页
以上是“Unix安全编程: 最小化特权[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |