この記事で書きたいことは、ざっくり以下のようなことです。
・半放置しているサーバーで、プロバイダよりサーバー上で著しい負荷を検知し、
第三者からの悪意あるファイルの設置・改ざんが行われている可能性があり、
パーミッションを755 から0へ変更したとの連絡がきた。
・不正アクセスの踏み台とされていることが考えられるため、安易にパーミッションを元に戻すのは危険であり、
原因調査と対策を行ってから戻すようにしてほしいとのこと。
・調査の結果、使用しているMovable Type(ブログなどで使っているコンテンツ管理ツール)
をアップデートしていなかったことにより、
XMLRPC APIにおけるOSコマンドインジェクションの脆弱性を狙った攻撃を受け、
見知らぬPHPファイルなどの設置や、.htaccess を書き換えられていた。
・本脆弱性の深刻度は緊急(CVSS v3基本値9.8)であり、即時対策実施を求められる案件にもかかわらず見逃していた。
PCやザーバー上の脆弱性に関しては、緊急・深刻な案件もあるので、
あまり使っていないシステムでも確認しておく必要がある
・個人でもサイバー攻撃に注意しなければならない時代になってきた。
データのバックアップを取るなど、自衛の意識を上げる必要がある。
書きたいことは上にまとめましたので、あとは時系列順に書いていきます。
12月の某日、たまたま自分のページのトップ画面を見たときに
よくわからない英語の宣伝のページに書き換えられていることに気が付きました。
サーバーのファイルマネージャーからファイルを確認してみると、
indexのファイルが書き換えられていたり、見知らぬPHPファイルや.htacsessが多数入っていました。
「うわ~、ついにうちにもサーバーデータ改ざんの被害がきたよ」と若干焦りながらも
インターネット・サービス・プロバイダ(ISP)の方に
「改ざんが行われているのを確認したので、データを1か月前にリストア(復元)してほしい」
と依頼したところ、個別のリストアは行っていない旨をいわれました。
仕方がないからサーバーのデータを全削除して、個人でバックアップを取っていた
1年前のデータからリストアしました。
念のためMovable Typeとサーバーのパスワードも変更して起き、
いやぁ大変だったなぁ、どっかからパスワードが漏れたのかなぁ?
なんてのんきなことを思いながら、事態が終了したものと、この時は思っていました。
そして1月某日、ISPから上記に記載したような警告メールが来たわけです。
ファイルマネージャーでサーバー確認すると、前回と同じような症状が勃発しました。
短期間での再発ということで、おそらくパスワードが破られたわけではないことが分かります。
対策を取らないと同じことが何回も繰り返し、最悪サーバーの利用停止になります。
この時点でおおよそ「Movable Type」が何らか絡んでいるだろうということは想定できたので、
このシステムそろそろ辞め時かなぁ、でも今は無料のだけど、変えるとなると有料になりそうだし、
12年使っているから今更変えるのめんどくさいなぁ、等々思ってました。
しばらく調べると、幸いなことに原因と思われるものを発見しました。
・XMLRPC API のOSコマンドインジェクション脆弱性を利用した脆弱性について(公式)
https://www.sixapart.jp/movabletype/news/2021/10/20-1100.html
・Movable TypeのXMLRPC APIにおける脆弱性に関する注意喚起(一般社団法人JPCERTコーディネーションセンター)
https://www.jpcert.or.jp/at/2021/at210047.html
本脆弱性が悪用された場合、遠隔の第三者が、任意のOSコマンドを実行する可能性があるので
速やかに対策を適用すること、となっていました。
サーバーのコンテンツ管理システムで、バージョンアップするのが少しめんどくさいので
正直なところ10年ぐらいバージョンアップをほったらかしにしていました、すいません。
しかしこんな状況になれば、バージョンアップしないわけにはいかなくなりました。
今回のバージョンアップは有料版だけでなく、無料版の方も対応しているとのことでした。
ただ、なんせ10年ぶりぐらいにシステム領域をいじるわけですから、ほとんど忘れており、
公式のページを参照しながら、悪戦苦闘しつつバージョンアップを完了させました。
バージョンアップおよびサーバーのデータをもとに戻し、三度パスワードを変更して
ISPに対策を完了したので、パーミッションを755に戻す連絡をしました。
その後1か月ほどたちましたが侵入の形跡はないため、一応大丈夫ではないかと思います。
ちなみにその時のアクセスビューですが、こんな感じに膨らんでおります。
そりゃサーバー管理者から怒られるわけです。
最近では1月におこった、Oracle Java の脆弱性対策について(一般社団法人JPCERTコーディネーションセンター)
https://www.ipa.go.jp/security/ciadr/vul/20220119-jre.html
が緊急性の高い脆弱性であったため、業界では対策に追われたところも多かったと思いますが、
セキュリティに関しては、専門家だけでなく一般ユーザーの浸透も以前にもまして重要になってきていますね。
個人でもパソコンやスマホ無しには生活できない状況になってきていますが、
ITシステムの進化と同じく、サイバー攻撃の手法も日々進化しており、
個人レベルであっても、対策はそれに応じて取り組む必要な世の中になってきました。
一昔前のテレホーダイ時代は、Q2ダイヤルに接続されているのを知しらずに高額請求される
といったケースを聞きながら、馬鹿だなぁと笑っていましたが、
今はうっかりしていると、ランサムウェアやマルウエア、偽装メールなんかの被害に合うことなんかも考えられます。
しかも手口が結構巧妙になって、気が付かないうちに被害に合っている可能性もあり、
一個人が気を付けるだけでは難しい時代になってきています。
そのような時に、もちろん従来のウイルススキャンソフトはある一定の効果はありますが、
従来の侵入させない(防御)だけでは不十分で、侵入を前提とした対応を考えていく必要があると思います。
たとえば個人のデータであっても、月に1回はバックアップを取っておいたり、
被害を検知した時には、「攻撃の封じ込め」「攻撃の影響を取り除く」「現状復帰」「再発防止」
などを念頭に置き、防御と復旧を考えたうえでセキュリティを構築していくことが
個人にも求められてきているわけです。
情報システムの進化に、それを使う人間が追い付いていないともいえますが、
今更パソコンやスマホを捨てて、ネット環境を一切遮断して生活することはもはや不可能です。
サイバー攻撃は他人ごとではなく、またかかった人が悪いともいえませんので、
1人1人がセキュリティーに意識を向けて、うまく付き合っていくしかないなぁと思いました。
ここまでお読みいただきありがとうございました。
皆様もお気を付けください。