如何阻止除本機以外的特定使用者的所有傳出連線?

如何阻止除本機以外的特定使用者的所有傳出連線?

我希望在特定用戶user通過 ssh 進入我的伺服器(運行 RHEL 7.4)後阻止來自特定用戶的所有傳出連接,也就是說,user不應能夠 ssh 進入/ping 網路上的其他伺服器。

我最初配置了以下firewall-cmd規則,並且它有效。

firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user -j DROP

但是,user現在需要存取也在同一台伺服器上執行的 Jupyter Notebook ( http://localhost:8888),但無法存取。有關 websocket 的錯誤。一旦上述防火牆規則被刪除,user就可以存取筆記本了。

我不確定為什麼user無法訪問localhost,因為我認為該規則僅阻止傳出連接。

如何允許user存取localhost任何連接埠或特定連接埠範圍,同時仍阻止對其他任何地方的網路存取?

答案1

正如 djdomi 所提到的,您希望在已有的 DROP 規則之前添加一個例外。這可以工作

firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user --dport=8888 -j ACCEPT

將其放在您已有的規則之前。

BR

相關內容