iptablesを使用して発信接続をブロックする

iptablesを使用して発信接続をブロックする

シェルアクセス(ルートではない)を持つ外部スポンサーを持つ(非プロダクション)マシンがあります。私は彼らがこのコンピュータから私たちのネットワークにもはやiptablesを使用するのを防ぎたいと思います。

「一般」ファイアウォールGUIは着信トラフィックのみをブロックします。 「すべての着信トラフィック(および応答)を許可しますが、特定の宛先に発信する新しいトラフィックのみを許可します(たとえば、サーバーのsnmp-trap監視)」などのルールをどのように設定しますか?

オペレーティングシステムはCentOS 5です。

ベストアンサー1

着信TCPトラフィックのみを許可すると仮定すると、次の規則を使用して確立されたTCP接続(外部から開始する必要があります)とLAN外のIPアドレスに送信されるトラフィックを制限できます。

iptables -A INPUT -p tcp -i lo -j ACCEPT
iptables -A INPUT -p tcp -p 22 -j ACCEPT   # repeat for other ports you want to allow
iptables -P INPUT -j DENY
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p tcp \! -d 10.0.0.0/8 -j ACCEPT  # replace by your LAN's network(s)
iptables -A OUTPUT -p tcp \! --syn -j ACCEPT
iptables -P OUTPUT -j DENY

要件に応じて、サポーターが実行するプロセスに特別にいくつかの規則を適用することを好むかもしれません。supportersグループに属していると仮定すると、次の規則は、LAN内の志願者(および志願者のみ)のすべての接続(受信または発信)を拒否します。

iptables -I INPUT \! -i lo -s 10.0.0.0/8 -m owner --gid-owner supporters -j DENY
iptables -I OUTPUT \! -o lo -d 10.0.0.0/8 -m owner --gid-owner supporters -j DENY

gid-ownerテストプロセスに注意を払うFSGID、これはほぼ常に有効なGID。プロセスを実行しない限り設定または、有効なGIDを次に切り替えます。補足グループ、ユーザーのデフォルトグループ(たとえば、ユーザーデータベースに書き込まれます/etc/passwd)が適用されます。

おすすめ記事