アプリケーションがiptablesを使用してネットワークに接続するのを防ぐ方法は? [コピー]

アプリケーションがiptablesを使用してネットワークに接続するのを防ぐ方法は? [コピー]

私は端末でiptablesのマニュアルページを読んでいましたが、構文は複雑で、user、userID、UUIDなどのオプションの使用方法を完全に理解していません。

私のユーザー名がfoobarであり、アプリケーションがあらゆる種類のネットワークに接続されないようにしたいとしましょう。どうすればいいですか?

答え1

ユーザーのすべてのトラフィックをブロックできますユーザーのブロックowneriptablesモジュールを使用してください。

iptables -I INPUT -m owner --uid-owner BLOCKUSER -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER -j REJECT

DROP代わりにターゲットを使用することもできますが、REJECTこれはタイムアウトによる遅延のみを延長します(参照:ここもっと議論したい)

アクセスを許可するのが便利であるか、必要な場合があります。ループバック機器:

iptables -I INPUT  -m owner --uid-owner BLOCKUSER ! -i lo -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER ! -o lo -j REJECT

あなたの質問について:

  • ユーザーログインしてコマンドを出力するために使用するwhoamiユーザー名。
  • ユーザーIDは数値のユーザーIDです(ほとんどの場合、UIDの代わりにユーザー名を単に使用でき、コマンドを使用して表示できますid)。
  • 普遍的に一意の識別子普遍的に一意の識別子そしてiptablesでは直接使用されません。 (--uuid-owner太田です)

関連情報