ローカルホスト以外の特定のユーザーからのすべての送信接続をブロックするにはどうすればよいですか?

ローカルホスト以外の特定のユーザーからのすべての送信接続をブロックするにはどうすればよいですか?

特定のユーザーuserが私のサーバー (RHEL 7.4 を実行) に ssh で接続した後、そのユーザーからのすべての送信接続をブロックし、userネットワーク上の他のサーバーに ssh で接続したり、ping を実行したりできないようにしたいと考えています。

最初に次のfirewall-cmdルールを設定しましたが、機能していました。

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

しかし、user今度は同じサーバー ( http://localhost:8888) 上で実行されている Jupyter Notebook にアクセスする必要がありましたが、できませんでした。Websocket に関するエラーが発生しました。上記のファイアウォール ルールを削除すると、userNotebook にアクセスできるようになります。

ルールは発信接続のみをブロックすると思っていたので、なぜ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

関連情報