ブルートフォースアタックから、我がWebサイトを守り抜け!Fail2Ban導入記🔥
WordPressでブログを始めるには、PHPという魔法の呪文…じゃなくてプログラミング言語が必要不可欠!今回は、サードプレイスから愛を込めて、VPSサーバーにPHPをインストールする方法を、まるでRPGのクエストのようにご紹介します。
ブルートフォースアタックって、一体何フォース?(総当たり攻撃解説)
GPT君も「マジおすすめ!」って言ってた、Fail2Ban。今回は、そんなFail2Banで対策するブルートフォースアタックについて、掘り下げて解説しちゃいます。
ブルートフォースアタック…なにやら強そうな名前ですが、要は「パスワード、全部試したるわ!」っていう、力任せな攻撃方法のこと。日本語では「総当たり攻撃」とも呼ばれています。
例えるなら、宝箱の鍵を一つずつ試していく泥棒みたいなもんですね。地道だけど、意外と成功しちゃうのが怖いところ…
Fail2Ban、君に決めた!どんな活躍をしてくれるの?
「Fail2Ban」は、そんなしつこい泥棒(=ブルートフォースアタック)を撃退してくれる、頼れる用心棒みたいな存在です!
不審なログイン試行を繰り返す輩を見つけると、「こいつ、怪しい!」と判断して、一時的にアクセスを遮断してくれるんです。
これで、あなたのWebサイトは安全…と言いたいところですが、Fail2Banはあくまでも「時間稼ぎ」の役割。油断は禁物ですよ!
Fail2Ban、いざインストール!
さあ、Fail2Banをインストールして、Webサイトを守ってもらいましょう!ターミナルを開いて、以下の呪文…じゃなくてコマンドを入力!
sudo apt-get update
sudo apt-get install fail2ban
これでFail2Banがインストールされます。簡単ですね!
設定ファイルを開いて、Fail2Banをカスタマイズ!
インストールが終わったら、Fail2Banの設定ファイルを開いて、自分好みにカスタマイズしましょう!
おっさんは、安定のnanoエディター派!Vimは…いつか使いこなせるようになりたいなぁ(遠い目)。
設定ファイルは、通常以下の場所にあります。もし違ったら、ご自身の環境に合わせて変更してくださいね。
sudo nano /etc/fail2ban/jail.conf
Fail2Ban設定、いざ開始!
設定ファイルを開いたら、以下の項目を編集して、Fail2Banの性能を最大限に引き出しましょう!
ignoreip: 信頼できるIPアドレスbantime: アクセスを制限する時間(秒)maxretry: 何回失敗したらアウト?ログイン試行回数
ignoreipには、普段自分がWebサイトにアクセスするPCのIPアドレスを設定しておくと、設定ミスで自分が締め出される悲劇を防げます。ただ、セキュリティ意識の高いあなたは、あえて設定しない…という選択もアリですね!
設定例:
ignoreip = 127.0.0.1/8 ::1
bantime = 3600
maxretry = 3
この設定例だと…
- IPアドレス「127.0.0.1/8」と「::1」からのアクセスは無条件で許可!
- ログインに3回失敗したら、問答無用で3600秒(1時間)アクセス禁止!
…という感じになります。bantimeやmaxretryの値は、Webサイトの特性に合わせて調整してくださいね。
設定を保存して、Fail2Banを再起動!
設定が終わったら、忘れずに設定ファイルを保存して、Fail2Banを再起動しましょう!
sudo systemctl restart fail2ban
これで、新しい設定がFail2Banに反映されます。
セキュリティ対策は、Webサイト運営の基本!
せっかく作ったWebサイトが、ブルートフォースアタックで破壊されたら、目も当てられませんよね。Fail2Banを導入して、安心・安全なWebサイト運営を実現しましょう!
…とは言え、Fail2Banはあくまでも対策の一部。パスワードを複雑にしたり、二段階認証を導入したり、他のセキュリティ対策も忘れずに行うようにしてくださいね!