大規模障害の概要と原因について(中間報告)
6月20日に発生した大障害について、最新の状況を下記の通りご報告いたします。
なお、FAQを6月25日 9時ごろ公開予定です。あわせてご覧ください。
データの消失について
障害の概要
6月20日(水)17時ごろ、脆弱性対策を特定のサーバー群に対して実施しました。
脆弱性対策は更新プログラムを利用して一括して対象とするサーバー群に対して実施するという運用を以前から行っており、今回も同様に作業を実施しました。
実施にあたっては検証環境において動作確認を行い対象サーバー群に問題が発生しないことを確認したうえで、本番環境で実施するという手順を取っております。
しかしながら、更新プログラム自体に不具合があったことに加えて、検証環境下での確認による防止機能が十分に働かなかったことと、メンテナンス時のバックアップ仕様の変更が重なり、今回のデータの消失(バックアップデータの消失を含む)が発生いたしました。
障害の原因
原因1:脆弱性対策のための更新プログラムの不具合
脆弱性対策のためのメンテナンスが必要となる都度、メンテナンスのための更新プログラムを作成しており、今回も更新プログラムを作成しています。
そのプログラムの記述において、ファイル削除コマンドを停止させるための記述漏れと、メンテナンスの対象となるサーバー群を指定するための記述漏れが発生していました。
原因2:メンテナンス時の検証手順
メンテナンスに際しては、検証環境でまず動作確認を行うという手順が定められていましたが、プログラム実行後の動作確認を行う対象は、あくまでも当該メンテナンス対象サーバー群を確認すれば足りるとされていたため、検証環境下で対象サーバー以外に影響が及んだことの確認がないまま、動作確認上は問題なしと判定され本番環境での実施が行われました。
原因3:メンテナンス仕様
システムを含むデータのバックアップは毎朝6時に取得しております。
しかしながら、脆弱性対策のためのメンテナンスはバックアップをしてあるシステムについても実施しておかないと、メンテナンス実施後にハードウェア障害が発生してバックアップに切り替えた途端に脆弱性対策が講じられていないシステムに戻ってしまうことが過去に発生し、脆弱性対策がなされていないシステムが動き続けていたという反省に立ち、脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用するという構造に修正して実施しました。
そのため、今回のメンテナンス実施において、対象サーバー群のデータ消失と同時にバックアップ領域のデータも消失したという事象に至っています。
暫定対策
- サービス再開に必要な場合、および緊急メンテナンスが必要な場合など止むを得ない場合を除き、当面の間はメンテナンス作業を停止いたします。また、止むを得ずメンテナンス作業を行う場合には、ダブルチェックを欠かさず細心の注意を払って作業を実施いたします。
- メンテナンス運用手順を修正し、対象外サーバーの確認作業を追加します。
- 通常のバックアップ以外ではバックアップ領域に修正を加えられないように仕様を修正します。
今後の事故究明と再発防止策
第三者による事故調査委員会を6月30日までに立ち上げ、事故要因を徹底究明し、再発防止策を策定いたします。
ファイルの誤参照の障害について
復旧作業において専用サーバー、共有サーバーでそれぞれ障害が発生いたしましたので、下記の通りご報告いたします。
障害の概要
データ消失の後、データ復旧作業を実施。6月21日(木)9時ごろにデータの復旧プログラムにより消失データを復旧し、リカバードファイルとしてお客様に提供しました。
しかしながら、専用サーバーのお客様より、専用サーバー内において情報にアクセス権限を有していなかった者からも参照できる状態になっているとの報告があったため、リカバードファイルの提供を22日(金)21時ごろ停止し、状況の確認を行ったところ、専用サーバー内において、アクセス権限を有していなかった情報についても参照が可能な状態にあったことが判明しました。
上記、問題の発覚を受け、共有サーバーにおいても、リカバードファイルの提供を即時停止し、現在状況の確認を行っております。
障害の原因
原因:データ復旧手順の不備
弊社にて消失ファイルを復旧しようとし復旧プログラムを実行しましたが、復旧プログラムの仕様への理解が不十分であったため不適切なリカバリーファイルが作成されてしまい、その復旧ファイルの内容を確認せずにお客様に提供してしまったことが原因です。
影響範囲
現在調査中です。