WordPressアドイン「SiteGuard」の「ログイン履歴」1万件をダウンロードする方法:不正ログイン攻撃急増対策

役立つ知識

不正ログイン攻撃がすさまじい!

 WordPressの管理者ログイン画面に対して不正ログインを試みる攻撃が急増しています。

 この攻撃は、WordPressを使っているサイトを無作為に攻撃しているタイプと、本サイトを標的に不正ログインしようとする輩の二つのタイプがあります。

 機械的に攻撃しているらしく、1秒間に2回のペースでログイン画面で攻撃を仕掛けてきます。

 この不正ログイン攻撃の状況を調べるには、WordPressアドインの「SiteGuard」を使います。

 「SiteGuard」についての説明や設定の仕方はネットで探せば簡単に見つかりますが、問題となる「ログイン履歴」をどうやってダウンロードするかについては、ネット上に情報はありません。

 この方法を紹介しているサイトは、たぶん、本サイトが唯一かと思います。

 以下で、「SiteGuard」の「ログイン履歴」をダウンロードする方法とその後の処理方法を書きます。不正ログイン攻撃にお困りの方にとって役立つ情報かと思います。

「SiteGuard」の「ログイン履歴」

 「SiteGuard」の「ログイン履歴」は、WordPress管理画面で、「SiteGuard」 ⇒ 「ログイン履歴」で閲覧できます。

 そこで表示される履歴は、最新のもの10件で、それより古いデータは、ボタンを押して確認したり、検索機能を使ったりできます。

 しかし、不正ログイン履歴の数が多いと、このような方法はとても不便です。保存されているデータは10,000件もあり、10件づつの表示ではお話になりません。

 SiteGuardに「ログインの履歴が参照できます。怪しい履歴がないか確認しましょう。履歴は、最大10,000件記錄され、10,000件を超えると古いものから削除されます。」と書かれていますが、10,000件を10件づつ調べろということでしょうか。何とも不親切です。

 そこで、全データ(10,000件)をダウンロードして、Excelに読み込み、不正アクセスの状況を分析することにします。

 しかし、「SiteGuard」には、「ログイン履歴」を出力する機能はありません。そこで、データベースからダウンロードすることにします。

「SiteGuard」の「ログイン履歴」をダウンロードする方法

 管理人が使っているレンタルサーバーはロリポップなので、それでの説明になります。

1. ロリポップ管理画面にログインする。

2. [サーバーの管理・設定] ⇒ [データベース]

3. 調べたいサイトのデータベースの右にある[操作する]ボタンをクリック

4. [phpMyAdminを開く]をクリックし、ログインする。

5.  [phpMyAdmin]にログインできたら、左ペインのデータベース名(LAAxxxxxx)をクリック。データベースが読み込まれる。

6. 左ペインに表示されるリストの中から「wp○_siteguard_history」をクリック。(「wp○」の部分は個人の設定により変わる)

7. 画面最下部中央の[ダウンロード]をクリック。

8. 「テーブル “wp○_siteguard_history” から行単位でデータをエクスポート」画面が開くので、以下のように設定して、最後に[実行]ボタンを押し、データをCSV形式でダウンロードする。

9. Excelを開き、メニューバーの[データ] ⇒ [データの取得と変換]グループの[テキストまたはCSVから]をクリック。DLしたCSVファイルを選択し、[インポート]。

10. プレビュー画面が表示されるので、画面下の[読み込み]をクリック。

11. これで、データの読み込み完了。

 後は、データの分析です。

 どのIPから、いつ、何回の攻撃があったのか、すぐに表示できます。

 たとえば、20.89.16.119 からの攻撃は、630回もあります。

 攻撃の回数が多いと、10,000回を超えた分が古いものから削除されてしまいます。このため、不正ログイン攻撃の証拠として、不正アクセスログを定期的に保存しておいた方がよいでしょう。

 IPから分かることはほとんどありません。アタッカーは自分のIPが表示されないような細工をしているからです。攻撃に使われた大抵のIPは、所在地を確認すると都庁が表示されるはずです。ここから先は政府機関にゆだねることになります。アタッカーが使うIPは、一時的に割り振られたもので、IPだけからアタッカーを見つけるのは無理ですが、不正アクセスログがあれば話は別です。何時何分何秒に当該IPを使ったユーザーを特定するのは難しいことではないでしょう。プロバイダーはアクセスログを保管しており、それと不正アクセスログを照合すればアタッカーを特定できます。ただ、その照会は個人では無理。さらに、アタッカーが何重もの迂回経路を使っている可能性もあります。

 VPN接続により、個人のIPを隠したとしても、不正アクセスログがあれば照会可能となります。

 素人のアタッカーが裸で攻撃しているケースもあります。その場合、住所まで特定できる場合もあります。その情報が合っているかは不明ですが、個人宅が表示されることもあります。

 不正ログインを試みる輩は許せないので、もう少し追ってみることにします。

不正ログインアタッカーのIPを調べてまとめてブロックする

 上でダウンロードしたCSVをエクセルで開き、エクセルのxlsx形式で保存。これで、エクセルの機能を使って様々なことができます。

 最初にやるのは、日時の表示形式の変更です。CSVでは “分” までしか表示されていないので、これを “秒” まで表示できるようにします。

 E列(time)を選択して右クリック ⇒ [セルの書式設定]

 ユーザー定義で、種類の覧に[yyyy/m/d h:mm:ss]と入力し[OK]。

 次に、セルC1(ip_address)の右にある下向き▼をクリックして、自分のIPのチェックを外します。これで、表にはアタッカーの情報だけが表示されていることになります。

 セルC1(ip_address)の下向き▼をクリックして表示されるIPを全てメモします。管理人のケースでは、1万件のアクセス中、アタッカーのIPは40件ありました。一つのIPあたり平均で250回の攻撃があったことになります。

 次に、不正ログインを試みたIPをアクセス不能にします。

 [Easy IP Block]というアドインをインストールして有効化します。

 Wordpress管理画面の[設定] ⇒ [Easy IP Block Settings]をクリック。

 開いた画面の[IP Block list]に、先ほどメモしたIPリストを貼り付けて[Save Settings]ボタンをクリック。

 これで、同一IPからの攻撃は防げると思います。まあ、気休め程度ですが。何しろ、アタッカーは同じIPをいつまでも使うことはありません。

  

 

不正ログイン被害の状況

 不正ログインを試みているアタッカーがたくさんいることが確認できました。「SiteGuard」の「ログイン履歴」を見ると、1万件の不正アクセスの記録されている最初のログが2022年7月6日になっています。つまり、5ヶ月あまりの間に1万回の攻撃を受けていたと言うことです。

 外国からの攻撃は、ログインの確認にひらがな認証を使うことで防げますが、問題は、国内からの攻撃です。こいつらは放置すべきではありません。ログを保存し準備することにします。

不正ログインに使用されたIPリスト

 当サイトに不正ログインしようとする際に使われたIPを公開します。これをコピーペして [Easy IP Block]に貼り付けると楽かも知れません。気休め程度ですが。下のリストで * のIPは二つのサイトの攻撃に使われた悪質なIPです。アマゾン データ サービス ジャパンのIPが使われています。

3.112.233.88
18.181.95.98  *
18.183.116.4
18.183.131.64
18.183.225.67
20.78.120.125
20.89.16.109
20.89.91.160
20.89.16.199
20.89.98.73
20.89.142.3
20.89.157.222
20.89.235.197
20.188.30.194
20.194.236.158
20.210.112.109
20.210.124.38
20.210.124.88
20.210.206.239
20.210.219.44
20.210.255.205
20.222.0.189
20.222.1.42
20.222.34.3
20.222.34.124
20.222.68.226
20.222.227.164
20.243.128.45
20.243.200.18
20.63.141.48
20.78.120.125
20.89.130.252
20.89.142.3
20.89.157.222
20.89.16.199
20.89.235.197
20.89.98.73
40.74.71.226
40.115.197.167
42.147.221.181
42.75.146.57
45.8.68.149
52.140.209.149
52.156.32.224
52.140.212.192
52.185.185.994
52.192.94.22
52.197.181.96
52.243.58.141
52.253.106.3
91.234.192.16
91.234.192.33
91.234.192.46
91.234.192.66
101.140.75.145
101.142.151.244
103.142.65.5
103.163.220.39
103.163.220.51
103.163.220.83
106.73.151.192
111.233.44.197
118.27.30.151
118.158.238.55
203.165.251.69
126.227.165.73
133.175.202.232
133.130.103.36
138.91.17.69
146.70.76.43
157.7.105.70
164.46.122.50
180.35.81.69
193.119.167.51
194.5.48.227
207.148.112.140
217.42.222.251
218.222.153.210