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

Debian10にFail2banをインストールして設定する

インターネットからアクセスできるすべてのサーバーは、マルウェア攻撃のリスクにさらされています。たとえば、パブリックネットワークからアクセスできるアプリケーションがある場合、攻撃者はブルートフォース攻撃を使用してアプリケーションにアクセスする可能性があります。

Fail2banは、サービスログで悪意のあるアクティビティを監視することにより、ブルートフォース攻撃やその他の自動化された攻撃からLinuxマシンを保護するのに役立つツールです。正規表現を使用してログファイルをスキャンします。パターンに一致するすべてのエントリがカウントされ、それらの数が特定の事前定義されたしきい値に達すると、Fail2banはシステムファイアウォールを使用して問題のあるIPを特定の期間禁止します。禁止期間が終了すると、IPアドレスは禁止リストから削除されます。

この記事では、Debian10にFail2banをインストールして設定する方法について説明します。

DebianにFail2banをインストールする#

Fail2banパッケージは、デフォルトのDebian10リポジトリに含まれています。これをインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。

sudo apt updatesudo apt install fail2ban

完了すると、Fail2banサービスが自動的に開始されます。サービスのステータスを確認することで確認できます:

sudo systemctl status fail2ban

出力は次のようになります:

● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-03-10 18:57:32 UTC; 47s ago
...

それでおしまい。この時点で、DebianサーバーでFail2Banが実行されています。

Fail2ban構成#

デフォルトのFail2banインストールには、/etc/fail2ban/jail.confという2つの構成ファイルが付属しています。 および/etc/fail2ban/jail.d/defaults-debian.conf 。これらのファイルは、パッケージの更新時に上書きされる可能性があるため、変更しないでください。

Fail2banは、次の順序で構成ファイルを読み取ります。各.local ファイルは.confの設定を上書きします ファイル:

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Fail2banを構成する最も簡単な方法は、jail.confをコピーすることです。 jail.local.localを変更します ファイル。上級ユーザーは.localを作成できます 構成ファイルを最初から作成します。 .local ファイルには、対応する.confのすべての設定を含める必要はありません。 ファイル、上書きしたいものだけ。

.localを作成します デフォルトのjail.confをコピーして構成ファイルを作成します ファイル:

sudo cp /etc/fail2ban/jail.{conf,local}

Fail2banサーバーの構成を開始するには、jail.localを開きます。 テキストエディタでファイルする:

sudo nano /etc/fail2ban/jail.local

このファイルには、各構成オプションの機能を説明するコメントが含まれています。この例では、基本設定を変更します。

IPアドレスのホワイトリストへの登録#

禁止から除外するIPアドレス、IP範囲、またはホストをignoreipに追加できます。 指令。ここで、ローカルPCのIPアドレスと、ホワイトリストに登録する他のすべてのマシンを追加する必要があります。

ignoreipで始まる行のコメントを解除します IPアドレスをスペースで区切って追加します:

/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

禁止設定#

bantimefindtime 、およびmaxretry オプションは禁止時間と禁止条件を設定します。

bantime IPが禁止されている期間です。サフィックスが指定されていない場合、デフォルトで秒になります。デフォルトでは、bantime 値は10分に設定されています。ほとんどのユーザーは、より長い禁止時間を設定することを好みます。値を好みに合わせて変更します:

/etc/fail2ban/jail.local
bantime  = 1d

IPを恒久的に禁止するには、負の数を使用します。

findtime 禁止が設定されるまでの失敗回数の間の期間です。たとえば、Fail2banが5回の失敗後にIPを禁止するように設定されている場合(maxretry 、以下を参照)、これらの障害はfindtime内に発生する必要があります 期間。

/etc/fail2ban/jail.local
findtime  = 10m

maxretry IPが禁止されるまでの障害の数です。デフォルト値は5に設定されていますが、これはほとんどのユーザーにとって問題ないはずです。

/etc/fail2ban/jail.local
maxretry = 5
電子メール通知#

Fail2banは、IPが禁止されたときに電子メールアラートを送信できます。メールを受信するには、サーバーにSMTPをインストールし、デフォルトのアクションを変更する必要があります。これにより、IPのみが%(action_mw)sに禁止されます。 、以下に示すように:

/etc/fail2ban/jail.local
action = %(action_mw)s

%(action_mw)s 問題のあるIPを禁止し、whoisレポートを含む電子メールを送信します。関連するログをメールに含める場合は、アクションを%(action_mwl)sに設定します 。

送信メールアドレスと受信メールアドレスを変更することもできます:

/etc/fail2ban/jail.local
destemail = [email protected]

sender = [email protected]

Fail2ban刑務所#

Fail2banは刑務所の概念を使用しています。刑務所はサービスを説明し、フィルターとアクションを含みます。検索パターンに一致するログエントリがカウントされ、事前定義された条件が満たされると、対応するアクションが実行されます。

Fail2banには、さまざまなサービス用の多数の刑務所が付属しています。独自のjail構成を作成することもできます。デフォルトでは、sshjailのみが有効になっています。

刑務所を有効にするには、enabled = trueを追加する必要があります 刑務所のタイトルの後。次の例は、接尾辞jailを有効にする方法を示しています。

/etc/fail2ban/jail.local
[postfix]
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

前のセクションで説明した設定は、jailごとに設定できます。次に例を示します:

/etc/fail2ban/jail.local
[sshd]
enabled   = true
maxretry  = 3
findtime  = 1d
bantime   = 4w
ignoreip  = 127.0.0.1/8 11.22.33.44

フィルタは/etc/fail2ban/filter.dにあります jailと同じ名前のファイルに保存されているディレクトリ。カスタムセットアップと正規表現の経験がある場合は、フィルターを微調整できます。

構成ファイルを変更するたびに、変更を有効にするためにFail2banサービスを再起動する必要があります。

sudo systemctl restart fail2ban

Fail2banクライアント#

Fail2banには、fail2ban-clientという名前のコマンドラインツールが付属しています。 これを使用してFail2banサービスを操作できます。

使用可能なすべてのオプションを表示するには、-hを指定してコマンドを呼び出します。 オプション:

fail2ban-client -h

このツールを使用して、IPアドレスの禁止/禁止解除、設定の変更、サービスの再起動などを行うことができます。次にいくつかの例を示します。

  • サーバーの現在のステータスを取得します:

    sudo fail2ban-client status
  • 刑務所のステータスを確認してください:

    sudo fail2ban-client status sshd
  • IPの禁止を解除する:

    sudo fail2ban-client set sshd unbanip 11.22.33.44
  • IPを禁止する:

    sudo fail2ban-client set sshd banip 11.22.33.44

Debian
  1. Debian11にMariadb10をインストールして設定する方法

  2. Debian11にMongoDB5をインストールして設定する方法

  3. Debian11にRedis6をインストールして設定する方法

  1. Ubuntu20.04にFail2banをインストールして構成する方法

  2. CentOS8にFail2banをインストールして設定する方法

  3. Debian11にdockerをインストールして設定する方法

  1. Debian9にVNCをインストールして設定する方法

  2. Debian9にRedisをインストールして設定する方法

  3. Debian9にNagiosをインストールして設定する方法