使用特权端口的 SSH 最佳实践

使用特权端口的 SSH 最佳实践

我在 Centos 7.7 上使用 cPanel,我对文档中的这条注释有点困惑:

我们建议您使用其他服务当前未使用的特权端口 1 - 1023。只有 root 用户可以绑定到端口 1 - 1023。任何人都可以使用 1024 及更大的非特权端口。

我不确定这个说法意味着什么 - SSH 默认端口 22。但建议将端口更改为其他端口。

端口 22 已经是特权端口,但是如果我将其更改为 483 与 2022,对于上述注释有何区别?无论我将其更改为哪个端口,任何人仍然可以通过 SSH 连接到该端口。

答案1

我不确定这个说法意味着什么 - SSH 默认端口 22。但建议将端口更改为其他端口。

我不这么读——他们只是说你可以随意更改 SSH 守护进程正在侦听的端口。

22端口已经有特权

是的。

但是如果我将其更改为 483 与 2022 有什么区别

几乎没有,除了我知道的所有 SSH 客户端 - OpenSSH、Putty、dbclient 默认情况下都会尝试使用端口 22,因此当使用非标准端口连接到主机时,您必须手动提供端口号,但您可以将端口号保存在配置中这是一项一次性工作。从实际角度来看,有些人更喜欢将 SSH 守护进程设置为监听端口 80 或 443 来分别伪装成 HTTP 或 HTTPS,这样 SSH 连接就不会被酒店、机场等过分热心的防火墙阻止。

关于上面的注释?无论我将其更改为哪个端口,任何人仍然可以通过 SSH 连接到该端口。

我认为Anyone can use the unprivileged ports of 1024 and greater.他们的意思是本地非 root 用户可以使用非特权端口来提供服务。它不是连接到从外部侦听给定端口的服务,而是指示本地服务使用该端口。至于为什么他们建议使用特权端口进行 SSH 服务 - 原因是:

1024 以下的 TCP/IP 端口号比较特殊,普通用户不允许在其上运行服务器。这是一项安全功能,因为如果您连接到这些端口之一上的服务,您就相当确定您拥有的是真实的东西,而不是某些黑客为您提供的假冒产品。

(从 http://info.cern.ch/hypertext/WWW/Daemon/User/PrivilegedPorts.html

进一步扩展它 - 正如中所讨论的这些关于 ServerFault 的评论

这正是您不应该在 1023 以上的端口上运行特权守护进程的原因。任何用户(本地或远程)都可以对其进行 DDoS 攻击,直到其崩溃,然后是本地用户(即 PHP、Apache、MySQL 以及任何具有远程执行漏洞的用户) )可以在同一端口上启动自己的守护进程,然后等待您连接。

相关内容