私のデスクトップでは、iptablesを非常に厳密に設定したいと思います。私が開始したインターネットトラフィック以外に何かを許可する理由はありません。いくつかのポートに制限することもできます。デスクトップをオフにする基本的なルールは何ですか?私に必要なのは:
- インターネットをする
- メールダウンロード
推奨ルールがありますか?
答え1
次のルールでは、発信接続はすべて許可されますが、着信接続はブロックされます。 INPUTおよびFORWARDチェーンはデフォルトでパケットを拒否するように設定され、OUTPUTチェーンはデフォルトでパケットを許可するように設定され、最後のルールは既存の接続の一部として着信パケットを許可します(この場合は発信接続のみ)。
iptables --policy INPUT DROP
iptables --policy FORWARD DROP
iptables --policy OUTPUT ACCEPT
iptables --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables --append INPUT --jump REJECT
iptables --append FORWARD --jump REJECT
発信トラフィックを制限するには、OUTPUTポリシーを拒否に変更し、特定のポートでトラフィックを許可するルールを追加する必要があります。たとえば、
iptables --policy OUTPUT DROP
iptables --append OUTPUT --protocol udp --match multiport --dports domain,bootps --jump ACCEPT
iptables --append OUTPUT --protocol tcp --match multiport --dports domain,http,https,ssh,pop3s,imaps,submission --jump ACCEPT
iptables --append OUTPUT --jump REJECT
答え2
次のiptables-restore
スクリプトはあなたのニーズに十分です。
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state ! --state NEW -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
ICMP pingを許可するルールを削除すると、スクリプトを短くすることができますが、お勧めできません。 IMOでは、pingに応答することはセキュリティに大きな影響を与えず、ネットワークのトラブルシューティングに役立ちます。
特定のTCPポートからの着信接続を許可するには(たとえば、接続を許可するssh
)、ステートメントのすぐ上に次のようにスクリプトにルールを追加できますCOMMIT
。
-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT