WordPress管理画面にIPアドレス制限をかける方法(.htaccess)

投稿者 : OSCA

[PR] 関東地方の美しい夜景を観にいこう。 夜景サイト「夜景散歩」で夜景スポットを検索

 ホームページを作成するのにとても便利で、世界中に利用者が多いオープンソース・ソフトウェアの WordPress。 とても導入が簡単な半面、セキュリティには気をつけたいものです。 オープンソースであるということは、ソフトウェアの構成がバレているということ、WordPress の管理画面の URL は全く秘密になっていません。 本稿では WordPress の管理画面へのアクセスを .htaccess でIPアドレス制限をかけて、セキュリティ強度を高める方法について解説します。

WordPress の管理画面のURL

 まずはアクセス制限をかけるべき、WordPress の URL について確認します。 WordPress の管理画面にアクセスするためのログインページと、ログイン後の管理画面のURLは次のようになっています。

画面 パス
ログイン画面 /wp-login.php
管理画面 /wp-admin/~ (wp-admin フォルダ配下が全て管理画面)

 これらの画面にIPアドレス制限を掛ければ、例えば「会社からしか管理画面にアクセスできない」というような状態を作れます。 それによって、万が一ですが管理者アカウントがバレてしまったとしても、そもそも限られた場所からしか管理画面にアクセスできないので悪さができなくなります。

.htaccess の記述

 WordPress では、WordPress の設置ディレクトリに .htaccess ファイルが存在します。 ですので .htaccess にIPアドレス制限の記述を追記してあげれば良いでしょう。 <FilesMatch> ディレクティブで管理画面の URL と一致するページにIPアドレスによる制限をかけています。

<FilesMatch "wp-login.php|wp-admin">
  Order deny allow
  Deny from all
  Allow from xxx.xxx.xxx.xxx
</FilesMatch>

 アクセスされた URL に「wp-login.php」もしくは「wp-admin」という文字列を含んでいる場合に、このIPアドレス制限が発動するような設定です。 xxx.xxx.xxx.xxx の部分には、アクセスを許可したいIPアドレスを指定してください。 これで管理画面へアクセスできるIPアドレスが限定できます。

本手法が利用できないシーン

 本手法ではアクセスを制限するための基準としてIPアドレスを指定しました。 しかし次のような場合は、本手法を導入するのが難しいでしょう。

  • 管理者が所属する組織が、固定IPアドレスを持っていない。
  • 管理画面にアクセスするIPアドレス(ネットワーク)を限定できない。

 このような場合は、別の手法による制限を検討する必要があります。 次の記事などをご覧の上ご検討頂くのが良いかと思います。

WordPressのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca