ホーム » コンピュータ » Linux » FireWall用のブラックリスト自動生成

システム

最近の投稿

  • この一週間の必需品
    6/22頃からの風邪の症状。鼻水と喉の痛みがあって、鼻スプレーと喉スプレーでだましだましの2週間。 […]
  • あづぃ…
    2F廊下温度35℃、WBGT30℃越え。 […]
  • gemini-cli 便利
    Gemini をコマンドラインから使えるツール gemini-cli が公開されている。 […]
  • LINE bot が動いていない… 月当たり最大数オーバー
    我が家では、以前より 自宅専用の LINE bot を動かしていて、サーバからの通知に使っていた。 […]
  • rkhunter の設定
    卒研のセキュリティの説明の中で rkhunter を紹介。説明してたら、自宅サーバにはサーバ機以降後に […]

アーカイブ

カテゴリー

FireWall用のブラックリスト自動生成

自宅サーバでは、FireWall を動かしているけど、アクセス履歴を見ると色々と怪しい接続が気になる。ある程度は LOG を確認して、FireWall の拒否リストを整理していたけど、自動化してみた。

FireWall では、主要なのは iptables で管理し、巨大な拒否リストになりそうなものは、ipset で拒否リストを作り、iptables から、その ipset を参照するようにしている。

GEOIPDENY により国ごと拒否

  • 国ごと拒否リスト make-geoip-deny.pl
    RIR の IPアドレス範囲と国ドメインのデータベースをダウンロードして、拒否リストを生成。かなり巨大なリストが作られる。
((更新状況を確認))
[root]# ./make-geoip-deny.pl -d | head
/usr/bin/wget -q -O - 'ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest'
/usr/bin/wget -q -O - 'ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest'
/usr/bin/wget -q -O - 'ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest'
/usr/bin/wget -q -O - 'ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest'
/usr/bin/wget -q -O - 'ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest'
ipset count before : 65658
ipset count merge : 26038
ipset count after : 39526

((FireWallの更新))
[root]# systemctl stop ferm && systemctl start ferm

25か国の接続を拒否しているけど、単純に RIR の情報だと 65658件のアドレスブロック。25か国のアドレスブロックで隣接しているアドレスブロックをマージして、26038件に減らせた。しかし、サブネットマスクに指定できるアドレスブロックに変換して、最終的に 39526 行の拒否リストが出来上がっている。

RIRのデータのダウンロードに時間がかかり30秒ほどかかるし、国に割り振られる IPv4 アドレスなんて変化も少ないので、気が向いた時に更新かな。

SMTPDENY と SSHDENY

  • SMTPの拒否リスト make-smtp-deny.pl
    SASL login を試す攻撃が多いので、/var/log/mail.log の履歴から、拒否リストを生成。
  • SSHの拒否リスト make-ssh-deny.pl
    ssh は、/etc/hosts.allow で、自分が使うネットワーク以外は接続を拒否して ssh 自身は既に守っているけど、接続を試すような相手はヤバイので ssh 以外すべての接続を拒否させる。/var/log/messages の履歴から生成。

怪しい接続をしてくる IP アドレスを抽出し、クラス C でグループ化して、数十回の接続履歴のあるものを抜粋して、拒否リストを生成している。それぞれ 30 行ほどの拒否リストとなった。

この拒否リストは、生成も1秒程度で生成できるので、cron.weekly にて更新。

 

Google 検索

My Google   Yahoo

Microsoft

ファンサイト