質問: iptablesの設定はほぼこちらを参照したものです。 以下、SYN_FLOOD抜粋 ``` 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 ``` それなりに外部からアクセスがあるWEBサイトで このような設定を実施した場合、主に携帯会社のIPが引っかかってしまします。 そこでhashlimit-burstを10にしてみましたが、それでもいくらか引っかかりました。 引っかかったアクセスログを確認したところ、正常のURLへのアクセスをしているログが上がっているので、不正アクセスではないだろうと考えています。 ただ「携帯会社のIP」が目立つのは、携帯でのアクセスが多いだけの話かもしれません。 こういったケースで、 SYN FLOODの閾値が問題ないのかどうかどのように判断したらよいでしょうか? 携帯の接続不安定のために発生して問題ない範囲と考えられるのでしょうか?
回答: 携帯電話会社が引っかかるのは「携帯の接続不安定のため」ではなくNATやproxyにより多数の端末が少数のIPアドレスで接続してくるためでしょう。 攻撃対策はサービス提供と防御のトレードオフなので、閾値に問題が無いかは誰にも答えられません。CGNを使っているモバイルネットワークキャリアやproxy配下のクライアント台数の多い大企業からの接続も配慮しなければならないのであれば防御はある程度あきらめなければならないでしょう。逆にその手の利用者は無視してもかまわない、または防御が優先されるのであれば、厳しめの閾値にすればよいでしょう。 また、ネットワーク環境は日々変化していますので一度決めた閾値が未来永劫有効なわけではありません。状況に合わせて閾値を定期的に見直す運用は必要でしょう。見直すための判断基準、新しい閾値をどう設定するかもむろん環境次第です。 ただし、質問にあるような単純な「SYN flood対策」は実際の攻撃にはほとんど無意味なので、本気で攻撃対策が必要なのであれば専門知識のある業者に運用も含めて相談されることをお勧めします。