系统安全防护:工具与策略
1. 磁盘扫描与 setuid 程序检测
定期扫描磁盘以查找新的 setuid 程序是很有用的。攻击者在突破系统安全后,有时会创建私有的 setuid shell 或实用程序,以便再次访问系统。可以使用find命令来查找此类文件,示例脚本如下:
/usr/bin/find / -user root -perm -4000 -print | /bin/mail -s "Setuid root files" netadmin此脚本会将所有设置为 root 的 setuid 文件列表通过邮件发送给 “netadmin” 用户。实际使用时,可能需要更明确地指定要搜索的文件系统。
2. chroot 的有效使用
2.1 chroot 系统调用概述
chroot系统调用将进程限制在特定目录中,禁止访问该目录之外或之上的文件,从而在进程被攻击者攻破时限制其造成的损害。chroot命令是该系统调用的简单封装,一些对安全敏感的守护进程内置了chroot支持,只需在其配置文件中启用此模式即可。
2.2 chroot 的合理使用场景
- 运行非 root 守护进程:例如在受限的文件系统子树中运行 Apache 或 BIND 等非 root 守护进程。若守护进程被攻破,只要没有特权升级漏洞,攻击者将被限制在该子树内。
- 限制远程