FreeBSD handbook中文版 10 安全(3) 其它的登陆服务,确认直接登陆root 根本不行。考虑到每一种访问方法--(如FTP 服务)通 过cracks 经常失败。直接登陆root 应当只有通过系统控制台被允许。 当然,作为一个系统管理员,你应当获得root 权限,所以我们公开几个漏洞。但我们 确信这些漏洞需要额外的密码确认才能操作。一种成为root 访问的是增加适当用户的帐户 到wheel 组(在/etc/group 中)。Wheel 组中的用户可以使用su 命令来访问root。在它们的密 码登陆口,通过把它们放置在wheel 组中,你就永远不会给用户成员访问本地wheel 的权限。 用户帐户应当被放置在staff 组中,然后通过/etc/group 文件加入到wheel 组。事实上,那些 需要访问root 的用户成员将会被放置在wheel 组中。当然也会有可能,用一个如kerberos 的认证方法。在root 帐户中使用kerberos 的.k5login 文件,可以不需要把任何人放置在wheel 组中就允许ksu 访问root.如果入侵者已经获得了密码文件,或者已侵入了一个用户帐户,这 可能是一个比较好的解决方法,因为wheel 机制仍然可能会使入侵者break root。虽然wheel 机制要什么都没有要好得多,但它也不是最安全的选择。 确保超级用户帐户安全的间接方法是通过使用一个有选择性的登陆访问方法确保你的 用户帐户的安全。这样做,入侵者可能会偷窃到密码文件,但不会侵入任何用户帐户。用户 成员通过使用一对私有或公共密匙(如kerberos 或ssh)的安全机制来进入它们的帐户。当 你使用kerberos 时,你必须确保使用kerberos 的服务器或工作站的安全。当你使用一对ssh 的公共/私有密匙系统,你必须确保你所登陆的那台机器的安全,但当你用ssh-keygen 创建 它时,你可以添加一个额外的保护层到你的钥匙对中。你可以强制所有的用户成员使用加密 的方法连接它们的活动,这样就可以关闭可能会被入侵者使用的一个重要漏洞:将一个毫无 关系,很不安全的机器与网络隔离。 更多间接的安全机制能够被实现。你可以从一个带有限制性的服务器到一个毫无限制性 的服务器进行登陆。例如,如果你的主邮箱运行在所有种类的服务器上,那你的工作站就无 法运行任何东西。为了确保你工作站的安全,尽可能少运行服务器,直到根本就没有服务器 运行,然后运行一个受密码保护的屏保。当然,一个入侵者强行访问你的工作站,它就会把 你所设置的所有安全特性都破坏掉。有一个问题必须明确,你必须考虑到这样一个事实,绝 大多数入侵是从那些没有物理访问工作站或服务器权限的人那里,通过一个网络来侵入的。 使用象kerberos 这样的技术,也会让你无法使用系统,或者改变用户帐户的密码,从而影响 到拥有一个帐户的所有用户成员。如果一个用户成员的帐户已经失去安全,应当改变它在所 有机器上的密码。对于不连续的密码,在n 台机器上改变一个密码可能是很乱的。你可能要 第4 页FreeBSD 使用手册 用kerberos 重建密码的限制:一张kerberos 的许可证可能一段时间后会过期,但kerberos 系 统可能要求用户在一段时间以后选择一个新密码(一般是一个月)。 10.3.2 确保以root 权限运行的服务器和suid/sgid 二进制程序的安全 谨慎的系统管理员只运行他需要的服务器,不多也不少。要清醒地认识到第三方的服 务器经常有很多的错误。例如,运行一个老版本的imapd 或popper,就象是给出了一个通用 的root 帐号来访问外部世界。运行每一个服务器,你都要仔细地检查。许多服务器不一定 需要用root 来运行。例如,ntalk, comsat, 和finger 守护程序可能运行在一个特殊的用 户sandboxes 上。一个sandbox 是不完全的,除非你遇到了许多问题,但安全的层级模式