SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

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

問題

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 モジュールを使う手もあるようです。

関連するメモ

コメント