[WP] 管理画面へBASIC認証を追加

medium_10086117975
photo credit: Defence Images via photopin cc

先日二重認証を行ったがブルートフォースアタックはまだあるみたいなのでBASIC認証も行うようにしてみた。

BASIC認証用のID/パスワードファイルを作成・設置

[ .htaccess ファイルを簡単作成「.htaccess Editor」 ]
.htaccess Editor のサイトで .htaccess ファイルも作成できるので便利。

パスワードファイルを置く場所はサイトからアクセスできない場所が望ましい。
さくらインターネットであれば、/home/ユーザー名/www/ 以下がサイトで利用する場所なので、www ディレクトリと同じ階層にディレクトリを作成してその中にパスワードファイルをアップロードすればよい。


wp-admin ディレクトリをBASIC認証の対象にする

htaccess Editorでパスワードファイルを作成時にきちんとパスワードファイルのアップロード場所まで確定しているのであれば、htaccess Editorで作成された .htaccess ファイルをそのまま wp-admin フォルダにアップロード。

.htaccess ファイル例

AuthType Basic
AuthName "Secure Area"
AuthUserFile "/home/xxxx/.htpasswds/passwd"
require valid-user

設置後管理画面にアクセスすると認証用のダイアログが出ると思うのでパスワードファイル作成時のID と パスワードでログインできればOK。


wp-login.php を BASIC認証の対象にする

WordPressのログイン画面も認証するように。
Wordpress設置時に作成された .htaccess ファイルに上記のwp-adminのBASIC認証と同じ認証するように追加する。


<FilesMatch "wp-login.php">
AuthType Basic
AuthName "Secure Area"
AuthUserFile "/home/xxxx/.htpasswds/passwd"
require valid-user
</FilesMatch>

これで管理画面へログインする際に、BASIC認証 → WordPressログイン という二段構えになる。

参考サイト:[ WordPress の wp-login.php をブルートフォースアタックから守る | Web Design Leaves ]