webruary

RSS

  • HOME
  • 雑記
  • Crazy Bone でログイン履歴取ってたらサーバー容量が圧迫されるくらい不正アクセスされてた。

Crazy Bone でログイン履歴取ってたらサーバー容量が圧迫されるくらい不正アクセスされてた。

当ブログ「webruary」は WordPress を使用しております。
サーバーはラクサバのラクラクミニ。

容量が 2GB と少ないですが、更新頻度も多くないので全然よゆー…が、ある日確認したら使用量が 1GB 超えてました。

「そんなに画像とかも多くないはずなのに…。」と思ってイロイロ調べてたら、データベースの「wp_user_login_log」のサイズがやたらデカイ。

wp_user_login_log

599MiB… (°ω°)

なんだコレ?
user_login_log …。
ユーザーログインログ…。
ゆーざーろぐいんろぐ…。
…。
あっ、Crazy Bone。

ここから続き

ログインページへの不正アクセスが大量。

Wordpress の管理画面からログイン履歴見てみたら海外からのアクセスが大量に残ってました。

Wordpressのログイン履歴

[ユーザー名:不明・ログインエラー] でフィルターかけても 140 万超… (°﹃°)
ドイツ・フランス・ウクライナ・アメリカ…等など、色んな国からアクセスされてました。

前から『WP-Ban』と言うプラグインで、いくつかの海外 IP を拒否してたんですが、もぉ追いつかない状態。

そこで他の対策をしようと調べてみたら『.htaccess』を使った方法がよさ気だったのでやってみました。

wp-login.php に海外 IP からはアクセス出来ないようにする。

参考にしたのがこちら。ありがたや~。

[WordPress] ログインページ(wp-login.php)で海外IPアドレスからのアクセスを拒否する

海外の IP アドレスを全部拒否となるととんでもない量のリストが必要になりますが、逆に国内 IP のみ許可するのならそれなりに少なくてすみます。

ただ、上記の参考リンク先のリンク先(cgis.biz)がアクセス出来ない状態だったので、ファイルは下記よりダウンロード。
ありがたや~。

htaccess で海外のIPを弾く

そして .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 の管理画面から。

Wordpressのログイン履歴を削除後

30日より前のを削除しましたが、それでも 4,000 件以上残ってた (°⌓°)

次に phpMyAdmin へ。

phpMyAdmin のサイズ確認

合計サイズは変わってないですが、ほとんどがオーバーヘッド(残りカス的なゴミ。)なので、他のオーバーヘッドがあるテーブルと一緒に最適化を実行。

オーバーヘッドの最適化後

サイズが 24MiB に \(°ω° )/
すごく…スッキリです…。

※2016/5/19 追記
編集するのは wp-login.php と同じディレクトリにあるやつです。
自分の場合は IP のリストがダーッとあって、最後に「# BEGIN WordPress」が続く感じ。
  • ツイートする
  • facebookでシェアする
  • はてなにブックマークする
  • LINEでシェアする

Sponsored Links

Comment Form

※ コメント欄には反映されません。むしろ hoge@~ のままでも大丈夫です。
※ <b> のみ使用でき、URL は自動リンクされます。

投稿したコメントは管理人が承認するまで表示されません。
それと、日本語が含まれない場合は投稿がスルーされる(スパム対策)のでご注意ください。