检查 /home 中多个文件夹和文件的权限以查看是否有任何帐户的权限设置为不安全值的最快方法是什么?
什么会被认为是不安全的?
- 具有可能被公众写入的访问级别的文件
- 对 .htaccess、.svn 等文件的读取权限
- 任何可能危及网络服务器安全的文件
编辑
我认为这是一个两部分的问题。我已经在上面提到了我认为不安全的内容,但也许还应该问一下:还有什么可以使网站在权限级别上不安全?有什么风险以及如何检查它们?
显而易见的答案:
find -L /home -perm 0777
以 0777 模式打印出所有文件/目录,通常是您不想设置的模式。
更详细:
find -L /home -perm /o+w
任何人都可以写入的所有文件/目录。
find -L /home -perm /o+r -name '.*' -type f
.
任何人都可以读取的所有以 a 开头的文件
任何可能危及网络服务器安全的文件
不会有任何全面的方法来快速确定这一点。
例如,您可以使用 find 来查找除组和所有者之外具有读取权限的所有文件:
find /home/ -perm /o+r
但是,您仍然需要确定哪些是不安全的权限。允许其他人在其他用户主目录中执行文件是否不安全?在用户主目录等中拥有另一个用户拥有的文件是否不安全?
只要您完成了作业(双关语),/home 下的文件权限就不是安全问题。假设用户有一个可执行文件——只要系统管理正确,这个可执行文件唯一能做的就是以与用户相同的方式修改、读取和写入文件。如果您真的想阻止您的用户在其主目录中拥有可执行文件:只需使用 noexec 选项挂载 /home 即可。顺便说一句:如果你想防止意外的数据丢失,你可能也想看看 LVM 的快照功能。
提权问题与主目录中的文件是否可执行无关。
关于关键文件的权限,我强烈建议部署一个入侵检测系统,比如tripwire。它经过深思熟虑,不是很容易使用,但另一方面也不太难。