このユーザーを使用して実行されているすべてのアプリケーションがネットワークに接続できないように新しいユーザー(またはグループ)を作成したいと思います。
@MichaelKjörlingあなたのアドバイスに従い(Ubuntu 12.04 64ビットを使用)、いくつかのエラーメッセージが表示されました。
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT --reject-with network-unreachable
iptables v1.4.12: unknown reject type "network-unreachable"
Try `iptables -h' or 'iptables --help' for more information.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT
iptables v1.4.12: Can't use -i with OUTPUT
Try `iptables -h' or 'iptables --help' for more information.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -j REJECT
iptables v1.4.12: cannot have ! before -j
Try `iptables -h' or 'iptables --help' for more information.
最後に、以下が行われます。しかし、何か間違ったことがあるかどうかはわかりません。
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz -j REJECT
$
答え1
ループバックインターフェイスを除いて、iptables(ipt_owner.ko)の所有者一致拡張を使用して、特定のユーザーへの外部ネットワークトラフィックをブロックできます。 (または特定のユーザーグループのみがネットワークにアクセスできるようにします。)
たとえば、
modprobe ipt_owner
iptables -A OUTPUT -m owner --uid-owner $USERNAME ! -o lo -j REJECT
(テストされていませんが、ポイントを知る必要があります。)$ USERNAMEをそのユーザーのログイン名に置き換えます。
iptablesを使用してユーザー/グループへのネットワークアクセスを制限する方法 - 所有者の一致Nikesh Jauhariはいくつかの背景知識を提供します。グループでも機能しますが、プライマリグループとセカンダリグループをどのように処理するのかわかりません。