Ubuntu 10.04 代理服务器和 SSH 服务器:我是否被迫禁用 ssh 以提高安全性?

Ubuntu 10.04 代理服务器和 SSH 服务器:我是否被迫禁用 ssh 以提高安全性?

我有一个暴露在互联网上的 Ubuntu 10.04 代理服务器,并且我在其上安装了 SSH 服务器,以便从内部 LAN 和远程对其进行管理。即使我使用了强密码,它仍然感觉不安全……我考虑过在互联网端禁用 ssh,但这样我就无法使用。有什么解决方法吗?我正在寻找一个非常简短的“必须做”列表来提高安全性。

答案1

我只想针对所有这些答案补充一点:

Fail2ban

Fail2ban 会扫描日志文件(如 /var/log/pwdfail 或 /var/log/apache/error_log)并封禁密码失败次数过多的 IP。它会更新防火墙规则以拒绝该 IP 地址。

下面是我的服务器上活动禁令的 (损坏的) rrd 图表:

由 munin 绘制的禁令

图表由 munin 绘制,fail2ban 插件

答案2

您还可以做另外两件事来增强 ssh 安全性:

切换到仅使用公钥的 ssh 登录,详情如下: 如何设置 ssh 来使用密钥而不是用户名/密码进行身份验证?

然后您可以将 SSH 登录限制到特定 IP,详情如下: 如何限制 ssh 登录到特定 ip 或主机

如果这些方法设置正确,那么为了进入,有人需要使用你的私钥文件从你的 IP 地址进行连接

答案3

启用基于密钥的身份验证,并关闭质询响应/密码身份验证。这将使其达到所需的安全性。

此外,我会确保您的iptables规则只允许从您自己的 IP 地址/范围进行 SSH 访问(如果可能的话)。

答案4

除了上述答案之外,您还可以执行以下操作来进一步保护您的 ssh 访问:

更改默认 SSH 端口

通常,机器人会尝试访问默认端口 22/tcp,并尝试使用不同的用户名(root、admin 等)登录。如果您使用强密码或更好的密钥,并且不允许 root 登录,则这种攻击通常不会造成问题。

令人讨厌的是,不成功的登录尝试会向您的安全日志发送垃圾邮件,如果发生任何事情,将很难找到正确的条目。

启用端口敲击

端口敲击是个好主意。默认 ssh 端口处于关闭状态,直到您以正确的顺序敲击一个或多个端口。然后 ssh 端口会自动打开,您就可以登录了。

像往常一样,有人已经实现了它;-) 这里是文档: https://help.ubuntu.com/community/PortKnocking

相关内容