我可以添加 Linux 的特权端口吗?

我可以添加 Linux 的特权端口吗?

在 Linux 中,~1000 以下的端口具有特权。也就是说只有root才能绑定它们。原因有多种,其中包括安全性:知道绑定这些端口之一的任何东西CAP_NET_BIND_SERVICE在占用该端口时都在服务器上具有 root (或由 root 指定)。它不太可能是伪装成您的应用程序的东西。

我想将 SSH 移至一个不起眼的端口。这样做很容易,但如果被黑客攻击,有可能会用更糟糕的东西取代本机 OpenSSH,这可能会给我带来更多问题。

出于这些原因,我想将我的高端口指定为特权端口,以便只有我的 root 运行的 OpenSSH 实例可以绑定它。

Linux 中是否存在任何机制允许我这样做?

答案1

我不相信您可以更改特权端口,但您可以通过使用iptables将高端口重定向到ssh在端口 22 上运行来执行类似的操作。

我自己没有做过,但类似:

iptables -t nat -A PREROUTING -p tcp --dport <high port number> -j REDIRECT --to-ports 22

可能有效。

相关内容