止まった理由を記録から読む
Day5 では、止まった世界の過去を読み直しました。人の記憶だけでは、何が起きたかを正確にたどれません。時間がたつと、原因の説明は簡単な物語になりがちです。
そこで頼りになるのが、当時のログ、メモ、設定の履歴、エラーの記録です。これらを読むと、「たぶんこうだった」ではなく、「この時点で何が起きていたか」に近づけます。
一次資料は、その場に近い記録
一次資料とは、あとからの説明ではなく、その場に近いところで残った記録です。サーバのログ、当時のメモ、設定変更の履歴、エラーメッセージなどがそれにあたります。
人の記憶は大事ですが、時間がたつと混ざります。容量不足だと思っていた問題が、記録を読むと別の原因だった。Day5 の話は、そういう思い込みをほどく作業でもありました。
ログは、機械が残した時系列
ログは、サーバやソフトが自分で残す記録です。いつ起動したか、どこで止まったか、どんなエラーが出たか。ログには、出来事の順番が残ります。
ただし、ログはそのまま読むだけでは分かりにくいこともあります。正常な行と異常な行を見分け、前後の流れをつなげ、ほかの記録と照らし合わせる必要があります。
「たぶんこれが原因だ」という仮の説明です。調査では仮説を持つことは大事ですが、ログや記録で確かめずに決めつけると、別の原因を見落とします。
攻撃面は、外から触れる場所の広さ
攻撃面とは、外から触れられる入口の広さです。入口が多いほど便利になりますが、守る場所も増えます。もう使っていない入口が外に向いたまま残っていると、知らない誰かに試されることがあります。
Day5 の「危ない扉」は、まさにこの話です。被害が出ていなかったとしても、それは安全に設計されていたという意味ではありません。たまたま何も起きなかっただけかもしれません。
サーバをもう一度起動し直すことです。再起動で直る問題もありますが、根本原因が残っていれば同じ止まり方を繰り返します。
人が毎回手でやる作業を、決まった手順として自動で動かすことです。自動化が止まると、復旧や点検も止まりやすくなります。
監査は、残った記録をあとから見直すこと
監査は、何が起きたかをあとから確認する作業です。ログや設定の履歴を見ることで、思い込みではなく証拠に基づいて判断できます。
公開できるのは、監査の考え方までです。実際のログや内部の入口の情報は、攻撃の手がかりにもなるため、このサイトには載せません。
三層防御で、失敗を一箇所に閉じ込める
Day5 では、守り方を三つに分けました。そもそも入れないようにする。入った人がうっかり壊しにくくする。壊れても戻せるようにする。
これは、ひとつの守りだけに頼らない考え方です。入口を閉じても、設定ミスは起こります。権限を分けても、事故は起こります。だから、複数の層で守ります。詳しくは 壊されても、元に戻せる でも説明しています。
障害や失敗のあとに、何が起きたか、なぜ起きたか、次にどう防ぐかをまとめる振り返りです。責めるためではなく、同じ失敗を繰り返さないために行います。