『ブルートフォース防御ルールセット』の無償配布を開始
株式会社ディアイティさんでブルートフォース防御ルールセット 無償ダウンロードという興味深いものが公開されていたので、ダウンロードしてみました。
どんなものだろうと期待して中身を見てみると、READMEと"NetFilter Rule-Base.txt"というテキストファイルが入っているだけでした。なるほど、iptablesの定義ファイルのサンプルのようです。今どき、telnetやftpなんて使っている人は少ないと思うので、SSHに関する部分だけ見ていきましょう。
-A PACKET-CHECK -p tcp -m state --state NEW -m tcp --dport 22 -j SSH -A SSH_BRUTE -m recent --name ssh_block --set -j LOG --log-prefix "Brute-Force ( SSH) Block : " -A SSH_BRUTE -j REJECT -A SSH -p tcp ! --syn -m state --state ESTABLISHED,RELATED -j ACCEPT -A SSH -p tcp --syn -m recent --name ssh_block --update --seconds 86400 -j REJEC T --reject-with icmp-port-unreachable -A SSH -p tcp --syn -m recent --name ssh_conn --rcheck --seconds 60 --hitcount 5 -j SSH_BRUTE -A SSH -p tcp --syn -m recent --name ssh_conn --set -A SSH -p tcp --syn -j ACCEPT
なるほど、iptablesのrecentモジュールを使ったもので、1分間に5回以上接続に来たら、それから24時間はログに"Brute-Force"のメッセージを残してパケットを拒否するという設定になっています。また、拒否する際は、ICMPでport unreachableな応答を返すというわけですね。私は以前からこの設定はしてあったのですが、大変参考になりました。ありがとうございます。
ただ、ダウンロード形式で配布するのではなく、Web上に掲載するだけじゃダメなんですかね…










とり said
on 2008-02-02 11:39 p.m.
こんばんは
はじめまして。
本記事のブルートフォースのルールセットを実際に、使用されました?
私の環境で使用すると、SSHで接続している突然ターミナルがハングアップします。
CentOS 4.6
iptables-1.2.11-3.1.RHEL4
weboo said
on 2008-02-04 4:53 p.m.
本文にも書いてある通り、このルールセットは使っていません。
これが公開される前からipt_recentモジュールは設定してありましたので。
CentOSだったら、/etc/sysconfig/iptables に以下の2行を追加するだけでよいです。
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --rttl --name SSH -j DROP