Ubuntu Apache 基于 IP 的访问限制

Ubuntu Apache 基于 IP 的访问限制

我的服务器已被外部人员利用我的 root 用户资格入侵。

随着 root 密码的更改,我正在尝试寻找额外的策略来保护服务器的安全。

使用/etc/hosts.allow/etc/hosts.deny似乎是通过 IP 地址管理访问的可行解决方案,但我有一个潜在的问题。

我想在 hosts.allow 文件中指定我的工作 IP。但问题是服务提供商可以更改 IP 地址。如果发生这种情况,我就无法访问我的服务器了。我们的服务器是自我管理的。

有人能告诉我如何防止或克服这种情况吗?

答案1

我采取了几个步骤来保护我的服务器:

第一个是显而易见的:

不要在标准端口上运行 ssh,这样您就可以摆脱常见的 skript kiddies 攻击。

第二个也是最先进的:

使用 knock - 守护进程。knock - 守护进程首先等待特定端口和协议上的一系列命中,然后才在服务器上打开用于 ssh - 连接的端口。因此,除非攻击者使用 knock 客户端命中正确的端口序列,否则 ssh - 服务器对于任何攻击者都是不可见的。大多数 knock - 守护进程实现都提供了一种集成事务序列的机制,因此每次成功登录后,knock - 序列都会更改。

通过此标准设置,您将获得更多的安全层。

还建议使用加密的用户名和密码,并限制 ssh 登录到特定(非 root)用户。然后,您可以在执行 root 任务时切换到服务器上的 root 用户。

安装 nagios 之类的监控系统还可以为您和您的环境提供更多安全性,它易于配置,并且还通过 ubuntu 打包系统提供。您可以将其配置为在有人通过 ssh 登录您的服务器时向您发送电子邮件,这样至少您将获得进行进一步调查所需的信息。


但说实话:如果有人以 root 身份访问您的服务器,您应该完全重新安装所有内容。可能会替换一些不易检测的二进制文件,从而引入后门。想象一下,您运行一个简单的命令(如 useradd),二进制文件已被替换,因此在执行该命令时会打开一个 tcp 连接,并将用户凭据发送给入侵者。或者更糟的是:ssh - 服务器二进制文件已被替换为自定义版本,允许通过某个用户 - 密码 - 组合进行访问。

答案2

从提供商处购买静态 IP。

答案3

除了@Kazimieras的答案之外,您还可以使用以下系统动态网络并将您的新主机名添加到etc/hosts.allow

答案4

也许您可以在服务器和办公室网络之间建立 VPN 连接

相关内容