[このページ](https://help.sakura.ad.jp/hc/ja/articles/206208121-iptables%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95)に「SYNflood攻撃と思われる接続を破棄する」ための設定として

```

    iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
    
```

と書いてありました。

しかし、この設定だと「新規接続なのにSYNパケットでないものはDROPする」という設定のように思えます。

SYNflood攻撃というのは[Wikipedia](https://ja.wikipedia.org/wiki/SYN_flood)によると、  
「SYNパケットを送信した後、返ってくるSYN-ACKパケットを無視して放置する」  
という攻撃方法のようなので、上記の「SYNパケットで無い」ものを対象にしているiptablesの設定と噛み合っていない気がします。

本当に、この設定はSYNflood攻撃の対処法になっているのでしょうか？

(hashlimitやsynクッキーを使うべきとかそういう話ではなく、単純にこの設定がSYNflood攻撃を想定していないように見えたという話です。)
CC BY-SA 3.0
2018-01-07T13:28:41.500
40799
2018-01-07T14:31:34.037
2018-01-07T14:31:34.037
25791
25791
question
linux centos ubuntu iptables
SYNflood攻撃とiptablesの設定について