|
FreeBSD handbook中文版 10 安全(4) 仍然支持:如果能够通过运行在一个sandbox 上的一个服务器侵入,他们仍然必须要攻破 sandbox。攻击者必须通过很多的安全层,这样他侵入的可能性就很小了。过去已经找到了 很多root 的安全漏洞,包括基本的系统服务器。如果你运行着用户通过sshd 来登陆而从 不用telnetd 或rshd 或rlogind 来登陆的服务器,你最好把这些服务器关掉。 现在,FreeBSD 默认在sandbox 中运行ntalkd, comsat,和finger。还有一个叫做named 的程序。/etc/defaults/rc.conf中包含了运行named 的选项,但被注意掉了。无论你是在 安装一个新的系统,还是升级一个已存在的系统,被这些sandboxes 使用的特殊用户帐号 可能没有被安装。谨慎的系统管理员无论何时都要认真研究和执行sandboxes。 有许多其他的服务器通常不能运行在sandboxes 中:sendmail, popper, imapd, ftpd, 和其他一些。你可以选一些,但安装它们可能需要你做很多工作。你可能必须以root 来运 行这些服务器,然后依靠其他的机制来检测可能通过他们进行的侵入活动。 其他比较大的潜在的root 漏洞是安装在系统中的suid-root 和sgid 程序。这些程序, 象rlogin,都放在/bin, /sbin, /usr/bin,或/usr/sbin 中。当然,世上没有100%的安全, 系统默认的suid 和sgid 程序可能认为是比较安全的。 另外,root 漏洞有时候能在这些程序中找到。在1998 年在xterm 的Xlib 中的一个root 漏洞被发现。谨慎的系统管理员需要限制suid 的程序,只有指定的人可以运行,指定人所 在的特殊组可以访问,其他人都不能使用。一台没有显示器的服务器通常不需要一个xterm 程序。 Sgid 程序可能也会有危险。如果一个入侵者能够攻破sgid-kmem 程序,入侵者就可以 第5 页FreeBSD 使用手册 读到/dev/kmem,因而可以读到crypted 密码文件,从而危及到受密码保护的帐户的安全。 另外,一个侵入组kmem 的入侵者可以通过pty’s 来监测到击键的情况,包括通过安全方 法登陆的用户的情况。一个侵入tty 组的入侵者可以写入几乎任何用户的tty。如果用户正 在运行一个终端程序或带有键盘模拟特性的模拟器,入侵者可以偷偷地发送一个数据流来 使用户的终端显示一个命令,然后就以那个用户的身份来运行。 10.3.3 确保用户帐户的安全 用户的帐户通常是很难确保安全的。当你用严格的访问限制来约束你的用户时,你不 可以使用你有的普通用户帐户来这样做。如果你有充分的控制,那你可以确保用户帐户的 安全。如果没有,你必须时刻警惕地监视那些帐户。为用户的帐户使用ssh 和kerberos 可 能会有问题,需要额外的管理和技术支持,但与crypted 密码文件相比仍是一个比较好解决 方案。 10.3.4 确保密码文件的安全 唯一的确保安全的方法是用*号来代替输入的密码,使用ssh 或kerberos 来访问那些帐 户。即使crypted 密码文件(/etc/spwd.db)只能被root 读取,入侵者可能无法获得root 写 的权限,但也可能会获得读的权限。 你的安全脚本必须经常检查和报告密码文件的修改情况。 10.3.5 确保内核核心,Raw 设备和文件系统的安全 如果一个入侵者攻破root,他就可以做任何事情。例如,绝大多数现代内核都有一个 包来探测内建的设备启动器。在FreeBSD 下,它被叫做bpf 设备。一个入侵者通常会试图 在一台不安全的机器上运行一个包探测器。所以,绝大多数系统都不把bpf 设备编译进内
|