SOFTELメモ Developer's blog

【iptables】接続元IPごとのレート制限

2019/07/29 linux, network

問題

iptablesで、ソースIPごとに接続の頻度に制限をかけることはできるでしょうか。

答え

ipt_recent モジュール利用(iptables で ''-m recent'' というオプションを使えるようになる)

例)587番ポートに同じIPアドレスから頻繁に接続が発生することがあるのを制限したい。

1分間に10件までに制限する。頻度が基準値を超えたら拒否する。

iptables -A INPUT -p tcp --dport 587 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 10 --name 587 --rsource -j REJECT
iptables -A INPUT -p tcp -m tcp --dport 587 -m state --state NEW -m recent --set --name 587 --rsource -j ACCEPT

必要に応じて、事前にルール削除

iptables -F

ルール保存も忘れずに

service iptables save

メモ

ポート番号を22番にすれば、SSHのログイン試行ボット対策にも使えそうです。

hashlimit モジュールを使う手もあるようです。

関連するメモ

コメント