WordPress管理画面へのアクセス元IPを制限する|不正な接続元からのログイン防止

当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー

WordPressの管理画面へアクセスできる接続元をIPアドレスで制限することで、許可していないネットワークからのログインを防ぐことができる。

IDやパスワードが漏洩した場合でも、許可したIPアドレス以外からの接続を遮断できれば、不正ログインのリスクを低減する別の防御層となる。

固定IPの利用可否

IPアドレスによる制限では、WordPressの管理に使用するネットワークのグローバルIPアドレスをあらかじめ許可しておく。

固定IPを利用できる事務所や自宅など、管理する場所が決まっている環境では導入しやすい。

動的IPではアドレスが変更される可能性があり、変更後のIPが許可されていなければ自分自身も管理画面へアクセスできなくなる。固定IPを利用できない場合は、IP制限が実際の管理方法に適しているか判断する。

複数の拠点から管理する場合は、それぞれの固定IPを許可する方法もある。

IPアドレスを制限するレイヤ

IPアドレスによるアクセス制限は、WordPressだけでなく複数のレイヤで設定できる。

Cloudflareなどでの制限

CloudflareなどのサービスをWebサイトの前段で利用している場合は、そのアクセス制御機能を利用して管理画面への接続元IPを制限できる。

許可されていないIPアドレスからの通信をWebサーバへ到達する前に遮断できることが利点となる。

ホスティングサービス・Webサーバでの制限

ホスティングサービスが提供するアクセス制限機能や、Webサーバの設定を利用する方法もある。

Webサーバの設定では、環境によって .htaccess などによるIP制限を利用できる場合がある。ホスティングサービス独自のアクセス制限機能が用意されている場合もあるため、管理画面や公式マニュアルから利用できる方法を確認する。

この方法ではWordPressが処理を行う前に、許可されていない接続元を遮断できる。

WordPressでの制限

WordPressのセキュリティプラグインなどを利用し、接続元IPによって管理画面へのアクセスを制限する方法もある。

WordPress上から設定できるため導入しやすい一方、通信自体はWebサーバやWordPressまで到達する。利用するプラグインがどの範囲を制限するのか確認したうえで設定する。

複数レイヤでの制限

Cloudflare、ホスティングサービス・Webサーバ、WordPressなど、複数のレイヤでIP制限を併用することもできる。

例えばCloudflareで許可されていない接続を遮断し、Webサーバ側でも同じIP制限を設定しておけば、一方の設定不備や迂回経路が生じた場合に別のレイヤで補完できる。

一方、制限を重ねるほど設定変更やトラブル発生時の切り分けは複雑になる。固定IPを変更した場合も、それぞれの設定を更新する必要がある。

複数レイヤでの制限にはメリットがあるが、利用できる機能と管理負担を考慮して組み合わせる。

IP制限による影響

IPアドレスによる制限を行うと、許可していないネットワークからは管理画面へアクセスできなくなる。外出先やモバイル回線から管理する場合や、複数人・複数拠点で管理する環境では運用しにくい場合がある。

動的IPではアドレスの変更によって管理者自身がアクセスできなくなる可能性もある。設定前に固定IPの利用可否と、制限を解除する方法を確認しておく。

また、管理画面に関連するURLへWordPressやプラグイン、外部サービスから通信が行われる場合がある。/wp-admin/ などを一括して制限すると必要な通信まで遮断する可能性があるため、制限する範囲にも注意する。

IP制限は認証を置き換えるものではない。許可された接続元からの不正アクセスには対応できないため、パスワードや多要素認証などの対策と組み合わせる。

許可IPアドレスの設定

WordPressの管理に使用するネットワークのグローバルIPアドレスを確認し、許可する接続元として設定する。

複数の拠点や固定IPを持つVPNなどを利用する場合は、管理に必要なIPアドレスだけを追加する。

設定方法は制限するレイヤによって異なるため、利用しているサービスやソフトウェアの公式手順に従う。

設定後のアクセス確認

設定後は、許可したIPアドレスからWordPressの管理画面へ正常にアクセスできることを確認する。

そのうえでスマートフォンのモバイル回線など異なるIPアドレスから接続し、実際にアクセスが拒否されることまで確認しておく。

VPNサービスを利用すれば、接続先のVPNサーバを切り替えることで異なるIPアドレスからのアクセスを試すこともできる。異なる国・地域のVPNサーバを利用すれば、許可していないさまざまな接続元から管理画面へアクセスできないことを確認しやすい。

設定を誤ると管理者自身がアクセスできなくなるため、制限を解除する方法も実際に確認しておく。