最近、サーバーのアクセスログ(analog)を眺めていたら、/wp-login.phpへのアクセスが異様に多いことに気づいた。
普段そこまで気にしていなかったけれど、改めて見ると「これ、総当たり攻撃(ブルートフォース)食らってない?」と思うレベル。
analogを見ると/wp-login.phpが上位に…
普段のアクセス傾向からすると、/wp-login.phpがこんなに叩かれるのは明らかに不自然。
WordPressの内部仕様までは詳しくないけれど、少なくとも記事を書いたり下書きを保存したりする時に/wp-login.phpにアクセスが飛ぶわけじゃないはず。
つまり、これはもうbotの総当たり攻撃と見てよさそう。
そもそも/wp-login.phpを公開しておく必要ある?
冷静に考えると、自分しかログインしないページなのに、全世界に公開しておく必要はない。
攻撃される入口をわざわざ開けておくのは、無駄にリスクを増やしているだけ。
botっぽいIPを個別に弾く方法もあるけれど、いたちごっこになるので、
とりあえず「/wp-login.phpへの自分以外のIPは全部弾く」で対応することにした。
.htaccessでIP制限をかける
Apacheを使っているなら、.htaccessでサクッと制限できる。
(昔は何でもApacheだったけど、今はNginxが多いよな…と思いつつ)
<Files "wp-login.php">
Require all denied
Require ip xxx.xxx.xxx.xxx # 自分のIP
</Files>これだけで、世界中のbotからの無駄なアクセスをほぼシャットアウトできる。
自分も出先で更新できなくなるけれど、必要になったらIPを追加すればいいだけ。
まとめ:ログを見ると気づくことがある
普段は気にしないログでも、たまに眺めると「え、こんなに攻撃されてるの?」という発見がある。
特に/wp-login.phpのような“攻撃者が大好きな入口”は、放置しておくと地味に負荷もリスクも増える。
IP制限は手軽で効果が高いので、
「自分しか使わない管理ページ」は積極的に閉じていくのが吉。

コメント