WordPress wp-login.php のセキュリティー向上

WordPressをお使いの方でしたら、アクセスログを見るとわかるかと思いますが、結構不正アクセスの攻撃が多いです。オンライン上でどこからでもページが更新できるのは便利ですが、パスワードを破られたら悲惨です。

ここ最近、私のサイトにも中国・韓国・ロシアから不正なアタックが増えて、気持ち悪かったので、いろいろ考えました。管理者画面のファイル名を変えるのも検討したのですが、結構書き直さなくてはならない部分があるので面倒。簡単でちょっと強化できる方法を考えていた所、サーバーの基本機能、BASIC認証を使って試みてみました。

通常、誰でも管理者画面へのページまではアクセス可能です。アクセスできるからいろいろアタックされてしまう。ということで、管理者画面に入るためのwp-login.phpへのアクセス権限をBASIC認証で制限すればちょっとはいいかなと思いました。とりあえず鍵が2重にかかってることになり精神衛生上良いですし、ログも汚されず、アクセス解析にもいいです。

具体的には、こんな感じで、.htaccess に追加しました。

<Files wp-login.php>
AuthName "Input ID & Password"
AuthType Basic
AuthUserFile /www/~/.htpasswd
Require valid-user
</Files>

AuthUserFile のパスは、IDとパスワードの入ったファイルの場所です。ルートからの絶対パスが必要かと思います。相対では無理でした。Windows版Apacheだと、パスを ” ” で囲まないと駄目でした。(あまり詳しくありませんがw)

パスワードのファイルは、windowsのapacheの場合は、htpasswd.exeで作れます。UNIX系の場合は、htpasswdコマンドなどで作成できます。 .htaccessからちゃんと.htpasswdのファイルが見つけられればうまく機能してくれます。このパスが間違ってたり、htpasswdのファイルがおかしいと、永遠にIDとパスワードを求め続けられます。何度かはまりましたw

そろそろダビングも終わりそうなので、今日はこの辺でw

関連記事: