非营利组织的抗黑客托管解决方案?

信息安全 网络服务器
2021-08-31 14:59:32

(虽然如何处理受损服务器?的答案和评论很有用,但我的问题更多是关于在我对服务器没有完全(或太多)控制权时防止黑客攻击。我有 SSH 访问权限但没有 root 权限. 除了我自己的用户帐户之外,我无法查看或更改任何内容。)

我为一家非营利组织做志愿者,为他们维护他们的网站。几年来,我们一直在使用低预算的共享托管平台 (Bluehost)。该网站建立在 Wordpress 之上,我尽最大努力使核心 WP 和所有插件保持最新。

但是我们多次被黑客入侵。有时它是恶意的(破坏主页),而有时它是隐秘的(我发现了似乎只是允许某人进入并窥探的隐藏文件)。

我完全摆脱了 WP,在 Bootstrap 上重建了网站。我从服务器上删除了所有文件,在新站点的本地版本上运行了多次病毒扫描,用 grep 查找任何可疑的东西,然后将文件上传到服务器。我几乎 100% 确定这个新代码库是“干净的”。

但在几天之内,我发现(通过将服务器与我的本地版本进行比较)一个被黑的 index.php(在第一行之前插入了一些“preg-replace”代码)并在不是真正的图像文件的子目录。这是一大堆经过混淆的 PHP,看起来很糟糕(我去混淆并查看了代码)。

我知道共享主机(通常包含数百个站点)可能很容易受到攻击。在这一点上,我完全不信任我们所在的服务器。但是当我问 Bluehost 我们是否在 VPS 或专用服务器上更安全(认为我们的“沙盒”会更难进入),他们说这不会有什么不同。

所以我进退两难了。我帮助的非营利组织预算有限。但我也不想继续花费数十到数百个小时来监控和修复网站。我不知道黑客是通过文件系统还是不应该打开的开放端口进入的。

有没有一种成本效益高的解决方案可以提供更好的“硬化”?

4个回答

如果您向 Internet 公开的唯一内容是非交互式网页并且不需要运行服务器端组件,那么您可以通过使用静态网站大大降低风险。

然后,您将得到 Web 引擎本身,并在某种程度上扩展了底层操作系统。Apache 或 nginx 不容易加固,因此您可以查看Cherokeepublicfile

您可以更进一步,将您的静态文件托管在接受它们的现有环境(例如Github Pages)上,或者移至您使用Google Sites等块构建的站点(对非营利组织免费)。

共享主机的问题在于:

  1. 您依赖于所有网站保持他们的代码是最新的。有可能另一个帐户被盗用,从而允许攻击者访问您的 Web 服务器部分。有几种方法可以实现这一点,尤其是在安装了 Direct Admin 等控制面板的情况下。

  2. 当我 - 作为一名黑客 - 在你所在的同一台服务器上购买网络空间时,我可以简单地(在你的情况下)上传一个 PHP web shell 并(可能)访问位于该服务器上的所有网站。如果文件权限设置正确,这甚至是可能的。

解决方案是不使用共享网络托管。

我建议你购买一个VPS。一个好的 VPS(6GB RAM - SSD 磁盘)可以每月 7 美元购买。如果你愿意,我可以给你链接,但我不想在这里做广告。这样你就可以更好地控制正在发生的事情。

移动到静态页面系统。我也曾经有过 WordPress——但在被“叙利亚自由军”攻击了 2 次之后(为了宣传他们的处境……)我厌倦了 WordPress,并使用了Nikola

简单易用 - 静态网页....没有帐户/端口/SQL 漏洞等。

还有其他(相同的叉子) - 也寻找鹈鹕。

Digital Ocean提供低至 5 美元/月的专用虚拟机。就解决方案与 VPS 的比较而言,这可与专用服务器相媲美。

然而,最常见的问题是您在实际提供内容时使用的软件解决方案。强化所选套件的配置文件并非易事,除非您有相关经验。

服务器加固作为一个通用主题是庞大的,但如果您已经确定了您想要使用的一组特定程序,Google 和 ServerFault.SE 很可能会提供大量关于如何锁定它们的提示。

或者像 WoJ 建议的那样,您可以使用更预先构建的托管解决方案。