TOKYO HEADLINE WEBというサイトが、ハッキングされました。
ハッキングされたのが、2021年11月22日22時半ということです。
しかし、2021年12月2日現在でも復旧していません。
WordPress利用者は、この事件を無視できません。
是非とも、WordPress利用者はこの事件を教訓にしましょう。
本記事の内容
- TOKYO HEADLINE WEBはWordPressで構築されていた
- WordPressが乗っ取られた原因は?
- 【結論】リカバーできる準備をしておく
- 【おまけ】WordPressのプラグインが怪しい
それでは、上記に沿って解説していきます。
TOKYO HEADLINE WEBはWordPressで構築されていた
TOKYO HEADLINE WEBは、月間60万PVのサイトです。
PVは、以下のサイトで調べています。
概ね正しい結果が出ます。
similarweb
https://www.similarweb.com/ja/
そこそこ規模のあるサイトだと言えます。
しかし、今現在はサイトを確認することはできません。
そこで、Webアーカイブを利用します。http://web.archive.org/web/20211118093039/https://www.tokyoheadline.com/
ソースを「WordPress」で検索した結果は、以下。
バージョンが、4.8.17ということです。
WordPressの更新作業は、定期的に実施されていたようです。
しかし、ハッカーの標的にされてしまいました。
そして、サイトをハッキングされてしまうという最悪の事態になりました。
ハッキングされた原因を考えてみましょう。
WordPressが乗っ取られた原因は?
次の2つが考えられます。
- 管理画面への不正ログイン
- プラグインの脆弱性
それぞれを下記で説明します。
管理画面への不正ログイン
ブルートフォースアタック(総当たり攻撃)を仕掛られたら、THE ENDです。
これは、WordPressに限ったことではありません。
それであれば、ログイン認証は突破される前提で考えないといけません。
この前提に立つと、アクセス制御に行き着きます。
IPやドメインでアクセス制御を行えば、管理画面へのアクセスは防ぐことが可能です。
ログイン認証を突破されても、管理画面で操作はできません。
このアクセス制御は、「.htaccess」で簡単に行えます。
その方法については、次の記事で説明しています。
また、WordPressにはログイン画面のURLを変更する手段が用意されています。
これもセキュリティ対策にはなります。
しかし、そのURLがバレてしまうリスクは存在します。
辞書攻撃(ディクショナリアタック)で推測されるリスクがあるということです。
それなら、「.htaccess」でアクセス制御を実施した方が安全と言えます。
もっと良いのは、次の両方を組み合わせることです。
- ログイン画面のURL変更
- .htaccessによるアクセス制御
企業のサイトであれば、イメージも重要な要素になります。
そのため、裏口のようなログイン画面を見せない方がベターでしょう。
なお、TOKYO HEADLINE WEBのログイン画面はデフォルトだった可能性が高いです。
Googleのキャッシュに残っているrobots.txtから、そのことが確認できます。
プラグインの脆弱性
WordPressには、便利なプラグインが多く存在しています。
しかし、それらはサイトの脆弱性になりえます。
例えば、Googleで「wordpress sqlinjection」と検索してみましょう。
LearnPress WordPress プラグインには、SQL インジェクションの脆弱性が存在します。 WordPress 用 Loginizer プラグインには、SQL インジェクションの脆弱性が存在します。
すぐに上記の情報が出てきます。
SQLインジェクションが実行されると、コンテンツの上書きや削除が可能です。
そのため、プラグインはできる限りで絞ることをオススメします。
厳選してインストールするということです。
あとは、プラグインのバージョンを最新にしておくということでしょうね。
でも、プラグインを最新に維持するのは・・・
本来は、最新のプラグインはテスト環境で検証する必要があります。
何がどう影響して、データが破損するかもわかりません。
ただ、それを毎回するのは手間です。
だから、更新しないというのは十分に理解できます。
実際、私も必ず更新している訳ではありません。
そもそも、そんなにプラグインはインストールしていませんけどね。
【結論】リカバーできる準備をしておく
WordPressサイトの危険性や対策について書いていきました。
しかし、トラブルなんていつ起こるかわかりません。
WordPressやプラグインを最新にしていても、問題が起こるときは起こります。
そのため、問題が生じたときにリカバーできる準備をしておきましょう。
具体的にできる準備とは、バックアップです。
バックアップを定期的に取得しておけば、何とでもなります。
ただし、バックアップファイルは複数に分散しないと意味がありません。
私は、Google Driveを利用しています。
その方法については、次の記事でまとめています。
本当は、さらにそこから別のクラウドストレージに転送すればよいのでしょう。
でも、今はそこまでコストはかけられません。
バックアップさえあれば、原因追求もやりやすいです。
ハッキング前後の差異を追いかければ、そこにヒントがあるはずです。
以上、WordPressのセキュリティについて説明してきました。
最後に、TOKYO HEADLINE WEBで利用されていたプラグインを確認しておきます。
【おまけ】WordPressのプラグインが怪しい
TOKYO HEADLINE WEBのサイトでは、次のプラグインが確認できました。
アーカイブのページをもとに調査したモノです。
- contact-form-7 [4.8]
- contact-form-7-add-confirm[4.8]
- photection[1.0.0]
- wordpress-popular-posts[3.3.4]
- add-to-any[1.14]
これらの中で怪しいのは、次の2つです。
- contact-form-7
- wordpress-popular-posts
contact-form-7
JVNDB-2020-014846
WordPress 用 contact-form-7 プラグインにおける危険なタイプのファイルの無制限アップロードに関する脆弱性
https://jvndb.jvn.jp/ja/contents/2020/JVNDB-2020-014846.html
Contact Form 7 5.3.2 未満であれば、脆弱性が存在します。
よって、contact-form-7 [4.8]は対象になります。
そして、その脆弱性の危険度はMAXです。
最高レベルの危険度を持つ脆弱性ということになります。
想定される影響は、次のように記載されています。
情報を取得される、情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。
wordpress-popular-posts
JVNDB-2021-000056
WordPress 用プラグイン WordPress Popular Posts におけるクロスサイトスクリプティングの脆弱性
https://jvndb.jvn.jp/ja/contents/2021/JVNDB-2021-000056.html
こちらは、それほど深刻なモノではありません。
と言っても、サイト利用者に迷惑をかけてしまいます。
その点で言えば、早急に対策は必要でしょう。
ただし、今回のようなシステムを乗っ取られるほどのリスクはありません。
まとめ
管理画面への不正ログインでなければ、Contact Form 7が原因だと推測できます。
実際、危険度MAXの脆弱性を持つバージョンのプラグインがインストールされていました。
実は、当ブログもContact Form 7を利用していました。
それも脆弱性を持つバージョン(5.1.7 )でした。
危険度MAXの事実を知った途端、慌ててContact Form 7を無効にしました。
だから、プラグインはあまりインストールしたくないのですよね・・・
TOKYO HEADLINE WEBのハッキングの原因は、わかりません。
しかし、Contact Form 7による脆弱性が存在していたのは事実です。
WordPress利用者の方は、Contact Form 7を利用しているかどうか確認しましょう。
随時更新していないと、ヤバイ状況だと思われます。