WordPressの管理画面のセキュリティ対策にBASIC認証を設定しよう

WordPressのログイン画面へ対するブルートフォースアタックは最もポピュラーな攻撃です。

ブルートフォースアタックとは

ブルートフォースアタックとは、ありとあらゆるユーザーIDとパスワードを使ってログインを試みる手法です。ユーザーIDとパスワードの桁数が少なくて単純なほど突破されやすくなります。

BASIC認証とは

BASIC認証は設定が簡単な事から使われる事が多い認証方法で、BASIC認証がかかっているページにアクセスすると、ユーザーIDとパスワードの入力を求められます。

BASIC認証をかけるとユーザーIDとポップアップ入力を求められます。
アクセスするとユーザーIDとパスワードを求められます。

ブルートフォースアタックにBASIC認証が有効な理由

ログインURLを変更してもログイン画面は表示できる

まず、ログインURLを変更するという手法が手軽でメジャーだったりしますが、

サイトURL/wp-admin/

にアクセスしたら結局ログイン画面表示されてしまいます…。

サーバーに負荷がかからない

ブルートフォースアタックはユーザーとパスワードを何回もサーバーにリクエストされるので大量に来られるとデータベースにも負荷がかかってしまいます。

その点BASIC認証はログイン画面を表示する時点で認証画面を出して一度ブロックし、BASIC認証のユーザーID及びパスワードの送信はDBには送信されないので、サーバーにやさしいと考えられます。

htaccessと.htpasswdによるBASIC認証の設定

パスワードの生成

とりあえずBASIC認証のユーザー名とパスワードを記載した .htpasswdファイルを作成します。

BASIC認証は盗聴や改竄が簡単であるという欠点を持っていますが、これらを防ぐため、Digest認証というユーザ名とパスワードをMD5でハッシュ化して送る方法が考えられていますので、パスワードをMD5でハッシュ化した.htpasswdを作成します。

.htpasswsファイルを作成するジェネレーターは「MD5 BASIC認証 ジェネレーター」などで検索すれば出てきますが、今回はとりあえず
こちらのサイト(htpasswdジェネレータ)で説明します。

下記の画面で、[1]の部分にユーザー名とパスワード(半角英数字+記号)を入力して『暗号化』ボタンを押すと、[3]のようにすぐ下にユーザー名とパスワードが変換されたテキストが表示されます。

htpasswdジェネレーター画面

パスワードファイルのアップロード

次に htpasswd.txt などの名前のファイルを作成し、その中に[3]で表示されるテキストを貼り付けて
FTPなどでサーバーにアップします。

アップ先は本当は公開ディレクトリでない方が望ましいですが、よくわからなければ最初はWordPressをインストールしたディレクトリで結構です。

アップした後にファイル名を .htpasswd に変更します。

ログイン画面にBASIC認証をかける

次に ログイン画面にBASIC認証をかけます。
wp-login.phpがあるディレクトリにある .htaccess ファイルのバックアップをとった上で、.htaccessファイル(なければ新規作成)に下記を追記してアップロードします。

※ 必ず .htaccess ファイルのバックアップをとった上で行ってください。

サーバーのパス の部分は、公開URLではなくて、例えばffftpなどのFTPアプリケーションでサーバーに接続した時に表示されるパスです…が、サバーによってはそれとも違う場合もあります。

500 Internal Server Error が出る場合

ログイン画面にアクセスしようとして 500 Internal Server Error と表示されてしまう場合はサーバーパスが間違っている事が原因である可能性が高いです。サーバーパスがわからない場合は path.php というファイルを作成して、以下の内容を貼り付けてサーバーにアップしてください。

そして、公開URL/path.php をブラウザで表示するとサーバーパスが表示されますので、.htaccessに記載したサーバーパスとあっているか確認してください。

管理画面全体にBASIC認証をかける

次に管理画面全体(/wp-admin/)にもBASIC認証をかけます。
以下の内容を記載した .htaccess ファイルを作成して、 /wp-admin/ にアップします。

これで管理画面にアクセスしようとすると

管理画面を表示するためのIDとパスワードを求められます。

管理画面を表示するためのIDとパスワードを求められます。

設定していない方は是非設定してみてください。

Follow me!

Author Profile

石川栄和代表取締役
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
2018 WordCampOsaka セッションスピーカー
2017 WordCampKyoto セッションスピーカー
2016 WordCampTokyo LT
2016 WordCampKansai ハンズオン世話役
2015 WordCampTokyo セッションスピーカー
2015 WordCampKansai セッションスピーカー
2014 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCampTokyo セッションスピーカー(パネラー)
2013 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCrabFukui セッションスピーカー

初心者でも簡単!無料WordPressテーマ

100%GPL / 商用利用可能

Lightning は WordPress公式ディレクトリに登録されているカスタマイズ性の高いテーマです。
デモデータも配布されているので、ビジネスサイトの雛形が数分でセットアップできます。

VWSオンラインコミュニティー

有料ユーザー限定のオンラインコミュニティでは、より良いテーマ・プラグイン開発のため、機能改善・追加要望などの書き込み大歓迎です!
ユーザー同士の交流や意見交換の場としてもお気軽にご参加ください。