現在、Asteriskを実行している新しいDebianサーバーでiptablesを使用しています。
毎日、auth.logでIPアドレスを確認し、手動でiptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP
を実行しています。
私は最初はIPアドレスだけを実行していましたが、多くのヒットが同様のIPアドレスから発生していたため、/ 24の方がうまく機能しており、/16を数回使用しました。
すでに何百ものiptablesエントリがあり、これは制御不能になっています!これを行うにはもっと簡単な方法があるはずです。
fail2banが推奨されていますが、特定の回数の試行の後、一時的にIPをブロックするようです。
私が目にする2つの主な侵入の試みは、誤ったユーザー名とランダムなポートを使用することです。
現在使用していないユーザー名でログインしようとした場合、IPアドレスを自動的に永久にブロックすることはできますか?使用されていないポートも同じですか?
私もこのようにたくさん見ます:
Did not receive identification string from (malicious IP) port 48334
それらのIPも禁止したいのですが。
ロックアウトする可能性のあるパスワードを指で触れたように、誤ったログイン試行を自動的にブロックすることはありません。しかし、おそらく3回の試行後のIPの永続的な禁止で十分です。
iptablesでこれを行うことはできますか?このように機能する「永続的な禁止」については何も見つかりませんでした。現時点ではもっと機能しているようです。
手動で行ってきたことを多かれ少なかれ達成したいと思います。 1回の間違ったユーザー名ログイン、1回の間違ったポート接続、または3回の間違ったログイン試行(正しいユーザー名で)の後、IP範囲を永続的にブロックします。これにより、auth.logがスパムされるのを防ぐことができれば幸いです。
承認された回答:
fail2ban
bantine
を設定することで、永続的な禁止を設定できます -1
へ
jail.conf
内
bantime = -1
これらは再起動時に失われますが、ボットネット内のpwnedホームマシンからの多くの試行が一時的なものになるため、必ずしも悪いことではありません…
永続性が必要な場合は、https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/がガイダンスを提供する場合があります。
基本的にfail2ban
を変更します 禁止されているすべてのIPの永続的な構成ファイルを作成し、再起動時にiptablesにこのリストをロードさせるconfig…
したがって、デフォルトのjail.conf
を確認すると デフォルトのアクションはiptables-multiport
であることがわかります。 。これは、構成ファイル/etc/fail2ban/ction.d/iptables-multiport.conf
に対応します。
次のエントリを追加できます:
[Definition]
# Option: actionstart
# Notes.: command executed once at the start of Fail2Ban.
# Values: CMD
#
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
| while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done
# Option: actionstop
# Notes.: command executed once at the end of Fail2Ban
# Values: CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
iptables -F fail2ban-<name>
iptables -X fail2ban-<name>
# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans
さて、fail2ban
エントリにフラグを立てて、/etc/fail2ban/persistent.bans
に行を追加します (actionban
経由 構成)。 fail2ban
の場合 起動すると、actionstart
が呼び出されます このファイルを読み取り、iptables
をビルドします 必要なルール。
もちろん、fail2ban
構成ファイルのいずれかを変更した後、再起動する必要があります。
このレシピの「arno0x0x」と彼のワードプレスサイトへのすべてのクレジット。