iptables... IPで設定されたipsetをフラッディングせずに範囲をブロックする

iptables... IPで設定されたipsetをフラッディングせずに範囲をブロックする

私の IPS 197.192.xx 範囲は、毎日 POP/IMAP/SMTP サーバーにブルート フォース攻撃を仕掛けています。

私のサーバーにハッキングしようとするすべての IP をブロックする ipset を導入しています。

197.192から始まるすべてのIPのpop/smtp/imapのアクセスをブロックしたい

これを実行するには、次のコマンドを入力しました。

ipset -A myIpset 197.192.0.0/24

しかし、これにより 65536 個の IP が IPset に追加され、サイズが大きくなり、これ以上 IP を追加できなくなりました。

これをもっとエレガントに行う別の方法はありますか?

答え1

ブロックする別の ipset (今回はタイプ ) を追加し、その ipset に 197.192.0.0/16 を追加できます。または、は IP アドレスも保存できるため(ネットマスク 32) hash:net、 ipset を タイプの 1 つに置き換えます。hash:nethash:net

hash:ipからに変換するにはhash:net:

 ipset save myIpset > myIpset &&
   ipset destroy myIpset &&
   sed s/:ip/:net/ myIpset | ipset restore &&
   ipset add myIpset 197.192.0.0/16

答え2

そのために ipset を使用する必要はありません。iptables を使用すると、ネットワークをかなり簡単に一致させることができます。

iptables -I INPUT -s 197.192.0.0/16 -p tcp --dports smtp,imap,pop3 -j DROP

または類似。

ところで、虐待を報告しましたか?[メールアドレス]AfriNIC Whois でリクエストされたとおりですか? 試してみる価値はあります...

関連情報