🐡
WordPressのログイン画面にベーシック認証を施す手順(①EC2(kusanagi&nginx) ②お名前.com)
はじめに
ログイン画面にアクセス制限を施していないWordPressは、攻撃の対象になる可能性があるということで、アクセス制限を施して回避されたし。
手順
・お名前.comのレンタルサーバ
以下手順に沿って行う。
→サイトにパスワード認証を設定する
・EC2インスタンス
1.対象のサーバにログイン
2.以下コマンドでksanagi配下に移動
cd /home/kusanagi
3.以下コマンドでhtpasswdファイルを作成、認証情報(ユーザID&パスワード)の設定
htpasswd -c /home/kusanagi/.htpasswd {ベーシック認証のユーザID}
4.以下コマンドでsslファイル配下に移動
cd /etc/nginx/conf.d/
5.sslファイル内で①auth_basic ②auth_basic_user_fileが、wp-login〜以外の場所にはないことを確認する
6.allow 0.0.0.0/0; をコメントアウトし、allow <許可したいIP>; 追記する
location ~* /wp-login\.php|/wp-admin/((?!(admin-ajax\.php|images/)).)*$ {
satisfy any;
## allow 0.0.0.0/0;
allow 許可したいIP;
deny all;
auth_basic "basic authentication";
auth_basic_user_file "/home/kusanagi/.htpasswd";
7.以下コマンドで記述に問題が無いか検証する
nginx -t
8.以下コマンドで状態が Running であることを確認する
systemctl status nginx
9.以下コマンドでnginxをリロードする
systemctl reload nginx
10.再度状態が Running であることを確認する
確認
それぞれ完了したら、対象URLの末尾に /wp-admin を付けてアクセス。
ユーザIDとパスワードの入力画面が表示されることを確認。
備考
ベーシック認証のパスワードは、記号を使用しないのが吉かも。
何故ならそもそもパスワードとして使えない記号というものが存在するため。
Discussion