こんにちは。てっちーです。Wordpressは世界的に使用者数が多いので悪意のある攻撃をされる可能性があります。そこで少しセキュリティーを向上させる方法を紹介します。
管理画面へのログイン画面にBasic認証をかける
セキュリティーを向上させるためにWordpressの管理画面へのログイン画面にBasic認証をかけたいと思います。つまり2回パワード入力で管理画面に入れるように変更します。例えるとドアのカギに2個カギをかけて、泥棒が入りにくくするイメージです。
Basic認証
Basic認証は設定をかけると特定のページアクセスするとユーザー名とパスワードを要求されます。HTTPで規定される基本的な認証方式です。Wikiに簡単に説明があるので興味がある方はこちらを見てください。
Basic認証をかけよう
まず最初の作業として編集の前にバックアップを取ってから開始してください。
.htpasswdを作成する
.htpasswdは、認証のためのユーザー名とパスワード情報を持つファイルです。Apacheに含まれるhtpasswdコマンドを使います。
LinuxとMacの場合
LinuxとMacはすでにインストールされている可能性が高いので、そのまま次のコマンドを打ってみてください。”user“はユーザー名なので自分の好きなユーザー名に変えてください。コマンドを入力するとパスワードの入力を求められるので、入力してください。確認も含め2回入力を求められます。
htpasswd -cs .htpasswd user
Windowsの場合
Windowsの場合は、XAMPPがインストールされていればApacheはインストールされています。xamppのインストール場所から、”xampp\apache\bin”の場所にhtpasswdコマンドが置かれていますので、そのディレクトリまで移動し、htpasswdファイルをあるか確認してみてください。もしあれば生成ができます。
コマンドプロンプトを立ち上げ、このディレクトリまで移動した後、下記のコマンドを入力してください。userは先ほどと同じ任意のユーザー名です。パスワードの入力をすれば、.htpasswdが生成されます。
htpasswd.exe -c .htpasswd user
もしコマンドプロンプトでディレクトリを移動するのが大変な場合は、htpasswdコマンドがあるディレクトリにhtpswd.batという名前で下記の内容のファイルを作成して、ダブルクリックすればパスワードの生成が開始されます。
set /p USR_NAME="ユーザー名を入力してください : "
htpasswd.exe -c .htpasswd %USR_NAME%
.htaccessの編集
WordPressのインストールしたドメインのディレクトリに行くと.htaccessというファイルがあります。もしなければ今回生成しても構いません。この.htaccessの先頭に下記の記述を追加してください。念のため、編集前のファイルはバックアップしておいてください。
<Files wp-login.php>
AuthUserFile .htpasswd
AuthName "Enter your ID and password."
AuthType BASIC
require valid-user
</Files>
次に.htpasswdも同じディレクトリにおいてください。もし同じディレクトリに置けない場合は、上記のAuthUserFileが.htpasswdの指定になるので、ここにファイルまでのパスを指定してをすればOKです。うまくBasic認証ができるか確認してみてください。
まとめ
うまく設定できれば、これでwordpressのログイン画面に入る前にBasic認証の画面が出るようになります。絶対安全になる方法であありませんが、普通のサイトとは異なるのでツールによるアタックに強くなります。詳しくはこちらのページのブルートフォース攻撃を読んでみてください。
Wordpressのセキュリティーについてはこちらも参考にしてみてください。
コメント