ルールリストに「-A INPUT -j DROP」を追加すると、IPTABLESが遅くなる


8

私はiptablesを使い始めたばかりで、よくわからないものに出会いました。

ちなみに、私はUbuntu wikiのIptablesHowToの指示に従いまし

natテーブルとmangleテーブルは空です。現在、フィルターテーブルのみを使用しています。

問題

次のiptablesルールを追加すると、

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

...その後も引き続きssh経由で自分のマシンにアクセスできますが、すべてのiptablesコマンドの実行には1〜2分かかります。これはDNSの問題で-nはなく、変更されません。

ソリューション

テーブルをフラッシュし、代わりにこれらの3つのルールを追加すると、すべてが正常に機能します。

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

誰かが私に説明できますか、なぜ最初のルールがiptablesにそれほど大きな影響を与えるのですか?確立されたセッションがトラフィックを受信できることを理解していますが、sshが開いている場合になぜそれが必要なのですか?


場合によっては、sudoDNSルックアップを実行し、これらがブロックされている場合、コマンドが遅くなります。他のすべてのiptablesコマンドの接頭辞はsudo
Ladadadada 2013

sudo strace …(ルートシェルから)実行して、何がブロックされているかを確認します。
Gilles「SO-邪悪なことをやめなさい」

回答:


3

DNSルックアップを実行しており、応答がブロックされているため、タイムアウトするまでに時間がかかります。

DNSルックアップを防ぐためにiptables -n ...を実行してみてください。

conntrackは、マシンによって開始された要求(この場合はDNS要求)への応答用に作成された一時ポートで接続を受信できるようにします。ESTABLISHEDまたはRELATED接続を許可しないと、リクエストへの応答もブロックされます。

EG:Webサイトにアクセスしようとすると、Webサイトのリクエストを送信できても、Webサイトの応答がブロックされます。


4

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

SSHポートからのものでない限り、マシンは着信パケットをドロップします。そのマシンがSSH経由でのみ通信するようにする場合は、良い考えです。それ以外の場合は追加する必要があります

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

これにより、誰かから接続するのではなく、何らかのWebサーバーに接続することが確実になります。


一般的には良いアドバイスですが、これは実際に尋ねられていた質問には答えません。
Shadur 2013

@Shadur conntrackが違いを生みます。これはすべてをドロップすることに反対します。
Nils

この場合のように、マシンを介してWebサーバーに一般的なリクエストを送信すると、ファイアウォールは接続が確立されたマシンへのパケットの送信を許可しないため、最後のリクエストは何も表示しません。
edmz 2013

しかし、最初の2つのコマンドのみを使用してsshを許可する場合でも、iptablesコマンドがconntrackルールよりもはるかに長くかかるのはなぜですか。そして、conntrackルールは、Webサーバーに接続できることを意味しますか?ドロップルールが役に立たなくなるのではないでしょうか。
mohrphium 2013

いいえ、そうではありません。では-m conntrack、あなたは、彼らは確かにドロップしようとしている前に、パケットが受け入れられ得ることを別の「チャンス」を持つことができます。クライアントマシンで、iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 回答を表示する場合に必要です。サーバー側では、SSH着信接続を許可し、その他すべてをドロップします(サーバーがSSH接続としてのみ機能する場合)。すべてが明確であることを願っています。
edmz 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.