主动保护暴露在互联网上的小型服务器

主动保护暴露在互联网上的小型服务器

我在云端有一台小型服务器,用于测试目的。我从一开始就很担心这台小型服务器的安全性。这就是为什么我除了 sshd 之外没有在那里配置任何东西。我以有点偏执的模式配置它,只是为了安全起见,否则会后悔。

在对基本配置进行最终快照之前,我决定检查一下日志。尽管我还没有将我的服务器用于任何用途,但我发现我的日志中充满了不成功的授权尝试。连接来自世界各地,没有任何特定的地理分布,也没有任何其他系统。在 24 小时内,我得到了 10MB 的日志,其中包含各种扫描尝试。现在我不知道我的小型服务器的状态如何,也不知道发生了什么。如果我的特定版本的 sshd 容易受到某些 0-day 漏洞的攻击,我可能已经运行了一个 rooted 系统,这使得所有快照都变得毫无意义。

我可以开发一套系统安全脚本。

首先,我想到的是系统上所有文件的 SHA256 总和。我可以运行一个小守护进程,它可以遍历我的系统并检查总和。如果有任何变化 - 它可能会以某种方式让我知道。如果内核、/bin、/sbin、/lib 层次结构发生变化 - 我甚至可以阻止系统启动。从备份中恢复系统可能比在互联网上与一些未知机构共享我的个人数据更安全。

我想到第二个工具是主动监控 /var/log/auth.log。如果我发现某个地址多次尝试联系我的某些设施,我可以使用内部防火墙阻止该地址,或者在发现异常情况时关闭系统。

我对各种编程语言都很熟悉,但我真的不想深入研究,也不想花一两天以上的时间进行此类开发。这限制了 Perl 和 Python 的可能替代方案。我在这里看不到可行的 shell 脚本。

所以,

  1. 在新配置的服务器上看到如此多次的攻击是正常的吗?
  2. 是否存在任何互联网资源,让我可以查看我的系统中的任何组件是否存在零日危险?
  3. 第一和第二个工具是否可以有效地保证我的系统的安全和清洁?
  4. 从资源使用角度来看,使用 Perl 或 Python 来实现这样的安全解决方案是否可行?

——问候,保罗

相关内容