【AWS WAF】WordPress管理者画面への海外からのアクセスブロックを設定する方法

こんにちは!CODE CLUB965のKです!

今回は、WordPressの管理者画面への海外からのアクセスを制限する方法について書こうと思います。

管理者側へのアクセス制限は通常であれば、海外からアクセスすることはないと思うのでセキュリティ上やっておくことをおすすめします。

また、プラグインでも海外IPの制限はできるものもあるので、そちらで対応しても構いません。

今回はAWSのWAFを使用して制限する方法を書きます。

設定の手順

  1. まずAWSにログインし、コンソールのサービスからWAFを検索して「WAF & Shield」を選択します。
  2. サイドメニューの[Web ACLs]をクリックします。
  3. リージョンを選択します。(おそらく、Asia Pacific(Tokyo))
  4. [Create web ACL]をクリックします。
  5. 以下の画像のように名前などを入力します。
  1. [Add AWS resources]をクリックします。
  2. 以下の画像のように、作成しているALBを追加します。
  1. [Next]で次のページへ移動します。
  2. Rulesの[Add rules]の[Add my own rules and rule groups]をクリックします。
  3. Rule typeは、[Rule builder]を選択します。
  4. Nameは適用な名前を入力し、Typeは「Regular rule」を選択します。
  5. 以下の画像のようにルールを設定します。
    各ルールは以下の通りです。
    Statement1(日本以外のIP)かつStatement2(WPの管理画面へのアクセス)だった場合にブロックされ403エラーとなります。
    ・Statement1は、日本以外のIPだった場合ブロックするというルールです(NOT条件)
    ・Statement2は、管理画面のURLを指定します
     ※ ここではURLを直接指定しています。WPの管理画面URLを変更して、そのURLからしかアクセスでいないように設定しているためです。場合によっては正規表現を使った方がいい場合があるので状況に応じて、ここのルールは変更して下さい。
  1. Actionは、[Block]を選択し、Nextをクリックします。
  2. 作成したルールを追加しNextをクリックします。
  1. あとはデフォルト設定のまま(一応確認しながら進めて下さい)進め、[Create web ACL]をクリックします。
  2. 以下のように追加されていればOK

最後に

最後に問題ないか動作確認して下さい。

動作確認は海外の人にアクセスしてもらったり、VPNを使ったりといろいろ方法はあるようです。
Cloud9からcurlを使って海外リージョンからアクセスする方法もあるようです。
ここは、各々調べて確認して下さい。

それでは、また!

Follow me!