fail2ban

Linuxサーバーに対してSSHのアタックが増えてる今日この頃。。。

ポート番号を変更しても、総当りで応答があったポートに対して執拗にアタックが繰り返される。

数年前からFail2banを使って一定の期間に連続で接続失敗したら一時的にアクセスを禁止するようにしてるのだけど、1日で千件近くアタックされてる(--;)

間違って有効なIPを止めてしまう可能性もあるので、アクセス禁止時間をあまり長くしてないのだけど、バカなスクリプトしか組めない奴は永遠とアタックを繰り返してくる。

 ※ 賢いやつは止められた時点でダメと判断して次のIPを狙うんだけどねぇ

で・・・

Fail2banで恒久的に特定のIPを止められないものかとオプションを確認してみたがブラックリストを指定するようなオプションは存在しない・・・。

何か方法が無いかと探してたらこんなサイトがあった。 


Fail2Ban: Set a permanent ban per IP | mauromascia.com

 

簡単に言うとip.blacklistを作って、基本アクションのstartにiptablesのDROPにIPを追加していくコードを追加するだけ。

うん、これなら簡単に出来そう(^-^)

セグメント単位でも指定が可能

 

マルチポートのアクションに追加する場合

 touch /etc/fail2ban/ip.blacklist

   vi /etc/fail2ban/action.d/iptables-multiport.conf

    actionstart行をみつけて、一番最後に

 cat /etc/fail2ban/ip.blacklist | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done

 を追加する。

  service fail2ban restart

これでOK

後はアクセスを禁止したいIP(セグメント)をip.blacklistに1行づつ追加していくだけ(^^)

 

複数サーバーで同じブラックリストを利用したい場合はどこかで一元管理して定期的に更新するようなスクリプトを組めば良いのじゃないかと・・・

 

 

 

 

Fail2ban

Fail2ban

 

 

Fail2ban

Fail2ban

 

 

Fail2Ban: Sécurisez votre serveur et vos applications

Fail2Ban: Sécurisez votre serveur et vos applications