这个/users安装引导并禁用了SUID和SGID应用程序。应用程序仍然可以运行,但是SUID和SGID位将会被忽略。在所有的文件系统上禁用SUID和SGID是一个良好的安全实践。
不过,用户需要定期扫描用户的系统并获得一个所有存在SUID和SGID进程中的列表。查找SUID的命令是:-perms +4000,而查找SGID的命令则是:-perms +2000。在整个服务器扫描所有SUID文件,运行这个命令:
# find / -type f -perms +4000 -ls
-type f命令只是查看“常规”的文件,无法查看目录或通过其他命名管道的特殊文件等。这个命令可以列出每个文件上的SUID位设置。仔细检查和验证所有输出和真正需要SUID和SGID的文件,对于不需要的,毫不犹豫地进行清除处理。
8、掌控开放的端口
在用户向外界发布用户的系统之前,用户需要知道哪些端口是打开的并且允许连接。有些端口是在用户不知情的情况下开放的,用户应该在人们通过这些端口访问用户的服务器之前关闭它们。有一些工具可以让用户知道用户的系统是暴露的。
可以使用Netstat工具来进行排查。几乎每一个操作系统都附带Netstat命令。Netstat是一个简单的工具,可以显示用户的网络信息,如网络端口、路由表和网络连接信息。Netstat工具显示了/etc/services下所有已经被使用类似人名定义的端口,使其更容易解析和导出。这是一个确保用户系统上/etc/services持续更新的好理由。在用户的系统上使用man命令来发现netstat的能力。
下面我们将通过一个简单的例子来说明:
# netstat
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
server.smtp 192.168.3.4 6144 0 65700 0 CONNECTED
在这个例子中,有人从IP地址192.168.3.4连接到用户服务器的SMTP服务。用户应该运行SMTP吗?应该允许这个人连接到服务器吗?注意,重大漏洞。用户打开了远程连接,用户最起码应该使用TCP Wrappers安全机制来保护它。用户应该禁用它吗?
# netstat -a | more
UDP: IPv4
Local Address Remote Address State
localhost.ntp Idle
TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
*.telnet *.* 0 0 24576 0 LISTEN
(责任编辑:)