wordpress(wp-login/admin.php)にBasic認証をかける方法[補足でcoreserver(コアサーバー)]

記事公開日:
最終更新日:

This post is also available in: English-US (英語)

今年に入って特にwordpressのハッキング攻撃がひどくなってきました。
wordpressのwp-login.phpやadmin.phpにBasic認証かけることで、簡易的にですがサイトのハッキングがされにくくなります。

wordpress(wp-login/admin.php)にBasic認証をかけるとwp-login.php(wordpressログイン画面)にアクセスした場合、画像のようにユーザー名とパスワードを要求されるようになります。

web_basic_auth

web_basic_auth

有名なハッキング方法には「辞書攻撃」と「総当たり攻撃(ブルートフォースアタック)」というのがあるらしいです。

「辞書攻撃」はwordpressユーザーが使っていそうなID/PASSを予想し辞書化して攻撃する。
「総当たり攻撃(ブルートフォースアタック)」は名前のとおり文字列の組み合わせを順番に試して攻撃する。

Basic認証のID/PASSはwordpressとは異なるものにしておく方が安全性が高まります。

また、「総当たり攻撃(ブルートフォースアタック)」への対抗手段として[Simple Login Lockdown]というプラグインがおすすめです。
別の記事[Simple Login Lockdownでログインできない時に解除する方法]で紹介しているので参考にしてみてください。

wordpressのwp-login.php/admin.phpにBasic認証かける

AuthUserFile    home/www/.htpasswd
AuthName    "Input UserName And Pass"
AuthType    Basic

<Files wp-login.php>
require valid-user
</Files>
 
<FilesMatch "\/?wp-admin">
require valid-user
</FilesMatch>
 
<Files wp-admin/admin-ajax.php>
Satisfy any
order allow,deny
allow from all
</Files>

# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

1.[.htaccess]ファイルをwp-login.phpと同じディレクトリに作成する。

2.上記のコードをコピペする。

3.[AuthUserFile]の[home/www/.htpasswd]の部分を、[.htpasswd]ファイルを置くルートディレクトリからのフルパスに変える。
例えば、さくらサーバーで[wwwフォルダ]の中に.htpasswdファイルを作る場合には[/home/(アカウント名)/www/.htpasswd]となります。

4.[.htpasswd]ファイルを[手順3]で指定した場所に作成する。

5.リンク先のツールでBasic認証の際に使用するID/PASSを入力し(この時に初めて好きなIDとPASSを決定する)、暗号化コードを生成する。
htpasswdファイル生成(作成):lufttools

6.こんな感じ→(w:dMVUvKsT2z78.)の生成されたコードを、.htpasswdファイルに貼り付け保存する。

7.ログイン画面(wp-login.php)や管理画面(wp-admin.php)にアクセスしてみて動作確認する。

もし、不具合が起こったりBasic認証を解除したい場合には[.htaccess]ファイルの上記のコピペしたコード部分を削除することで解決します。

coreserver(コアサーバー)を使っている場合

coreserver(コアサーバー)の場合、上記の[AuthUserFile]のフルパスを記述する部分が少しわかりにくいです。

アカウント名は[アカウント@サーバー]のアカウントの部分
フォルダ名は[public_html]以下、.htpasswdを作成した場所のフルパス

AuthUserFile    /virtual/アカウント名/public_html/フォルダ名/.htpasswd

参考サイト:
User:Hakre/Htaccess Auth Excludes « WordPress Codex
WordPressの管理画面とログイン画面にBasic認証を適用する.htaccessの記述 | Simple Colors

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。