コンテンツ
WordPressプラグイン「Crazy Bone(狂骨)」で不正なログイン履歴を監視
先日、不正アクセスがないかを監視するために、
WordPressのログイン履歴をとってくれる「Crazy Bone」というプラグインを入れてみました。
狂骨とも呼ばれているプラグインで、不正にログインしようとした形跡がないかをチェックするのにも使えます。
インストールすると管理画面の「ユーザー」メニューの中に「ログイン履歴」という項目が増えているので、
そこからログイン履歴を確認出来ます。
結果ですが、
1時間もしない内に、身に覚えのない怪しいログイン履歴が追加されていました。
Netherlands?オランダから?
いきなりこんなアタックを仕掛けられると思わなかったので、ちょっとびっくりです。
セキュリティに詳しい知り合いにも相談してみたのですが、
サイトの大小にかかわらず、実はどのサイトでも無作為に攻撃を受けている可能性はあるらしいです。
気付いていないだけで、
このブログも頻繁にブルートフォースアタック(総当たり攻撃)を受けていたのかもしれないですね!?
これは今後もこまめに監視を続けた方が良さそうですね!!
※追記 この後1ヶ月ほど様子を見たのですが、色々な国からのログイン履歴が数万件溜まりました。 これは、ちょっと怖いですね。。。
その対処方法については、以下に記載しています。 ↓↓↓
不正IPアドレスからの接続を制限
「Crazy Bone」を入れてからしばらく経つのですが、上記にも記載しているように、良く分からないアクセス履歴が大量に残っていました
↓こんな感じです。
取り敢えず、
何かあると恐いので、
.htaccessに以下を記述して、
アクセス履歴が残っていたIPアドレスの接続制限を設定しておきました!!
order allow,deny
allow from all
deny from xxx.xxx.xx.xxx
・
・
因みに、
不正IPアドレスからのアクセス拒否設定に関しては、
「WP-Ban」というプラグインでも対策を出来きます。
「Crazy Bone」と「WP-Ban」はセットで入れておいた方がいいですね。
【Crazy Bone】DBから不正IPアドレスをグループ化して一括取得
「Crazy Bone」では不正なIPアドレスのみをグループ化して取り出すことができません。
1つのIPアドレスからの攻撃であればコピペすれば問題ないのですが、
複数のIPアドレスを使用して攻撃された場合には結構な手間になります。
そのような場合には、
直接、データベースに接続して一括で不正なIPアドレスを取り出すということも可能です。
手順としては、
・まず、MySQLサーバに接続
※phpMyAdminをインストールされている場合には、そちらの画面からアクセスして下さい。
↓
・SQLを実行して、「user_login_log」テーブルからデータを取り出す。
※「Crazy Bone」をインストールすると「user_login_log」というテーブルが作成され、
ログイン履歴はそこに保存されます。
となります。
SQLに関しては、
where句に「activity_status='login_error'」という条件を設定すればいいのですが、
時々、正規の投稿者がユーザー名やパスワードを間違えてログインしようとしてしまうこともあると思います。
そのIPアドレスまでアクセス拒否にしてしまうとまずいので、
「country_name」のカラムを確認して「日本(Japan)」からのアクセスのみ除外しておいてもいいかと思います。
※運用者が日本国内でのみ作業されることを想定しています。
日本国内の不正IPアドレスを取得できなくなりますが、誤って正規のアクセスまで制限してしまうよりはマシです。
まとめると、
私の場合には以下のようなSQLを実行してIPアドレスを取り出します。
select `activity_IP` from `プレフィクス_user_login_log` where (`activity_status`='login_error') and (`country_name`<>'Japan') group by `activity_IP`
※「プレフィクス」の部分に関しては、各自設定されたものに置き換えてください。
セキュリティ対応WordPress ロシアからの不正アクセス
WordPressプラグイン「Anti-Spam」でスパム対策
この記事へのコメントはありません。