
特定のユーザー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 に関するエラーが発生しました。上記のファイアウォール ルールを削除すると、user
Notebook にアクセスできるようになります。
ルールは発信接続のみをブロックすると思っていたので、なぜ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