最近有人告诉我,有用户对我的系统进行了“攻击”。虽然 Apache 错误日志等中没有任何异常活动或错误,但我宁愿安全而不要后悔。
那么:如果我运行 chroot Apache,它是否会阻止 shell 脚本检索敏感信息?即,无论包含数据库详细信息的配置文件是否在 apache jail 中,都能够执行 mysqldump 或任何类似操作?
谢谢
答案1
嗯,这会提高 Apache 实例的安全级别 :)。据我所知,即使使用 chroot,脚本仍然可以执行(取决于您采用的其他方法)
请看这里http://www.petefreitag.com/item/505.cfm(20 个快速措施来保护你的 Apache 实例)。你可以在这里找到更多关于保护 Apache 的信息http://www.amazon.com/Apache-Security-Ivan-Ristic/dp/0596007248/ref=sr_1_1?ie=UTF8&qid=1338881835&sr=8-1。
根据您的环境以及 apache 的重要性/暴露程度,我会采取多种措施,而不仅仅是 chroot。
答案2
chrooting 将阻止访问大多数工具(即 /bin/ /sbin/ 等)和设备,但如果您通过 unix 套接字使用 mysql,您仍然需要在 apache chroot 中公开该套接字。chrooting 也不会阻止访问本地 TCP 端口。
如果你的目标是阻止 apache 在本地执行,我建议使用 selinux。有很多文档对此进行了描述,但我更喜欢 Fedoras apache 设置 [1] 或更通用的 Centos wiki [2]
[1]http://fedoraproject.org/wiki/SELinux/apache [2]http://wiki.centos.org/HowTos/SELinux