WordPressでbasic認証を導入する際の注意点

ブルートフォースアタックなどでWordpressの管理画面に不正ログインされる危険性があります(https://wpdocs.osdn.jp/%E3%83%96%E3%83%AB%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B9%E6%94%BB%E6%92%83)。

安全性を高める1つの手段として管理画面にbasic認証をかけ2重認証化することなどが考えられます。basic認証のために以下のような.htaccessファイルを設定したとします。

<Files "wp-login.php">
AuthUserFile .htpasswd
AuthGroupFile /dev/null
AuthName "Secret Area"
AuthType Basic

require valid-user
</Files>

この時wp-login.phpがbasic認証の対象ファイルとなっていますが、これによってWordpressの「パスワード保護記事機能」が使えなくなります。

「パスワード保護記事機能」は投稿する記事にパスワードを設定し記事単位で閲覧制限ができる機能です。 しかし、この機能ではパスワードを求めるformのaction先がwp-login.phpとなっているため、パスワード保護と同時にbasic認証も聞かれてしまいます。

解決法としては、パスワード保護記事機能を使わないか、管理画面のセキュリティ強化のためにSiteGuard WP Pluginなどのプラグインを導入することなどが考えられます。