GNU/Linux >> Linux の 問題 >  >> Debian

Debian – Ipアドレスを自動的に永久に禁止する方法は?

現在、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をビルドします 必要なルール。

関連:Mac –dd-wrtのcertianmacアドレスにIPを割り当てますか?

もちろん、fail2ban 構成ファイルのいずれかを変更した後、再起動する必要があります。

このレシピの「arno0x0x」と彼のワードプレスサイトへのすべてのクレジット。


Debian
  1. Debian 10(バスター)のインストール方法

  2. Ubuntu または Debian で更新プログラムの自動インストールを停止する方法 (無人アップグレード)

  3. iptables によってブロックされた IP アドレスを一覧表示するにはどうすればよいですか?

  1. Debian10でホスト名を変更する方法

  2. 静的IPアドレスを使用してDebianでOpenVPNを自動的に実行する方法

  3. Debianでvsftpdをセットアップする方法

  1. Python3.9をDebian10にインストールする方法

  2. Debian10にMemcachedをインストールする方法

  3. Debian10にTeamViewerをインストールする方法