(虽然如何处理受损服务器?的答案和评论很有用,但我的问题更多是关于在我对服务器没有完全(或太多)控制权时防止黑客攻击。我有 SSH 访问权限但没有 root 权限. 除了我自己的用户帐户之外,我无法查看或更改任何内容。)
我为一家非营利组织做志愿者,为他们维护他们的网站。几年来,我们一直在使用低预算的共享托管平台 (Bluehost)。该网站建立在 Wordpress 之上,我尽最大努力使核心 WP 和所有插件保持最新。
但是我们多次被黑客入侵。有时它是恶意的(破坏主页),而有时它是隐秘的(我发现了似乎只是允许某人进入并窥探的隐藏文件)。
我完全摆脱了 WP,在 Bootstrap 上重建了网站。我从服务器上删除了所有文件,在新站点的本地版本上运行了多次病毒扫描,用 grep 查找任何可疑的东西,然后将文件上传到服务器。我几乎 100% 确定这个新代码库是“干净的”。
但在几天之内,我发现(通过将服务器与我的本地版本进行比较)一个被黑的 index.php(在第一行之前插入了一些“preg-replace”代码)并在不是真正的图像文件的子目录。这是一大堆经过混淆的 PHP,看起来很糟糕(我去混淆并查看了代码)。
我知道共享主机(通常包含数百个站点)可能很容易受到攻击。在这一点上,我完全不信任我们所在的服务器。但是当我问 Bluehost 我们是否在 VPS 或专用服务器上更安全(认为我们的“沙盒”会更难进入),他们说这不会有什么不同。
所以我进退两难了。我帮助的非营利组织预算有限。但我也不想继续花费数十到数百个小时来监控和修复网站。我不知道黑客是通过文件系统还是不应该打开的开放端口进入的。
有没有一种成本效益高的解决方案可以提供更好的“硬化”?