7682


iptablesの設定はほぼこちらを参照したものです。  
<http://qiita.com/suin/items/5c4e21fa284497782f71>

以下、SYN_FLOOD抜粋

[code]

    iptables -N SYN_FLOOD # "SYN_FLOOD" という名前でチェーンを作る
    iptables -A SYN_FLOOD -p tcp --syn \
             -m hashlimit \
             --hashlimit 200/s \
             --hashlimit-burst 3 \
             --hashlimit-htable-expire 300000 \
             --hashlimit-mode srcip \
             --hashlimit-name t_SYN_FLOOD \
             -j RETURN
    
    iptables -A SYN_FLOOD -j LOG --log-prefix "syn_flood_attack: "
    iptables -A SYN_FLOOD -j DROP
    
    iptables -A INPUT -p tcp --syn -j SYN_FLOOD
    
[/code]

それなりに外部からアクセスがあるWEBサイトで  
このような設定を実施した場合、主に携帯会社のIPが引っかかってしまします。  
そこでhashlimit-burstを10にしてみましたが、それでもいくらか引っかかりました。

引っかかったアクセスログを確認したところ、正常のURLへのアクセスをしているログが上がっているので、不正アクセスではないだろうと考えています。

ただ「携帯会社のIP」が目立つのは、携帯でのアクセスが多いだけの話かもしれません。

こういったケースで、  
SYN FLOODの閾値が問題ないのかどうかどのように判断したらよいでしょうか？  
携帯の接続不安定のために発生して問題ない範囲と考えられるのでしょうか？


CC BY-SA 3.0
2015-03-09T12:16:03.757
7659
2015-03-10T00:54:16.990
2772
question
linux iptables
iptablesでsyn flood対策をしましたが、携帯会社のIPがよく引っかかります。


携帯電話会社が引っかかるのは「携帯の接続不安定のため」ではなくNATやproxyにより多数の端末が少数のIPアドレスで接続してくるためでしょう。

攻撃対策はサービス提供と防御のトレードオフなので、閾値に問題が無いかは誰にも答えられません。CGNを使っているモバイルネットワークキャリアやproxy配下のクライアント台数の多い大企業からの接続も配慮しなければならないのであれば防御はある程度あきらめなければならないでしょう。逆にその手の利用者は無視してもかまわない、または防御が優先されるのであれば、厳しめの閾値にすればよいでしょう。

また、ネットワーク環境は日々変化していますので一度決めた閾値が未来永劫有効なわけではありません。状況に合わせて閾値を定期的に見直す運用は必要でしょう。見直すための判断基準、新しい閾値をどう設定するかもむろん環境次第です。

ただし、質問にあるような単純な「SYN
flood対策」は実際の攻撃にはほとんど無意味なので、本気で攻撃対策が必要なのであれば専門知識のある業者に運用も含めて相談されることをお勧めします。


CC BY-SA 3.0
2015-03-10T00:54:16.990
7682
2015-03-10T00:54:16.990
5793
7659
answer