Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux安全 ->正文

让 Linux 更安全(三)

来源:IBM DW中国 作者:Mario Eberlein  时间:2007-04-22 点击: [收藏] [投稿]

必须在内核中启用配额。当前大部分发行版本都支持配额。如果您的发行版本没有启用配额,那么参考 参考资料 中的 mini-howto 来获得启用它们的说明。

要为文件系统启用配额,您必须在 /etc/fstab 中为相应的那行添加一个选项。使用 usrquotagrpquota 来启用用户配额和组配额,如清单 4 所示:


清单 4. 启用用户配额和组配额


				
/dev/hda1    /           ext3    defaults                     1 1
/dev/hda2    /home       ext3    defaults,usrquota            1 1
/dev/hda3    /tmp        ext3    defaults,usrquota,grpquota   1 1
/dev/hda4    /shared     ext3    defaults,grpquota            1 1
/dev/hdc1    /mnt/cdrom  iso9660 nosuid,user                  1 2

然后,使用 mount -a -o remount 重新挂载相应的文件系统,来激活刚才添加的选项;然后使用 quotacheck -cugvm 创建一个二进制配额文件,其中包含了机器可读格式的配额配置。这是配额子系统要操作的文件。

使用工具 edquota 完成配额的指派。要为用户 alice 定义限制,则使用 edquota -u alice 来调用它。环境变量 EDITOR 中定义的编辑器(默认是 vi)会打开,其中有类似如下的内容:


Quotas for user alice:
/dev/hda2: blocks in use: 3567, limits (soft = 5500, hard = 6500)
         inodes in use: 412, limits (soft = 1000, hard = 1500)

“in use”值只是为您提供信息,不能被修改 —— 您能修改的只是软限制和硬限制。保存并退出编辑器后, edquota 会读取您刚才编辑的临时文件,并将那些值传递到二进制配额文件,以使您的修改生效。对组配额的编辑与此相同,只是必须使用 -g 选项而不是 -u

软限制是警告级别,可以被超出,而硬限制是严格强制的。软限制有一个 宽限期(grace period) (有时也称为 软性时间限制(soft time limits));这是允许用户超出软限制直到被系统强制执行之前的时间间隔。

您可以使用 edquota -t 来设置宽限期。可以使用的单位是秒、分、小时、天、周和月。其他管理配额的实用工具包括 repquota(总结某个文件系统的配额)、 quotaonquotaoff(打开和关闭配额)。

启用强制访问控制

通过 SELinux 所实现的强制访问控制(或者说是 MAC),您可以获得进一步的安全性。使用 MAC,操作系统中的许可由进程所属的 用户/组 ID 以及正要被访问的对象(文件)所属的 用户/组 ID 来管理。另外,使用 MAC,Linux 会强制为每个单独的进程执行这些策略,它们会控制进程可以做什么事情。

那样,在使用 MAC 进行适当配置的系统中,被外来控制或攻击的服务不能够接管系统。就算是进程运行所属的用户或组 ID(最坏的情形:root)可能会与 /etc/passwd 等关键系统文件权限相匹配,那个策略也会及时地禁止对它们的访问。

Internet 上的测试系统可以展现出 SELinux 的有效性,它允许任何人登录;控制机制防止了所有的恶意行为,即使用户能够以 root 身份登录!

添加提供商 GnuPG 密钥

发行版本提供商 GnuPG 密钥应该已经是基本配置的一部分。您可以使用这个命令添加您所信任的第三方提供商的密钥: $ rpm -import <keyfile>

您应该确保是以安全的方式获得密钥文件,例如,通过 HTTPS 从提供商的 Web 站点上下载,这样您可以校验连接的证书。

不过,使用 SELinux 也有一些问题。首先,如果发行版本提供商不支持 MAC,那么其配置是相当困难的。可能需要打补丁和重新编译内核,并替换特定的系统管理工具(所有这些都可能影响发行版本提供商的支持策略)。第二,定义一个适当的策略是非常复杂的任务。如果没有可用的策略定义供您的应用程序选择,那么在 MAC 环境中制定并实施这个策略会非常艰难。这就使得对某些使用情形来说这样做比较困难,比如需要支持种类很多的软件包的桌面工作站。

更新和添加安全补丁

为了让系统尽可能保持安全,您需要及时了解用于您的软件的新修订和补丁。这些信息可以通过若干个渠道得到,不过,通常软件提供商和 Linux 发行商应该为您及时地提供这些信息。您也可以使用(几乎永远免费)CERT(Computer Emergency Response Team)的服务。他们通常会维持传达关于最新的建议、漏洞等信息的邮件列表。

当有新的更新可用时,您应该去查看它是否适用于您的系统以及您的安全需要。安装更新本身可能会导致安全问题。另外,要考虑到每个更新都可能会引入新的漏洞,或者如果更新失败,您的系统可能会停留在不可用的状态。

当在大范围的系统中安装某个更新时,您通常不能同时对它们全部进行更新 —— 这可能会导致您的多个系统在更新期间互相不兼容。

可见,更新系统会涉及到很多风险。这里是降低这些风险的一些建议:

更多相关文章
Power by linux-cn.com 粤ICP备05006655号