- - PR -
iptablesの設定で接続が遅くなる
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-09-16 00:33
いつもお勉強させて頂いております。
今回が2度目の投稿となります。宜しくお願いします。 iptablesを利用してパケットフィルタリングの設定をしているのですが、 以下の設定を加えると異様に接続が遅くなります。 #port scan /sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT #syn flood /sbin/iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT #ping of death /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 何度も外部からテストしましたのでうまく有効にはなっていると思うのですが、 SSHで接続してもコマンドが追いつかず途中で固まってしまう程の遅さになります。 (3分〜5分またされる感じです) 具体的な症状ですが、設定直後あたりはスムーズだったりしますが、10分ほどHTTPや SSHなどいろいろ作業をしていると接続が途切れたように遅くなります。 iptablesではルーティングおよびフォワーディングは使用しておらず パケットフィルタリングのみに使用しています。そしてついでに攻撃対策も しておこうと思いまして調べて上記のような設定を自分で作ったのですが、 接続がものすごく遅くなるという問題になってしまいました。 どなたかアドバイス頂けないでしょうか。m(_ _)m RedHat9 iptables-1.2.7a-2 | ||||||||||||||||
|
投稿日時: 2004-09-16 01:42
自己レスです。攻撃対策ということでiptables関連を調べておりましたら
皆さん大変苦労されているのがよく分かり、またその手法もさまざまであることが 分かりました。もちろん「完璧」な設定などはないことは分かっておりましたが、 ある程度の常識(?)レベルの設定方法たるものがあるのかと思ってこのような 質問を投げかけてしまいました。今までは私は完全にルータにお任せ状態で Dos対策をするボタンにチェックを入れるだけでしたので無知にも程がありますよね(^^;汗 ということで今回は具体的な例(ここが間違っているなど)を求めるのではなく、 初心者としてこういう対策から初めては?といったアドバイスが頂けるようであれば お願いしたいと思います。ルータを買ってチェック入れるのは簡単さで言うとで効果的だと 思っているのですが、今回はルータが導入できない環境にいます。 今のところはIPnutsを検討しておりますが、何か他によいアドバイスがありましたら お願い致します。手軽さを求めるのはよくありませんが、あまり追求しすぎると、 はまり込んでしまいますので、バックアップを頻繁に行ったり別のサーバを待機させて おくなど、すぐに復旧できる対策をとるほうがよほど効果的なのかなぁとも思ったりします。 | ||||||||||||||||
|
投稿日時: 2004-09-16 06:46
ん〜、なにか買ってくるばかりが対策でもないと思うですが。
とりあえず。
iptables をあまり知らないので、この設定が対策になるのかどうか わかりませんが... ping of death は相当に古い手口の攻撃です。現在の Linux では あらかじめ対策されていると思うですが...
SYN flood への対策は、Linux ではふつう SYN cokkies を用いると 思います。SYN cookies の説明は、たとえば http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/networking/ip-sysctl.txt.html このあたりとか。 # OS によってはもっとすぐれた仕組みを持っているものもあります。
う〜ん、そもそも「port scan を防がなきゃならないのか?」という ことから疑問で、「上記設定は port scan を防ぐのに友好か?」 ということも疑問です。 どーしても port scan を防ぎたければ、公開していないポートへの アクセスは、存在しないipアドレスに向かって投げる、なんて 手もありますが... # これをやってるマシンに対して nmap かけると、すごい効果 # なのがわかります ![]() | ||||||||||||||||
|
投稿日時: 2004-09-16 11:45
こんにちは。
じゃあ、私からは iptables のパラメータを調べましょうということで、参考資料を ![]() ・ Linux 2.4 Packet Filtering HOWTO (JF さんより) ・ man 8 iptables (JM さんより) ・ 連載記事 「ゼロから始めるLinuxセキュリティ」 (@IT さんより) | ||||||||||||||||
|
投稿日時: 2004-09-16 12:00
SSH 接続中のレスポンスが遅いのですか ? だとしたら、iptables が原因とは考えずらい気がします。 提示された 3 つ以外にもルールがあるのなら別ですが。 | ||||||||||||||||
|
投稿日時: 2004-09-16 12:16
このルールは Web ページでも良く見かけますが、 これは ping flood attack 関連のルールですよね。
これは防ぐためのルールではなく、この後にログを取るルールを繋げて ポートスキャン行動を知るためのルールなのでは ? それとは別に、このルールは TCP RST Flood Attack 対策関連に 有効なのではないかと思っています。 | ||||||||||||||||
|
投稿日時: 2004-09-16 12:32
ACCEPTしてるルールしか書かれてないみたいなんですが、
他にルールは無いんでしょうか? その辺の確認を含めて、 iptables -L -v -n の結果を確認するか提示してください。 この出力で、どのルールに対してどれだけのパケットが マッチしてるかを確認することが可能です。 あとは、ルール適用前後において、etherealなどでスニッフィングした情報なんかも あわせて確認してみると、対処法はともかく何が起きてるかくらいは大体把握できるでしょう。 | ||||||||||||||||
|
投稿日時: 2004-09-16 13:14
なるほど、ping flood ということでしたらわかります。 ping of death ということですと、「断片化されたパケットの 再構成はどういう扱いなんだろう?」という点がわかりません でしたので。
う〜ん、iptables でやらなくても、iplog 等を使えばよいと思うです。
なるほど。 それにしても、TCPすべてに適用するにしてはこの値は厳しすぎる と思います。 # 古典的な FIN スキャン対策にもなってないし、ハーフコネクト # ステルススキャン対策にもなっていないので?でした。 |