事實上,Linux 無法為 root 以外的任何使用者綁定 < 1024 的連接埠。
如何將特定普通用戶的連接埠範圍列入黑名單或白名單,以便他們無法綁定它們,就像普通用戶無法綁定連接埠 80 一樣?
有一種阻塞交通的方法透過 iptables 通過這些端口,但由於這是一個真正的多用戶環境,因此它們確實需要不可能綁定。
答案1
根據我所附的文章,您有一些可能的選擇,您可以將它們組合起來:
- SELinux - 如前面所述,您可能必須設定一個策略來將其限制為特定進程,例如綁定係統呼叫等。
- GRSecurity - 文章指出您必須將應用程式具體化,因此我想知道您是否剛剛將應用程式定義為使用者 shell(即 /bin/bash),這可能會起作用。
列出的其他內容似乎與 GRSecurity 一致,但如果您確實追求 GRSecurity,則需要確保您的核心已啟用它。
答案2
一種方法是運行港口儲備可以在 ubuntu 中找到,這允許您綁定到端口,然後保留這些端口,不允許其他人綁定到它們。