允许/拒绝用户绑定一系列端口

Ste*_*zzo 5 permissions networking

事实上,Linux 无法为 root 以外的任何用户绑定小于 1024 的端口。

您如何将特定普通用户的端口范围列入黑名单或白名单,以便他们无法绑定它们,就像普通用户无法绑定端口 80 一样?

一种方法可以通过 iptables阻止通过这些端口的流量,但由于这是一个真正的多用户环境,它们确实需要无法绑定。

Jus*_*usk 3

根据我所附的文章,您有一些可能的选择,您可以将它们组合起来:

  1. SELinux - 正如前面所述,您可能必须设置一个策略来将其限制为特定进程,例如绑定系统调用等。
  2. GRSecurity - 文章指出,您必须使该应用程序具体化,因此我想知道您是否刚刚将应用程序定义为用户 shell(即 /bin/bash),这可能会起作用。

列出的其他内容似乎与 GRSecurity 一致,但如果您确实追求 GRSecurity,则需要确保您的内核已启用它。

如何限制用户绑定的端口?


小智 1

一种方法是运行可以在 ubuntu 中找到的端口保留,这允许您绑定到随后将被保留的端口,不允许其他任何人绑定到它们。