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

Debian10または11BullseyeにFail2banをインストールする方法

fail2banは、さまざまな悪意のある攻撃からシステムを保護するために使用するクライアント、サーバー、および構成ファイルのパッケージです。 Linuxサーバーサービスをサービス拒否(DoS)からも保護します。一方、その他の基本的な機能は、ログファイルの監視、事前定義されたパターンの検索、およびIPアドレスの一時的なブロックです。これはGNUGeneralPublic Licenseバージョン2で公開されており、Pythonに基づいています。

フォアグラウンドだけでなく、バ​​ックグラウンド(デーモンとして)でも実行できます。このプログラムは、たとえば、ログインの試行回数を制限したいsshサーバーで役立ちます。 fail2banプログラムは、システムのログファイルでログイン試行の失敗を調べてから、攻撃者のインターネットアドレス(IP)を一定期間ブロックします。

ここでは、Debian11BulleyesにFail2banをインストールする手順とその構成プロセスについて学習します。

Debian11へのFail2banのインストール

Fail2banをインストールおよび設定するためのパッケージは、公式のDebian 11リポジトリで入手できるため、インストールにはaptコマンドを使用するだけです。

まず、updateコマンドを実行してリポジトリキャッシュを再構築します-

sudo apt update

そして、このセキュリティツールを入手するためのメインコマンド-

sudo apt install fail2ban

上記のコマンドを実行すると、インストール後に次のプログラムを使用できるようになります。

  • fail2ban-server –サーバー
  • fail2ban-client –サーバーの構成と評価のためのクライアントプログラム
  • fail2ban-regex-正規表現をテストするためのプログラム

サービスを有効にしてステータスを確認する-

sudo systemctl enable fail2ban
sudo systemctl status fail2ban

Debian10/11での設定

fail2banは、拡張子が.confの構成ファイルタイプを読み取ります および.local 。拡張子が.confのファイル インストール中に作成され、パッケージのアップグレード中に上書きされます したがって、すべての変更は、対応する .localで行う必要があります ファイル。したがって、このファイルのデフォルトまたはグローバル設定とは異なる値のみを追加または変更してください。

Fail2banには、次の3つの構成ファイルタイプがあります。

/etc/fail2ban/action.d/*.conf/*
/etc/fail2ban/filter.d/*.conf/*
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf

Actions.d

ディレクトリ内のファイル/etc/fail2ban/action.d/ IPアドレスの(ブロックを解除する)コマンドが含まれています。アクションファイルには、[Definition]の2つのセクションが含まれています および[Init][Init]のエントリ セクションは、jailで定義されたルールを上書きするために使用されます。次の表の例は、 iptables-multiport-confから抜粋したものです。 アクション。すべてのコマンドは、fail2banユーザー権限で実行されます。

禁止されるIPv4アドレス。 カウントされた失敗した試行の数。
オプションの概要
エントリ 説明
[Definition]
actionstart fail2banの開始時に実行されるコマンド。 actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
actionstop fail2banを終了するときに実行されるコマンド。 actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
iptables -F fail2ban-<name>[[BR]]iptables -X fail2ban-<name>
actioncheck 各アクション禁止の前に実行されるコマンド。これらは、現在の環境の機能を確認するために使用されます。 actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'
actionban IPが禁止されたときに実行されるコマンド。条件は常にmaxretry 超過する必要があり、 findtime fall 不足しています。 actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
actionunban 禁止解除に使用するコマンド。 actionunban = iptables -D fail2ban-<name> -s <ip> -j <blocktype>
[Init]
name チェーンのデフォルト名 name = default
port ポート port = ssh
protocol 構成リーダーによって内部的に使用されます。可能な値:tcpudpicmpall protocol = tcp
chain fail2banルールを追加する必要があるiptablesチェーン。標準はINPUT chain =INPUT
アクションタグ アクションタグは、actionbanで使用できるプレースホルダーです。 、actionunban およびactioncheck
ip
failures
time 禁止のUnixタイムスタンプ(秒)。
matches 禁止につながるログファイルの行からの連鎖エントリ。多くのシェル文字がエスケープされています。

Filter.d

ディレクトリ内のファイル/etc/fail2ban/filter.d/ ログファイルを分析し、IPアドレスを抽出するため、または使用者が使用されている場合の正規表現が含まれています ホスト名。これらのファイルには、[Definition]の2つのセクションしかありません。 および[Includes] 。後者は、他の構成ファイルを読み取るために使用できます。

次の表の例は、 iptables-multiport-confから抜粋したものです。 アクション。すべてのコマンドは、fail2banユーザー権限で実行されます。

オプションの概要
エントリ 説明
[Definition]
failregex この正規表現を使用して、ログファイルでヒットが検索されます。タグはHOSTです ここで入手できます。
正規表現の一部として使用され、ホスト名またはIPアドレスが含まれます。
IPアドレスとホスト名の区別は、fail2banによって自動的に決定されます。
failregex =^%(__ prefix_line)sFAIL:\S+アドレスfrom= $
^%(__ prefix_line)sFAIL:\ S + libwrap from = $
ignoreregex 例外は、上記のfailregexに対して有効であったとしても、ここで定義できます。
ignoreregexは文字列補間をサポートしているため、%(variablenname)sで独自の変数を使用できます。 。
ignoreregex =
[INCLUDES]
before 設定したファイルの前にファイルを読み取るために使用します。
例はcommon.confです。
before =common.conf
after 設定したファイルの後にファイルが読み込まれます after =example_after.local
common.confを統合した後 _daemonです 利用可能です。
/etc/fail2ban/filter.d/common.confを参照 詳細については。
_daemon =xinetd

Jail.conf

一方、jail.conf ファイルはアクションを組み合わせたものです フィルターを作成しました 刑務所に。ユーザーはこのファイルを拡張子.locaで保存する必要があります l独自のルールの追加またはカスタマイズを開始します。

jail.conf 次の表に、デフォルトで可能な値の概要を示します。


オプションの概要
エントリ 説明
[DEFAULT]
ignoreip 無視するIPまたはネットワークのスペース区切りのリスト。 ignoreip = 127.0.0.1/8 192.168.1.33
bantime 禁止時間(秒単位)。負の値は永久的な禁止です。 bantime = 86400
findtime maxretryのカウンターがになるまでの秒数 リセットします。 findtime = 660
maxretry fail2banがIPを禁止するまでに失敗した試行の最大数。 maxretry = 2
backend systemdなどのバックエンドはここで設定できます。デフォルトはauto (推奨)。 backend = systemd
usedns fail2banの逆引き参照動作の設定。可能な値はyesです 、no およびwarn
後者は、ホスト名を含むエントリがログファイルに警告を表示することを意味します。これにより、多数のエントリが発生する可能性があります。
usedns = warn
[myJail] 刑務所の名前はここで割り当てることができます。 [ssh]
enabled (De-)は刑務所をアクティブにします enabled = true
port ポート定義。数値にすることができます。複数の値はカンマで区切られます。 port = ssh
filter = sshd フィルターファイルの名前 /etc/fail2ban/filter.d/sshd.conf
logpath フィルターがチェックされる監視対象のログファイル。 logpath = /var/log/auth.log
maxretry, bantime,... デフォルトオプションのさまざまな値も定義できます。 maxretry = 3


独自のJail構成ファイルを作成する

それでは、 jail.confをコピーしましょう。 jail.localを作成するためのファイル fail2banをアップグレードした後もそこに残るカスタム設定を追加するためのファイル。

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

さまざまな設定を構成するには、作成したローカルjailファイルを編集します

sudo nano /etc/fail2ban/jail.local

いくつかの例-

一部のIPアドレス、IP範囲、またはホストをホワイトリストに登録する

ここで、ファイルが開いたら、一部のIPアドレス、IP範囲、またはホストがFile2banサービスによってブロックされないようにホワイトリストに登録するとします。そのために、新しく作成された Jail.localでも同じように定義します。 ファイル。
参照 :Linuxコマンド端末でIPアドレスを確認する方法

ファイルで#igonreipを見つけます 行を削除してを削除します それから。その後、ホワイトリストに登録するIPアドレスまたは範囲を追加します。

Bantime、findtime、およびmaxretry

同様に、ファイルで指定されているbantimeオプションの値を変更することで、禁止されたIPアドレスの時間を増減することもできます。

[Default]

bantime = 10m

期間を短縮または延長するには、デフォルトの10分を任意の時間に変更するだけです。 IPアドレスをブロックするには、負の値を永続的に使用します。

maxretry

ブロックされるためにIPアドレスが実行した必要のある最大試行回数はいくつですか? デフォルトでは5であり、maxretryを使用して宣言されます jail.localのオプション ファイル。それを減らしたい場合は、たとえば、悪意のある2回の試行の後でのみ、IPがブロッカーを取得し、その数を5から2に変更します。同様に、最大試行回数を増やすこともできます。

maxretry = 5

findtime

これは、Fail2Banが特定のIPアドレスをブロックする前に、システム上の悪意のあるユーザーまたはログインに対して発生する必要がある最大の再試行の間の時間です。 、誰かがログインしようとしています。規定の10分間に5回試行すると、IPがブロックされます。ただし、 findtimeは変更できます この期間を増減する値。

findtime = 10m

Fail2banはメールアラートを送信できます

はい、一部のIPが禁止された場合、同じメール通知を受け取ることができます。ただし、通知の受信に使用するメールアドレスを有効にして定義する必要があります。

Sendmailのインストール- オープンソースのメール転送エージェント(MTA)

sudo apt install sendmail

ここで、 jail.localで実行する必要のある2つの重要な設定があります。 メール通知を受け取るためのファイル。

  1. 宛先メール –通知の取得に使用するメールアドレス。
  2. 送信者 –fail2banがメールを送信するメールアドレス。

したがって、ファイルで上記の2つの設定を見つけて、メールアドレスを追加します-

次に、以下の行を見つけます

action = %(action_)s

そして、次のいずれかで変更します-

action = %(action_)s –これは、一部のIPアドレスが禁止されたときに電子メール通知を送信します。

または

action = %(action_mwl)s –ログ情報を含む禁止されたホストIPの電子メール通知が必要な場合は、このアクションオプションを使用します。
さらに、UbuntuまたはDebianLinuxに最適な電子メールクライアントアプリのリストを確認できます。

Fail2ban刑務所ファイルでサービスを有効にする

先に述べたように、jail.localを作成するのは両方のアクションで構成されます およびフィルター これを使用して、デフォルトで許可されているサービスを無効/有効にしたり、独自のサービスを作成したりできます。

–デフォルトでは、SSHはFail2banのJail.localで有効になっています。

実際、Fail2ban Jailファイルには、それに付随する多くのサービスがあることがわかります。ただし、それらを使用できるようにする必要があります。または、独自に作成することもできます。

/etc/fail2ban/filters.dの下 すべての構成を表示できるフォルダフィルタ そこで利用可能な各Fai2ban刑務所サービスのファイル。

それらをオンにする方法を示す前に、有効な刑務所サービスが何であるかを確認しましょう-

sudo fail2ban-client status

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

Status
|- Number of jail: 1
`- Jail list: sshd

ここで、Jailサービスをオンにする場合は、enabled = trueを追加する必要があります。 jail.conf内 刑務所サービスのタイトルの後にファイルします。次の例は、 apache-authを有効にする方法を示しています 刑務所:

例-Fail2banApache-authサービスをオンにしましょう

jail.localを編集します 事前定義されたApache-Authを見つけます 刑務所サービス

保存 Ctrl + Xを使用したファイル 、 Y、 Enterを押すと キー。

Fail2banサーバーを再起動します

sudo systemctl restart fail2ban

、もう一度Fail2banクライアントを使用します 有効になっている刑務所サービスの数を確認するには-

sudo fail2ban-client status

今回の出力は-

Status
|- Number of jail: 2
`- Jail list: apache-auth, sshd

詳細を知るには サービスについては、上記のコマンドでその名前を使用してください-

sudo fail2ban-client status apache-auth

出力:

Status for the jail: apache-auth
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/apache2/error.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:

エラー:

次のエラーが発生した場合は、有効にする特定のサービスがシステムまたはサーバーにまだインストールされていないことを意味します。 たとえば、 Apache Jailを有効にしたが、Apache自体がサーバーで使用できない場合、この種のエラーが表示されます。

fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION

[6613]: ERROR Failed to access socket path: /var/run/fail2ban/fail2ban.sock. Is fail2ban running?

Fail2banクライアントの使用

Fail2banのクライアントコマンドツールを使用してさまざまなサービスを処理することもできます。それに関連するすべてのコマンドを表示するには、ヘルプフラグを使用できます-

fail2ban-client -h

一部のサービスの一部のIPを禁止または禁止解除するには、次の構文を使用します

禁止する

fail2ban-client set <JAIL-service> banip <IP>

禁止を解除するには

fail2ban-client set <JAIL-service> unbanip <IP>

例-

sudo fail2ban-client set sshd banip 192.168.0.6

エンディングノート-

つまり、これはDebian11Bullseyeまたは10BusterでのFail2banのインストールと設定の概要です。 Fail2banツールのドキュメントは広大ではありませんが、それでも見たい人は、公式Webサイトをチェックしてください。リンクは次のとおりです:プロジェクトページ、ドキュメント、ソースコードのGitHubページ


Debian
  1. Debian9にRをインストールする方法

  2. Python3.8をDebian11Bullseyeにインストールする方法

  3. Python3.9をDebian11Bullseyeにインストールする方法

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

  2. Debian 11(Bullseye)をステップバイステップでインストールする方法

  3. Debian11のインストール方法

  1. Debian11BullseyeディストリビューションにGIMPをインストールする方法

  2. Debian 11BullseyeDistributionにClonezillaをインストールする方法

  3. Debian 11にDockerをインストールする方法(Bullseye)