![这(大部分)并不重要](https://linux22.com/image/1071870/%E8%BF%99%EF%BC%88%E5%A4%A7%E9%83%A8%E5%88%86%EF%BC%89%E5%B9%B6%E4%B8%8D%E9%87%8D%E8%A6%81.png)
我想通过 SSH 从互联网访问我的 Ubuntu 服务器,并将客户端的公钥存储在该服务器上。
为了提高安全性,我想使用 22 以外的其他端口,以减少我的服务器被入侵的风险(因为脚本小子必须猜出该端口号)。
在路由器中定义端口转发是否更好(如下图所示)或在服务器上定义端口转发(如下所述)https://askubuntu.com/a/264048)?
答案1
这(大部分)并不重要
如果您只是想减少服务器系统日志中的登录尝试次数,那么两种方法都可以。
具体来说,有两种方法:
- 您可以让路由器监听端口 220022,并将其设置为转发到 IP 192.168.1.200 的端口 22。这样您就不必
sshd_config
在服务器中编辑。 - 您可以让路由器监听端口 220022,并将其设置为转发到 IP 192.168.1.200 的端口 220022。这样,您必须
sshd_config
在服务器中编辑,使其不监听默认端口 22,而是监听您选择的端口。
那么当地的威胁又如何呢?
如果您担心有人在您家入侵您的服务器,或者有人开着一辆停在您家外面的黑色货车入侵您的家庭 WiFi 网络,然后试图入侵您的服务器。那么仅仅更改默认端口可能无济于事。
其他措施
正如 Thomas Ward 在评论中指出的那样,将 ssh 访问限制在少数外部 IP 地址上是一种更好的安全措施。请参阅限制用户对特定 IP 的 SSH 访问如何做到这一点。
如果您有几个远程位置(例如办公室和姐姐家)需要登录,这种方法是可行的。如果您经常旅行并且想要从酒店的所有互联网登录,情况就不同了。
VPN解决“酒店”问题
您将需要 VPN 服务,可以由您的雇主提供,也可以是消费者级付费 VPN。然后,您可以将 VPN 服务器的 IP 地址(或 IP 地址范围)添加到允许的 IP 地址列表中。在路上(在酒店)时,请先连接到 VPN,然后连接到您的 ssh 服务器。
停止暴力破解
有各种工具可以阻止对 ssh 的重复不成功尝试(暴力破解),fail2ban
并且sshguard
都受到高度重视。
希望这可以帮助
答案2
为了提高安全性,我想使用 22 以外的其他端口,以减少我的服务器被入侵的风险(因为脚本小子必须猜出该端口号)。
它不是那样工作的。不知道如何运行的攻击者nmap
不会对你发起任何新奇的攻击。他们可能会尝试暴力攻击,你可以用好的密码、速率限制(例如fail2ban或sshguard)或简单地禁止密码登录来轻松防御。
所以别担心。任何真正构成威胁的攻击者都不会被愚弄。请记住整个互联网定期进行端口扫描。