- æ¥æï¼ 2014/04/20 07:44
- ååï¼ begin
- すみません、少々急ぎなので、どなたかご教示いただけませんでしょうか?
うまくいかずに困っています。
■実現したいこと ブルートフォース攻撃対策で「60秒間に5回以上sshアクセスしてきたら、その後正しいID/PWでアクセスでも、送信元が同一IPなら10分間アクセス拒否」とする
■質問 URL(http://www2s.biglobe.ne.jp/~nuts/labo/inti/ipt_recent.html)を参考に、 下記iptables設定をして見たのですが、 teratermで60秒間に5回以上sshアクセスして6回目試行後、 「サーバに次の理由で切断されました. 'Too many authentication failures for [ユーザID]」 とポップアップが表示されても、 「/proc/net/xt_recent/sshconn」にアクセス元IPが記録され、 「/proc/net/xt_recent/badSSH 」に記録されず、即再試行可能です。
どのようにすれば、上記のようにアクセスされた場合、「/proc/net/xt_recent/badSSH 」に記録され、 任意の時間(今回は600秒間)アクセス禁止にできるでしょうか? ログでも「evil SSH user: 」と記録され、識別できるようにしたいのですが。 messegeログでも特に「evil SSH user: 」は見当たりませんでした。
■環境 RHEL6.2~6.5 CentOSの同バージョンになる可能性あり
iptables-1.4.7-4.el6.x86_64
■iptables設定 *filter :INPUT ACCEPT [1:40] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1:172] :SSH - [0:0] :SSH-evil - [0:0] -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SSH -A SSH -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state RELATED,ESTABLISHED -j ACCEPT -A SSH -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 600 --name badSSH --rsource -j REJECT --reject-with icmp-port-unreachable -A SSH -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 60 --hitcount 5 --name sshconn --rsource -j SSH-evil -A SSH -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name sshconn --rsource -A SSH -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT -A SSH-evil -m recent --set --name badSSH --rsource -j LOG --log-prefix "evil SSH user: " --log-level 7 -A SSH-evil -j REJECT --reject-with icmp-port-unreachable COMMIT
|