许多服务器配置指南建议将 SSH 端口更改为 > 1024,以避免混淆并避免冲突。
这很有趣,因为它建议使用小于 1024 的端口,因为它具有特权:
http://www.thefanclub.co.za/how-to/how-secure-ubuntu-1204-lts-server-part-1-basics
对这种做法有什么想法吗?
答案1
您有不同的选择。每个选择都有缺点。那么您更喜欢哪个缺点呢?
- 使用端口 22:您将从扫描简单密码的机器人那里获得大量日志条目。您可以通过仅使用公钥身份验证来防止入侵。但日志条目仍会存在。
- 小于 1024 的其他端口:该端口很可能已被正式保留用于其他协议,如果您使用该协议,则可能会发生冲突。可能有机器人扫描该其他服务,因此您仍会偶尔看到奇怪的日志条目。
- 使用端口号 1024 或更大:本地用户可以通过监听该端口发起 DoS 攻击。他们必须在服务器关闭时开始监听,这样在服务器重新启动
sshd
时就有了机会。sshd
如果您以其他方式保持sshd
安全,您似乎可以选择让远程主机淹没日志或让本地用户遭受 DoS 攻击。可以通过某种自动阻止来缓解日志条目,但不幸的是,这可能会让您遭受另一种 DoS 攻击。
答案2
嗯,你可以将端口从 22 更改为其他端口,是的。但端口扫描最终会显示这些内容。
如果您担心安全和 SSH,请完全禁用仅使用密码的身份验证。同时打开监控日志扫描器(如 fail2ban),配置为禁止在您的站点上运行扫描的恶意主机。
如果您更加关心安全性,那么更改端口是有意义的:将其更改为不常见的端口并实施端口敲击!
仅仅改变端口并没有多大作用,通过主动端口敲击来改变端口是完全不同的事情!
答案3
1024 以下的端口由内核保留给使用 CAP_NET_BIND_SERVICE 的守护进程和服务,其中之一就是 SSH。
事实上,更改 ssh 端口并不能带来多大的安全改进,因为扫描仍然会发现开放端口。尝试在随机主机的默认端口上使用默认密码或密码表的攻击会导致日志条目减少,但如果您正确设置了 ssh,这些应该不是问题。
问题是,如果从传出流量被限制到标准端口的环境连接到服务器,就会出现问题。对我来说,将 SSH 保持在默认端口上是最佳做法,但我想有些人愿意讨论这个问题。
答案4
我认为将 SSH 更改为非标准端口没有任何安全优势。继续使用端口 22 应该不会有任何冲突,因为该端口是为 SSH 保留的。如果您的 SSH 服务器的安全性依赖于它在非标准端口上运行,那么您就没有做好自己的工作。