Basic認証覚えたてホヤホヤのところで1日寝たら忘れてしまう人間なので不安が残った。
立て続けに設定する機会があったので忘れないようにメモる。
概要
検証環境などを一時的に関係者以外閲覧できないようにするための簡単な認証方法のひとつ。
簡単すぎる代償にセキュリティ面で問題があるらしいのでその点は頭の隅に入れておく。
設定方法
Basic認証の下準備
sudo su -
cd /etc/nginx/mod.d/
/etc配下のnginxディレクトリにはnginxの設定ファイルが格納されている。
cp wp.commonset{,.bak-yyyy-mm-dd}
編集前にバックアップを取っておく。大事な意識。
vim wp.commonset
------------------------------------------------------
[編集画面]
# auth_basic "Secret Area";
# auth_basic_user_file "/var/www/vhosts/.htpasswd";
↓
auth_basic "Secret Area";
auth_basic_user_file "/var/www/vhosts/.htpasswd";
上記のコメントアウトを外す。
こうすることで、これから.htpasswdに記載する情報を入力した場合にのみBasic認証を通り該当ページを閲覧可能になる。
IDとPassの作成
生成したIDと各種パスワードは控えておく。
.htaccess による認証用パスワード暗号化ツール
Basic認証用のパスワードを暗号化してくれるサイト。
IDは適当で自分がわかるものを考える。
入力して生成後ちょっと下にいくと
作ってもらえる。便利。
Password Generator
Passwordは以下の自動生成ツールを使用。
文字数16文字にチェックを入れてGenerateし好きなものを選ぶ。
vim /var/www/vhosts/.htpasswd
-------------------------------
[編集画面]
hogehoge:sK9MKFtk8yqkc
先ほど生成した暗号化されたIDとパスワードを.htpasswdファイルに記入。
nginxの確認
nginx -t
nginxの構文チェック
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
こんな感じで返ってきたらOK
systemctl restart nginx
nginxを再起動する
番外編:WPの自動アップグレードを無効化
サーバ上でWordPressを動かしている場合
wp-config.php
を開き
define('AUTOMATIC_UPDATER_DISABLED', true);
をファイルの最下部に追記。
自動アップグレードを無効化して、「突然プラグインが使えなくなった」など今後起こる可能性があるトラブルを事前に潰しておく。
Basic認証が動いているか確認
検証環境のURLにアクセスし、Basic認証のログイン画面が表示されるか確認する。
IDとPassword Generatorで選んだ16文字のパスワードを入力してログインできれば完了。