システム障害発生!
2016/06/26
今月あたま、僕のせいで重大な障害を発生させてしまいました。
簡単に言うと、
クレジットカード番号がある条件に合致すると、顧客情報から消えてしまう障害がありました。
この対応で、僕がカード番号を復元したのですが、その復元内容に誤りがあった、というもの。
クレジットカード番号は、うちのシステムでは生値で保持は許されていないので、暗号化されています。
この暗号化の仕組みを理解しているのは僕1人。
よって、この障害の復旧は僕1人によって行われました。
しかし、緊急でなおさないといけない状況において焦りがあり・・・・
暗号化ロジックで暗号化させて顧客情報に保持させないといけないところ、復号化ロジックで変換して保持させてしまいました。(この時点ではまだ気づいていない)
この対応した日から数日後・・・・
「うちの請求データがカード会社からエラーになっていると、クレームがきているぞ!!!」
この時点でも僕には関係ない障害か・・・・程度に思っていました。
しかしその請求データの顧客情報を検索した担当者から、
「おまえが最近顧客情報を手修正したログがあるぞ?」
と連絡あり。ここまで来てようやく嫌な予感がしました。
嫌な予感というのは、カード番号の復元作業は過去に何回もやっており、
暗号化した後に、かならず復号化して、もとの番号に戻せるかを実証し、暗号化データの確からしさを検証していました。
しかし、今回は焦りながら復元したので、この作業をやっていませんでした。
おそるおそる、このカード番号の復号化をすると・・・・
・・・・・(´・ω・`)
嫌な予感は的中。ココで初めて自分の作業が誤っていたことに気づいたのです。
うちからの請求データはもう正常に送信済みであるので、うちのシステムではもうどうにもならなく、
カード会社で別途お客様と直接交渉したうえで手対応するとのことらしいです。
うちの会社では、お客様に何かしら影響を与えてしまった場合は1番危険度の高い障害として扱わられ、
障害内容、再発防止策を幹部の連中に説明しなければなりません。
今回はどう考えても僕個人の責任ですし、扱うデータの重大さを軽視していました。
反省・・・・・(´・ω・`)
幹部にもわかりやすい再発防止策を考えるのって大変。
これも良い経験なんだろうけど、また残業時間が増えるなぁ・・・・。