iptables、ルールの順序-私はそれを正しく理解していますか?


17

ポート22(sshdがリッスンする)で外部からの接続とICMPリクエストのみを受け入れるようにVPSを設定したいと思います。外部からのその他のものはすべて拒否されるべきです。サーバー内では、すべてが許可される必要があります。次のルールは、望ましい動作を作成しますか?

iptables -A INPUT --jump ACCEPT --protocol all   --source 127.0.0.1
iptables -A INPUT --jump ACCEPT --protocol tcp   --dport 22
iptabels -A INPUT --jump ACCEPT --protocol icmp
iptables -A INPUT --jump ACCEPT --match state    --state ESTABLISHED,RELATED
iptables -A INPUT --jump REJECT --protocol all

ACCEPTルールが最後の全体的な拒否よりも「勝つ」かどうかは完全にはわかりません


1
--source 127.0.0.1パケットを受け入れても安全かどうかを判断するために使用すべきではありません。参照してくださいserverfault.com/a/825231/4131
ブルーノBronosky

回答:


20

あなたは正しいです。

ルールはファイルの行順に処理されます。ルールに一致する場合、そのIPパケットに対して他のルールは処理されません。

http://en.wikipedia.org/wiki/Iptables

チェーン内の各ルールには、一致するパケットの仕様が含まれています。また、ターゲット(拡張機能に使用)または判定(組み込みの決定の1つ)が含まれる場合もあります。パケットがチェーンを通過すると、各ルールが順番に検査されます。ルールがパケットと一致しない場合、パケットは次のルールに渡されます。ルールがパケットと一致する場合、ルールはターゲット/判定によって示されたアクションを実行します。これにより、パケットがチェーンに沿って継続することを許可される場合とされない場合があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.