ここ数日、データベースエラー等でサーバが固まっていたことが何度かありました。
ちょうど同時期に社内でF5アタックの話が盛り上がり、私のサイトを攻撃してみてくれと
言っていたときにエラーが起きていたのでそれが原因かと思っていました。
あらためてapacheのアクセスログを確認したところ
wp-login.phpへのアクセスが多々見受けられました。
なるほど、F5アタックではなくてWordpressへログインアタックをされていたんですね。
wp-login.phpのアクセスはいままでは制限をかけていたのですが
このファイルにアクセス制限をかけているとパスワード保護付き記事でログインしようとすると
ログインが出来なくなってしまっていたのです。とりあえずの設定で制限解除していたのですが
そのまま忘れていました。
まてよ? 制限解除したのは結構前のことになります。
ということはやっぱりサーバが落ちたのは・・・?
とりあえず、対処としてどうしようかと言うことですが、パスワード保護付き記事に
パスワードを押して送信すると「wp-login.php?action=postpass」へアクセスします。
アクセス制限はapacheの<Files>ディレクティブを用いていますので
<Files “wp-login.php”>
order deny, allow
deny from all
allow from ***.***.
</Files>
order deny, allow
deny from all
allow from ***.***.
</Files>
こんな感じにしていましたがこれでは、前述の保護付き記事も表示することが出来ません。
ということでこんな感じに変更しました。
<FilesMatch “wp-login.php$”>
order deny, allow
deny from all
allow from ***.***.
</FilesMatch>
order deny, allow
deny from all
allow from ***.***.
</FilesMatch>
動作検証も行ってみてばっちりです。
対象のファイルに正規表現を用いる場合は<FileMatch>を使うようです。
とりあえずログインアタック対策はできました。
あとはDOSアタック対策ですが・・・正直ここに書いてしまうと
別な攻撃方法で来る可能性があるので伏せておきます。
コメント