要有效处理安全问题,关键在于随时关注安全方面的新动态并了解最新的安全问题。 要保护您的系统免受各种问题的侵扰,最好的方式就是尽快获取并安装安全公告推荐的更新软件包。SUSE 使用邮件列表发布安全公告,您可以通过链接 http://en.opensuse.org/Communicate/Mailinglists 订阅该邮件列表。 列表提供关于更新软件包的第一手信息,向其积极投稿的人当中还有 SUSE 安全小组的成员。opensuse-security-announce@opensuse.org
邮件列表 opensuse-security@opensuse.org 提供了一个不错的论坛,可以在其中讨论任何相关的安全问题。 在同一万维网网页上订阅该邮件列表。
bugtraq@securityfocus.com是全球知名的安全邮件列表之一。 建议阅读此列表,该列表每天要接收 15 到 20 条投递信息。 有关详细信息,请参见 http://www.securityfocus.com。
下面是一些规则,可能有助于您处理基本的安全问题:
根据要对每个作业都尽量使用限制性最强的一组权限的规则,应避免使用 root 权限执行常规作业。 这样即可降低受布谷鸟蛋或病毒攻击的风险,防止您自己犯错误。
如果可能,应尽量使用加密连接在远程计算机上工作。 用 ssh(安全 shell)替代 telnet、ftp、rsh 和 rlogin,这应是标准做法。
避免使用仅基于 IP 地址的鉴定方法。
尽量使最重要的网络相关包保持最新,并且订阅相应的邮件列表,以接收这些程序(如 bind、postfix、ssh 等)的最新版本的声明。该做法同样适用于与本地安全相关的软件。
更改 /etc/permissions 文件,优化对系统安全至关重要的文件的权限。 如果删除某个程序的 setuid 位,该程序很可能无法再正常执行作业。 但从另一方面考虑,在多数情况下,该程序也将不再是个潜在的安全隐患。 所以,您可以对全局可写目录和文件采取相同的做法。
禁用不是绝对需要的所有网络服务,以便服务器正常运行。 这样可以让系统更加安全。 使用程序 netstat 可以找到套接状态为 LISTEN 的打开端口。 至于选项,建议使用 netstat-ap 或 netstat-anp。 -p 选项允许您查看哪个进程正以什么名称占用端口。
将 netstat 的结果与在主机外部执行的彻底端口扫描的结果进行比较。最适合执行这项作业的程序当属 nmap,该程序不仅可以检测计算机的端口,而且可以对哪些服务正等待端口处理作出一些判断。 不过,端口扫描可能被认为是一种入侵行为,所以不要在未经管理员明确批准的情况下在主机上执行该操作。 最后,要记住不仅要扫描 TCP 端口,而且要扫描 UDP 端口(使用选项 -sS 和 -sU),这一点至关重要。
要以可靠方式监视系统文件的完整性,请使用 SUSE Linux Enterprise 提供的程序 AIDE(高级入侵检测环境)。对 AIDE 创建的数据库加密,防止有人篡改。 此外,在其他计算机上保留此数据库的备份副本,储存该副本的外部数据媒体不能通过网络链接连接到您的计算机。
安装任何第三方软件时都要小心谨慎。 曾经有黑客在安全软件包的 tar 档案中嵌入了特洛伊木马病毒,不过幸好发现得及时。 如果安装二进制软件包,则应确保下载站点是安全的。
SUSE 的 RPM 包都具有 gpg 签名。 SUSE 使用以下密钥来签名:
ID:9C800ACA 2000-10-19 SUSE Package Signing Key <build@suse.de> Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA
命令 rpm--checksig package.rpm 显示校验和及未安装软件包的签名是否正确。 可以在本版本的第一张 CD 上和全球多数密钥服务器上找到该密钥。
定期检查用户和系统文件的备份副本。 考虑如果不测试备份是否有效,实际上它可能毫无价值。
检查日志文件。 尽可能编写小型脚本搜索可疑项。 无可否认,这并不是一项非常烦琐的任务。 最终,只有您才知道哪些项异常,哪些项正常。
使用 tcp_wrapper 限制访问计算机上运行的各个服务,这样您可以明确控制哪个 IP 地址可以连接到某个服务。 有关 tcp_wrapper 的进一步信息,请参见 tcpd 和 hosts_access 的手册页(man8 tcpd、manhosts_access)。
使用 SuSEfirewall 可以增强 tcpd (tcp_wrapper) 提供的安全性。
设计具有冗余性的安全性对策,看到两次讯息总比没看到讯息好。