メンテナンス用のプログラムに記述ミス
今回の大規模障害においては、共用/専用/VPSなどのサービスにおいて、Webやメールデータなどのデータ消失が発生した。データ消失の原因に関して、当初は「メンテナンス作業において用いる特定の管理プログラムのバグ」とだけ発表されていたが、「バックアップは行なわれていなかったのか」「複数のサービスで同時にデータが消失したのはなぜか」「プログラムの不具合なのか、人為的な作業ミスなのか」などのさまざまな不明点があった。今回発表された中間報告では、こうした疑問に対する回答になりえる情報がいくつか提示されている。
まず、今回の大規模障害の発端は、サーバー群に対して脆弱性対策のメンテナンスを行なう更新プログラムの不備にあるという。具体的には、更新プログラムにおいて、ファイル削除コマンドを停止させる記述、そしてメンテナンス対象のサーバーを指定するための記述が漏れていたとのこと。つまり、本来特定のサーバーだけを対象とした更新プログラムが、全サーバーに適用され、本番環境においてファイル削除が実施されてしまったことになる。
また、こうした更新プログラムの実行においては、検証環境で動作確認することとなっていたが、対象サーバー以外での動作確認やデータ消失などを検証する手段がなかったという。そのため、検証環境において、対象サーバーでの動作確認が完了した段階で、本番環境での実施に至ってしまったようだ。
さらにバックアップに関しては、脆弱性対策のメンテナンスを本番環境とバックアップ環境で同時に行なう仕様になっていた。これは過去、メンテナンスの実施後にハードウェア障害を起こした際に、脆弱性が残ったままのバックアップを適用し、そのままシステムが動いていたという反省があったためだという。これにより、本番環境と同じく、バックアップ環境においても広範なファイル削除の処理が実施されてしまったことになる。
当該の更新プログラムは6月20日(水)17時頃から開始。検証環境、本番環境、そしてバックアップ環境などで実施され、サーバーにアップロードされたFTPやファイルマネージャのデータ、アカウント、メールデータ、データベースなどを削除するに至ったという。
おもに検証フローにおいて残る不明な部分
同社は暫定的な対策とし、サービス再開や緊急時をのぞきメンテナンスを行なわないこと、メンテナンスの運用手順を修正し、対象外サーバーの確認作業を追加すること、通常のバックアップ以外ではバックアップの領域に修正を加えられないように仕様を修正することなどを表明している。また、第三者による事故調査委員会を6月30日までに立ち上げ、事故要因を徹底究明。再発防止策を策定するという。
今回の発表では事故の原因はあくまでプログラムの不備にあると説明されており、外部からの攻撃やウイルス、ハードウェア故障などの原因は否定されている。ただ、検証環境から本番環境に移る際のフローや更新プログラムの妥当性、メンテナンスの作業体制などについてまだまだ不明な部分があり、今後の事故要因の究明が待たれる。
なお、同社では緊急フリーダイヤルを追加したほか、大規模障害関係のFAQも公開した。