Ubuntu的10.04代理服务器和SSH服务器:我强迫禁用SSH来提高安全性?

我有一个Ubuntu 10.04的代理服务器暴露在互联网上,我有SSH服务器来pipe理它从内部局域网和远程。 这感觉简直是不安全的,即使我使用强密码…我想在互联网上禁用ssh,但后来我失去了function。 有没有解决办法? 我寻找一个非常非常短的名单“必须做”来提高安全性。

我想只给这些答案添加一件事情:

的fail2ban

Fail2ban扫描日志文件,如/ var / log / pwdfail或/ var / log / apache / error_log,并禁止IP,导致太多的密码失败。 它更新防火墙规则以拒绝IP地址。

这是从我的服务器上的活动禁令(坏)rrd图:

禁令由慕尼黑绘制

由munin用fail2ban插件绘制 。

你可以做的更多的事情来增强SSH安全性:

切换到公钥只有sshlogin名详细在这里: 你如何设置ssh使用密钥,而不是用户名/密码进行身份validation?

那么你可以限制SSHlogin到特定IP的详细在这里: 如何限制SSHlogin到特定的IP或主机

如果这些方法设置正确,然后进入,有人需要从您的IP地址连接到您的私钥文件

启用基于密钥的身份validation,并closures质询 – 响应/密码身份validation。 这将使其尽可能安全。

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

除了强大的密码之外,您还可以做的另一件事是限制可以login的帐户。

在sshd_config中:

AllowUsers myaccount

另外,设置PermitRootLogin no。

除了上面的答案,您还可以执行以下操作以确保您的ssh访问更加安全:

更改默认的SSH端口

通常机器人正试图访问默认端口22 / TCP,并尝试用不同的用户名(root,admin等)login。 如果您使用强密码或更好的密钥,并且不允许rootlogin,则此攻击通常不是问题。

恼人的是,不成功的login尝试是垃圾邮件您的安全日志,如果发生任何事情将很难find正确的条目。

启用端口敲击

港口敲门是一个好主意。 默认的ssh端口是closures的,直到按正确的顺序敲一个或多个端口。 ssh端口然后自动打开,您可以login。

正如所有人已经实现了它;-)在这里的文档: https ://help.ubuntu.com/community/PortKnocking

将禁用密码authentication,并要求基于公钥的您可以吗?

如果您有远程控制台(IBM RSA或HP ILO)等远程硬件pipe理解决scheme,也可以完全禁用ssh。 如果您在物理上将pipe理和生产局域网分开,则通过login到服务器将不可能进入。