サーバーに対する最も一般的な攻撃ベクトルのXNUMXつは、ブルートフォースログインの試行です。 これは、攻撃者がユーザー名とパスワードの無限の組み合わせを試みて、サーバーにアクセスしようとする場所です。
この種の問題に対して 最も速くて効果的な解決策は、試行回数を制限し、ユーザーまたはそのIPへのアクセスをブロックすることです。 一定期間。 このために、このタイプの攻撃から防御するために特別に設計されたオープンソースアプリケーションもあることを知っておくことも重要です。
今日の投稿では、 Fail2Banというものを紹介します。 もともと2004年にCyrilJaquierによって開発された、Fail2Banは、ブルートフォース攻撃からサーバーを保護する侵入防止ソフトウェアフレームワークです。
Fail2banについて
Fail2banはログファイルをスキャンします (/ var / log / apache / error_log) 悪意のあるアクティビティを示すIPを禁止します。 間違ったパスワードが多すぎたり、脆弱性を検索したりするなど。
一般に、 Fail2Banは、ファイアウォールルールを更新してIPアドレスを拒否するために使用されます 指定された時間の間、他の任意のアクション(たとえば、電子メールの送信)も構成できます。
LinuxへのFail2Banのインストール
Fail2Banは、主要なLinuxディストリビューションのほとんどのリポジトリにあり、より具体的には、CentOS、RHEL、Ubuntuなどのサーバーでの使用に最もよく使用されています。
Ubuntuの場合は、次のように入力してインストールします。
sudo apt-get update && sudo apt-get install -y fail2ban
CentosとRHELの場合は、次のように入力する必要があります。
yum install epel-release
yum install fail2ban fail2ban-systemd
SELinuxを使用している場合は、次のコマンドでポリシーを更新することが重要です。
yum update -y selinux-policy*
これが行われると、最初に、Fail2Ban構成ファイルが/ etc / fail2banにあることを知る必要があります。
の構成 Fail2Banは主にXNUMXつの主要なファイルに分けられます; これらはfail2ban.confとjail.confです。 fail2ban.confesは、次のような設定を構成できる、より大きなFail2Ban構成ファイルです。
- ログレベル。
- ログインするファイル。
- プロセスソケットファイル。
- ファイルpid。
jail.confは、次のようなオプションを構成する場所です。
- 防御するサービスの構成。
- 彼らが攻撃されるべきかどうかを禁止する期間。
- レポートを送信するための電子メールアドレス。
- 攻撃が検出されたときに実行するアクション。
- SSHなどの事前定義された設定のセット。
コンフィギュレーション
次に、構成部分に移ります。 最初に行うことは、jail.confファイルを次のようにバックアップすることです。
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
そして、nanoで編集を進めます。
nano /etc/fail2ban/jail.local
内部では、いくつかの調整を行うことができる[デフォルト]セクションに移動します。
ここ「ingoreip」の部分には、省略されるIPアドレスがあります そして、それらはFail2Banによって完全に無視されます。これは、基本的にサーバーのIP(ローカルIP)であり、無視する必要があると思われるその他のIPです。
そこから アクセスに失敗した他のIPは、禁止されます。 禁止される秒数(デフォルトでは3600秒)を待ち、fail2banは6回失敗した後にのみ機能します
一般的な構成の後、サービスを示します。 Fail2Banには、さまざまなサービス用に事前定義されたフィルターがすでにいくつかあります。 だから、いくつかの適応をしてください。 次に例を示します。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
関連する変更を加えたら、最終的にFail2Banをリロードして実行する必要があります。:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
これが完了したら、Fail2Banが実行されていることを確認するための簡単なチェックを行います。
sudo fail2ban-client status
IPの禁止を解除する
IPの禁止に成功したので、IPの禁止を解除したい場合はどうすればよいですか? これを行うには、以下の例のように、fail2ban-clientを再度使用して、特定のIPの禁止を解除するように指示します。
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
ここで「xxx…。」 指定したIPアドレスになります。