使用非标准端口是不好的做法吗?(例如 ssh 从 22 到不同的东西)
信息安全
脆弱性
服务器
港口
2021-09-03 12:52:26
2个回答
通常,不,您不会通过在另一个端口上运行服务器来引入新漏洞。无论它侦听哪个端口,该软件都会以相同的方式运行(当然,除非在解析和设置自定义端口的代码中存在漏洞)。
尽管您可能会发现您的客户端无法连接到您的服务器,因为防火墙或入侵检测系统注意到“不良”流量,因为它希望在众所周知的端口上使用正确的协议。如果您在企业环境中,那些相同的防火墙和入侵检测系统可能会让您大量误报,从而更难检测噪音中的合法威胁。
这个教训可能暗示了天真的安全性,管理员认为他们通过关闭端口 20-21 来保护自己免受 ftp 漏洞的侵害,而您通过将 ftp 服务器放在对世界开放的端口22 上来打开 ftp 漏洞。ftp 软件在这里并不容易受到攻击,但整个系统可能更容易受到攻击。
这不是您的屏幕截图所指的,但是如果您使用1024以上的端口,则可能会引入漏洞。端口1-1024只能由root绑定。例如,如果您在端口 2222 上运行 ssh,那么任何能够使该进程崩溃的人都可以在端口 2222 上启动自己的 ssh 服务器。
假设您的网站存在一个漏洞,可以让他们控制您的 Apache/Nginx Web 用户(太常见了),而您的 ssh 服务器有一个漏洞会导致它崩溃(不太常见,但也不那么严重)。Web 用户可以使 ssh 服务器崩溃并启动自己的服务器,因为它运行在 1024 以上的端口上,所以没有什么可以阻止它。一旦您将密码发送到该 ssh 服务器(登录或使用 sudo 获得 root 权限),攻击者也可以获得您拥有的任何权限。
我不会将其称为高严重性漏洞,但如果攻击者可以访问您服务器上的非 root 用户,并且您的服务器预计会在 1024 以上的端口上运行受信任的服务,那么这可能是一个不必要的弱点。
