• RSS

[WP]管理画面のログインURL(wp-login.php)にBasic認証を設定する方法

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

WordPress の管理画面ログインURL(wp-login.php)へのアクセスに対して、Basic 認証をかける方法のご紹介です。

この手のセキュリティ対策には、「WP Admin Basic Auth」という便利なプラグインもあるのですが、今回はプラグインは使わず、自前で.htaccess と .htpasswd を編集して、管理画面へのアクセスに対してBasic 認証をかける方法になります。

※以前に 特定のファイルを閲覧禁止にしたり、ベーシック認証をかける方法 の記事で紹介させていただいた方法を使いますので、こちらも合わせて参考にしていただければと思います。

.htaccess ファイルの編集

WordPress のインストール後、管理画面からパーマリンク設定を終えると、
サーバーに.htaccess ファイルが生成されると思います。
htaccess

この.htaccess をエディタで開いてみると、以下のような記述がありますので、
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

この記述の前後どちらでも良いので、以下のコードを追加します。
<Files wp-login.php>
AuthUserFile /[.htpasswdファイルまでのパス]/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
</Files>
<Files wp-login.php> で、wp-login.php へのアクセスに対して認証を行う設定にしています。


.htpasswd ファイルの作成

続いて.htpasswd ファイルの作成ですが、.htaccess Editor というサービスを使えば、簡単に.htpasswd を生成することができます。
.htaccess Editor


ユーザーIDが「sample」、パスワードが「sample」の例だと、このような記述になりますので、
sample:ZiSW0lY3nUHpU

テキストエディタを開き、生成された.htpasswd をコピーして、「htpasswd.txt」などの名前で一旦保存します。

あとは、Filezilla などのFTPクライアントソフトを使って htpasswd.txt をサーバーへアップしてから、「.htpasswd」とリネームします。


管理画面をBasic 認証で保護する理由

今回の施策は、wp-login.php に限定したBasic 認証ですので、一般のユーザーがブログを閲覧する上での影響はありません。

もちろん、Basci 認証後にwp-login.php ページでWordPress のユーザーアカウントによるログイン認証も行いますので、外部からの攻撃に対して二重ロックをかけることができる訳です。

ユーザーアカウントとは異なるアカウントでBasic 認証を設定することで、より強力に保護できるようになると思いますので、セキュリティ対策の一環として是非取り入れたいですね。



  • このエントリーをはてなブックマークに追加
  • follow us in feedly

コメント

コメントを残す