Crazy Bone でログイン履歴取ってたらサーバー容量が圧迫されるくらい不正アクセスされてた。
当ブログ「webruary」は WordPress を使用しております。
サーバーはラクサバのラクラクミニ。
容量が 2GB と少ないですが、更新頻度も多くないので全然よゆー…が、ある日確認したら使用量が 1GB 超えてました。
「そんなに画像とかも多くないはずなのに…。」と思ってイロイロ調べてたら、データベースの「wp_user_login_log」のサイズがやたらデカイ。
599MiB… (°ω°)
なんだコレ?
user_login_log …。
ユーザーログインログ…。
ゆーざーろぐいんろぐ…。
…。
あっ、Crazy Bone。
ここから続き
ログインページへの不正アクセスが大量。
Wordpress の管理画面からログイン履歴見てみたら海外からのアクセスが大量に残ってました。
[ユーザー名:不明・ログインエラー] でフィルターかけても 140 万超… (°﹃°)
ドイツ・フランス・ウクライナ・アメリカ…等など、色んな国からアクセスされてました。
前から『WP-Ban』と言うプラグインで、いくつかの海外 IP を拒否してたんですが、もぉ追いつかない状態。
そこで他の対策をしようと調べてみたら『.htaccess』を使った方法がよさ気だったのでやってみました。
wp-login.php に海外 IP からはアクセス出来ないようにする。
参考にしたのがこちら。ありがたや~。
[WordPress] ログインページ(wp-login.php)で海外IPアドレスからのアクセスを拒否する
海外の IP アドレスを全部拒否となるととんでもない量のリストが必要になりますが、逆に国内 IP のみ許可するのならそれなりに少なくてすみます。
ただ、上記の参考リンク先のリンク先(cgis.biz)がアクセス出来ない状態だったので、ファイルは下記よりダウンロード。
ありがたや~。
そして .htaccess に IP を書き込む。
- .htaccess
-
<Files wp-login.php> order deny,allow deny from all allow from 129.60.0.0/16 allow from 129.136.0.0/16 allow from 129.249.0.0/16 ・ ・ ・ allow from 126.0.0.0/8 </Files>
それなりに少なくてすむと言っても、ほぼ 3,000 行。
後はコレを wp-admin 内に入れて、しばらく様子見です。
※めっちゃ間違えてた。下記追記。
履歴削除でサーバーの空き容量復活。
拒否設定が終わったらログを削除。
まずは WordPress の管理画面から。
30日より前のを削除しましたが、それでも 4,000 件以上残ってた (°⌓°)
次に phpMyAdmin へ。
合計サイズは変わってないですが、ほとんどがオーバーヘッド(残りカス的なゴミ。)なので、他のオーバーヘッドがあるテーブルと一緒に最適化を実行。
サイズが 24MiB に \(°ω° )/
すごく…スッキリです…。
- ※2016/5/19 追記
-
編集するのは wp-login.php と同じディレクトリにあるやつです。
自分の場合は IP のリストがダーッとあって、最後に「# BEGIN WordPress」が続く感じ。
Comment Form