巧用Bastille锁定您的系统安全
对于Linux的系统安全来说,我们可以采取的手段可以完全不一样,大量的系统管理工具,我们都一一使用过吗?IT专家网将为您摆脱这些烦恼……
配置问题
你被问到的一个问题之一是你是否想禁用SUID root位,在某些命令上,这会允许普通用户运行需要root权限的命令。乍看,你会想到“当然了,我不会想用SUID root命令的!多么明显的一个安全漏洞!”不过,万万不可草草下此结论。例如,如果你真得要求一个根登录用以使用mount或ping怎么办?非特权用户并不能够安装可移动媒体,如CD,而ping是一个很难产生强大破坏性的武器。如果你回答“是”,然后又改变了注意,可以用chmod恢复SUID位。
# chmod u+s ping
无论如何,你应当定期检查支持SUID的文件,只需关注那些被遗忘的试验。可以运行这个命令来查看其列表:
# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -l {} \;
Bastille应当禁用使用基于IP认证的明文协议吗?这包括rsh, rlogin, rcp, rdist,它们以明文形式发送所有的通信。无论如何你不应该使用这些协议,因为它们早已被ssh和scp所替代。
你要采用单用户模式的口令保护吗?是的。如果没有口令,那么任何人通过重新启动到单一用户模式都能够获取根的权限。
Bastille应保证telnet服务并不运行在这个系统上吗?是的,除非你绝对地肯定自己希望它运行。Telnet是十分不安全的,不过这与禁用telnet客户端并不是一回事,因为对于网络故障诊断它仍是十分有用的。禁用gcc编译器并不是一个十分安全的措施。如果你需要它,就不要禁用它。如果你不需要,可以移除它。
你要限制系统资源占用吗?回答“是的”是相当安全的。存储器内容更新对于终端用户来说并不那么有用,而且会变得很庞大。对用户进程设置一个限制通常是一个好主意。可以使用下面这个命令来统计用户进程,因此你就可以知道Bastille 150个进程的限制是否足够:
$ ps --no-headers -U [username] | wc -l
你可以在/etc/security/limits.conf文件中改变这些。
你会增加额外的日志记录吗?是的,我会。
防火墙脚本确实不错,不过对如何利用某些端口并没有提供足够的信息。你可以查看一下这些危险的TCP/IP端口列表。它会帮助你决定监视什么或阻止什么。你需要自己决定是否需要在防火墙中开放某些端口用于某些服务,如SSH,Web服务器等。根据/etc/services ,Bastille可以接收任何端口号或服务名称。如果你想监视这些或只是想知道它们是什么时,这个页面列示了ICMP(网际控制报文协议)的类型。如果没有搞乱基本的网络功能,你是不能阻止所有的ICMP消息的。Bastille默认情况下能够很好地工作。
对于ICMP攻击威胁的我们可以从SANS获得最新最全的信息。
最后,你可以激活这些改变,或回去重新进行改变。Bastille告诉你如何开始、结束,并且测试你的防火墙脚本。你可以在/etc/Bastille中查看自己的新的脚本,可以在/var/log/Bastille中查看它做的操作。
你可以在不同的服务器上和桌面PC上进行几次试验,然后你就对强化Linux系统拥有很好的经验。
IT专家网原创文章,未经许可,严禁转载!
- 本文关键词:

