经过近十年(托pipe我的个人网站和应用程序与一个体面的共享networking托pipe服务提供商(在匹兹堡),我已经决定其时间冒险出去,尝试一个虚拟的私人服务器。
一直困扰着我的是我知道我的共享Web主机有一些定制的安全/指令检测系统设置来处理常见的问题托pipe客户谁想要运行PHP应用程序。 我不愿意放弃这种安心,但是我的pipe理技能的扩展是通过configuration来进行因果风格的探索,并通过日志parsing来看“哦,这就是他们如何去做我们”。
该上下文集,如果我要build立一个基于Linux的VPS的Apachenetworking托pipe帐户
我会采取什么措施来保护机器?
我可以/应该安装哪些额外的监控软件包?
这是我通常做的:
这是除了别人build议的项目。 存在许多更高级的工具,比如snort – 我build议你看看它们。 但是,这个清单应该很好,让你去一个VPS。
第1步: 更新您的软件作为补丁出来。 如果修补程序不能定期为您使用的项目出现,是时候find替代scheme了。
第2步: 异地logging。 攻击者可能会用PHP来危害一台机器,但是如果通过networking将日志导出到一个更强大的服务器上,覆盖轨道就更难了。
第3步: 保护SSHlogin。 在非标准端口上运行SSH。 需要强大的密码,甚至限制loginSSH密钥。 安装fail2ban或其他蛮力检测工具,以防止被淹没。 如果你的发行版愚蠢到允许它,禁用根权限。
第4步: 更新您的软件。 它重复。 PHP是臭名昭着的坏,共享主机可以使它成为一个庞大的皮塔更新,根深蒂固的不良行为。 像你可能在PEAR中发现和更新Debian软件包的项目。 订阅邮件列表和计划每天或每周的时间来解决修补。
第5步: 备份 。 当你被黑客攻击时,从已知的好系统恢复是最安全的。 增量备份可以帮助你做到这一点。
有大量的入侵检测软件包,如snort,助手和acidbase。 还有像nessus / openvas这样的笔测工具。
我也喜欢在VPS上指导一个简单的正常运行时间工具,以便在需要退款的情况下logging中断情况。
jldugger提供了很多很棒的点子 – 我想补充一下,你可能会想看看apache的mod_security和suexec。 Mod_security带有一堆预先制作的filter,可以检查到你的服务器的http调用,如果发现有腥意的话,就拒绝它们。 Suexec允许您以拥有它们的用户运行php / perl / etc脚本,而不是将它们全部运行在www-data用户下。