はじめに
Fail2ban は、ブルートフォース攻撃からサーバーを保護するソフトウェアです。これは、サーバーログを監視し、疑わしいアクティビティを検出することで行われます。
プログラムは、不当な数の失敗した試行があることを検出し、指定されたIPをブロックするiptablesに新しいものを自動的に追加します。このIP(またはホスト)は、指定された時間または無期限にブロックされます。
したがって、このログ監視ソフトウェアをインストールすることは、サーバーのセキュリティに別のレイヤーを提供するための優れた方法です。それでも、サーバーセキュリティ計画全体の一部にしかなれません。これらの21のサーバーセキュリティのヒントを使用して、より多くの対策を検討してください。
このチュートリアルでは、サーバーにFail2banをインストールして構成する方法を学習します。
前提条件
- コマンドラインへのアクセス /ターミナルウィンドウ
- sudoを使用したユーザーアカウントへのアクセス またはroot権限
Fail2banのインストール
Fail2banのインストール方法は、サーバーで実行されているオペレーティングシステムによって異なります。以下に、 UbuntuでFail2banをインストールして有効にするためのコマンドを示します。 、 CentOS 、 Fedora 、および Debian 。
重要: Fail2banは、iptablesなどのソフトウェアファイアウォールに代わるものではありません。これは別のセキュリティレイヤーとして意図されており、ファイアウォールの代わりにはなりません。
UbuntuにFail2banをインストールする
1.新しいパッケージを追加する前に、更新することが重要です システムリポジトリとアップグレード ソフトウェア。これを行うには、次のコマンドを実行します:
apt-get update && apt-get upgrade
y
を押します 確認してEnterを押します 。
2.これで、Fail2banをインストールできます と:
apt-get install fail2ban
3.オプションで、Sendmailをインストールできます メールサポートの場合:
apt-get install sendmail
4.次に、SSHアクセスを許可する必要があります ファイアウォールを通過:
ufw allow ssh
5.最後に、ファイアウォールを有効にします :
ufw enable
CentOSにFail2banをインストールする
1. CentOSにFail2banをインストールするには、EPELリポジトリが必要です。 。次のコマンドを実行して、システムを更新し、リポジトリを追加します。
yum update && yum install epel-release
2. EPELリポジトリを設定したら、Fail2banをインストールします。 コマンドを使用して:
yum install fail2ban
3.次に、Fail2banサービスを開始して有効にする必要があります。 起動時:
systemctl start fail2ban
systemctl enable fail2ban
4.メールサポートについては、Sendmailをインストールできます と:
yum install sendmail
5.Sendmailを開始して有効にする サービスの実行:
systemctl start sendmail
systemctl enable sendmail
FedoraにFail2banをインストールする
1.システムの更新から始めます :
dnf update
2.次に、Fail2banをインストールします およびSendmail (オプション、メールサポートが必要な場合):
dnf install fail2ban
dnf install sendmail
3.これらのサービスはFedoraで自動的に開始されないため、開始して有効にする必要があります。 それらと:
systemctl start fail2ban
systemctl enable fail2ban
systemctl start sendmail
systemctl enable sendmail
DebianにFail2banをインストールする
1.更新とアップグレード システム:
apt-get update && apt-get upgrade -y
yを押します および入力 確認します。
2.次に、Fail2banをインストールします コマンドを使用して:
apt-get install fail2ban
3.メールサポートについては、Sendmailをインストールすることもできます コマンドの使用:
apt-get install sendmail-bin sendmail
Fail2banの構成
次の構成ファイルを編集して、Fail2banを構成します。
- fail2ban.localファイル
- jail.localファイル
fail2ban.localファイルを構成する
Fail2banは、そのグローバル構成を fail2ban.confで定義します ファイル。このファイルはデフォルト構成で構成されており、通常、変更することはお勧めしません。
構成へのすべての変更は、別の fail2ban.localで行う必要があります ファイル。
1.したがって、最初に行うことは、 .confのコンテンツをコピーすることです。 .localにファイルします ファイル。そのためのコマンドは次のとおりです。
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
2.このコマンドの後に出力はありません。次のステップは、選択したテキストエディタを使用してfail2ban.localファイルを開くことです。
nano fail2ban.local
3.次の画像のようなファイルが表示されます。
この例では、青色のコメントが各オプションとその可能な値を説明しています。白い線は変更可能なオプションであり、次のものが含まれます。
ログレベル
–ログレベルの出力をCRITICAL、
に設定しますエラー
、警告
、通知
、情報
、またはDEBUG
。-
logtarget
–ログターゲットを設定します。これはFILE
のいずれかです。 、SYSLOG
、STDERR
、またはSTDOUT
。 -
syslogsocket
–syslogソケットファイルをauto
に設定します またはFILE
(これは、logtarget
の場合にのみ使用されますSYSLOG
に設定されています ) ソケット
–デーモンとの通信に使用するソケットファイルを設定します。このファイルを削除しないように注意してください。デフォルトのパスは次のとおりです:/var/run/fail2ban/fail2ban.sock
-
pidfile
–fail2banサーバーのプロセスIDを保存するために使用されるPIDファイルを設定します。デフォルトの場所は次のとおりです:/var/run/fail2ban/fail2ban.pid
jail.localファイルを構成する
変更が必要になる可能性のあるもう1つのFail2ban構成ファイルは、 jail.confです。 アクション付きフィルターを定義するjailを含むファイル。
グローバル構成と同様に、 jail.config ファイルを直接変更しないでください。代わりに、すべてのカスタマイズは jail.localで行う必要があります ファイル。
1.変更が必要な場合は、 .confのコンテンツをコピーします .localにファイルします ファイル:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2.選択したテキストエディタでjail.localファイルを開きます:
nano jail.local
3.次のコンテンツが表示されます。
そこで、次のオプションを設定できます。
無視する
–値true
を設定して、ローカルIPアドレスを無視するかどうかを指定しますコード> (デフォルト)または
false
。-
ignoreip
–禁止する必要のあるIPアドレス、CIDRマスク、またはDNSホストを指定できます。複数のアドレスをスペースで区切ります。 -
ignorecommand
–path / to / command
を定義します 無視する必要がある場合。
バンタイム
–ホストが禁止される秒数を指定します(デフォルトは600
です) )-
maxretry
–ホストが禁止されるまでに許可された障害の数(デフォルトでは5
に設定されています) 。 -
findtime
–ホストがmaxretry
を使い果たしてはならない時間 禁止されないようにするための番号(通常は10
に設定されます 分)。たとえば、ホストが10分間に5回失敗した場合、600秒間禁止されます。
バックエンド
–ファイルの変更を取得するために使用されるバックエンドを指定します。 CentOSまたはFedoraを使用している場合は、バックエンドをsystemd
に設定する必要があります 。デフォルト値auto
他のオペレーティングシステムには十分です。-
[ssh]
–デフォルトでは、Fail2banには有効なjailがありません。したがって、構成ファイルにjailを追加して、これを手動で行う必要があります。たとえば、コメントを解除する(#
を削除する)ことで、SSHデーモンのjailを有効にできます。 )行[ssh]
およびenabled =true
。
-
destemail
–通知を受信するメールアドレスを指定します 送信者
–通知を受信する場所からの電子メールアドレスを定義します
追加のjail.local構成
SSHやiptablesなど、jail.localファイルで追加の構成を設定することもできます。これらのオプションは次のとおりです。
禁止
–maxretry
のときに使用されるデフォルトのアクションを指定します 到達しました。-
banaction_allports
–すべてのポートでブロックする必要があるIPにラベルを付けることができます。 ポート
–値は設定されたサービスに対応している必要があります。これはssh
である可能性があります またはポート番号(代替ポートを使用している場合)。フィルター
–/etc/fail2ban/filter.d
にあるfailregex情報を含むファイル名 。
サービスを再開する
fail2ban.localに変更を加えた場合 およびjail.local ファイルについては、必ずfail2banサービスを再起動してください。
fail2banサービスを再起動するには 新しい構成で、次のコマンドを実行します:
service fail2ban restart