事实上,Linux 无法为 root 以外的任何用户绑定 <1024 的端口。
如何为特定的普通用户将端口范围列入黑名单或白名单,以便他们无法绑定它们,就像普通用户无法绑定端口 80 一样?
有阻断交通的方法通过 iptables 通过这些端口,但由于这是一个真正的多用户环境,它们确实需要不可能绑定。
答案1
根据我所附的文章,您有几个可能的选择,您可以将它们组合起来:
- SELinux - 如前所述,您可能必须设置一个策略来将其限制为特定进程,例如绑定系统调用等。
- GRSecurity-文章指出您必须使该应用程序特定,因此我想知道您是否将应用程序定义为用户shell(即/ bin / bash),这可能会起作用。
列出的其他内容似乎符合 GRSecurity,但如果您确实追求 GRSecurity,则需要确保您的内核已启用它。
答案2
一种方法是运行港口储备可以在 ubuntu 中找到,它允许您绑定到随后将被保留的端口,不允许任何其他人绑定到它们。