.htaccessでWordPressの管理画面にBasic(ベーシック)認証を設定

[Sponsored Links]

WordPressで作成されているサイトで、初期設定の状態のままならドメインの後ろに
/wp-adminでアクセスしたときWordPressの管理画面へのログイン画面が表示されてしまいます。

誰でもアクセスできる状況は良くないので、ベーシック認証やアクセス制限をかける方法を記載します。今回はいずれもドキュメントルート直下の.htaccessを使って設定を行います。

今回の環境は

  • webサーバはapache
  • webサーバで.htaccessの使用が許可されていること
  • OSは Linux(Amazon Linux)

を前提としています。

Basic(ベーシック)認証

1. Basic認証用ファイルの準備

以下のコマンドで認証に利用するユーザとPWのファイルを新規作成します。

1.$ htpasswd -c /var/www/secure/.htpasswd username
2.New password:
3.Re-type new password:
4.Adding password for user username

コマンドが使えない場合は.htpasswdファイル生成(作成)で作成可能。

2 .htaccessへの記載

.htaccessに以下を追記。

1.<Files wp-login.php>
2.AuthName "Please input ID & PW"
3.AuthType Basic
4.AuthUserFile /var/www/secure/.htpasswd
5.Require valid-user
6.</Files>

AuthUserFileに認証用ファイルを指定します。
任意の場所でOKですが、公開ディレクトリ以外の場所に設置します。

3. Webサーバ再起動

修正を反映するためwebサーバを再起動します。

1.$ sudo /etc/init.d/httpd restart

これでBasic認証が適用されました。
よりセキュリティ的にベターな設定として、アクセス制限があります。

アクセス制限

.htaccessに以下を追記。

1.<Files wp-login.php>
2.order deny,allow
3.deny from all
4.allow from XX.XX.XX.XX
5.</Files>

XX.XX.XX.XXは自分のIPアドレス。

いつもアクセス元が決まっていて、固定IPの場合は、アクセス制限も
併用すると良いかと思います。

まとめ

併用すると.htaccessはこんな感じ。

1.<Files wp-login.php>
2.order deny,allow
3.deny from all
4.allow from XX.XX.XX.XX
5.
6.AuthName "Please input ID & PW"
7.AuthType Basic
8.AuthUserFile /var/www/secure/.htpasswd
9.Require valid-user
10.</Files>

アクセス制限は、WordPressの管理画面へのアクセスができるIPアドレスを固定するので、
スマホやカフェで作業したりする人は、IPアドレスが変わるので、Basic(ベーシック)認証だけでOKですね。

今回は、WordPressの管理画面へのアクセスまわりのセキュリティでしたが、
管理画面へのログイン時のセキュリティを強化するGoogleの2段階認証を用いたものもなどありますのでコスパが良いものはまた記載したいと思います。

ちなみに今回のBasic認証を簡単に設定できるWordPressのプラグイン「WP Admin Basic Auth」があります。こちらを使用するともっと簡単に設定できそうですね。

WordPressだとやりたいことをまずプラグインで探してみるとたいてい見つかるかもしれないですね。

  • このエントリーをはてなブックマークに追加
[Sponsored Links]

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です