Fail2Banをインストールしました。
ISP IPを無視リストに追加したいのですが、IPが動的です。
Jail.confファイルでは、次のようになっています。
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS Host
ignoreip = 127.0.0.1
bantime = 600
maxretry = 3
私のDNSは次のようになります:12-123-112-223.zone6.myISPName.co.uk
無視リストにDNSワイルドを追加することは可能ですか?例:*.myISPName.co.uk
fail2banでは、ワイルドカードアドレスを使用できません。
いくつかの可能性があります:
1。除外するアドレスにダイナミックDNSを使用する
2。 fail2banルールの前に実行されるiptableの受け入れルールを記述します
3。 fail2banを設定するだけです
あなたのアドレスを無視するようにfail2banを設定する方法は?/etc/fail2ban/filter.d/
の中には、事前に作成されたフィルターがあります。ルールはすでにそれらの1つを使用しています(たとえば、filter = sshd
ではsshdフィルターを使用します)。
必要なフィルターを変更する(またはコピーを変更する)だけで、「除外」ルールが追加されます。
除外ルールはignoreregex
で始まります。それらは「一致」ルールとまったく同じように書かれています。 man fail2ban-regex
をご覧ください。
この例では、目的のフィルターにignoreregex .myISPName.co.uk
を追加するだけです。
ただし、これにより、同じISPから攻撃者も保護されます。
/ usr/local/bin/useripに簡単なスクリプトを作成します
#!/bin/sh
if [ ! -z $1 ]; then
who --ips | grep ^$1 | rev | cut -d' ' -f1 | rev | tail -n1
fi
最初の引数で渡されたログに記録されたユーザー名のIPアドレスを取得する
/etc/fail2ban/action.d/iptables-multiport.conf(またはiptables.conf)を編集します
actionban = [ ''$(userip YOURUSER) != '<ip>' ] && iptables -I fail2ban-<name> 1 -s <ip> -j DROP
sshでユーザー名YOURUSERでログに記録されるまで、fail2banはIPアドレスをブロックしません