🐡

WordPressのログイン画面にベーシック認証を施す手順(①EC2(kusanagi&nginx) ②お名前.com)

1 min read

はじめに

ログイン画面にアクセス制限を施していない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

ログインするとコメントできます