先週(2018/07/21)に長野で開催されたMicro Hardening v1.x@長野に参加したのでその内容をメモ。
Micro Hardeningとは
Micro Hardening は「衛る技術の価値を最大化することを目指す」プロジェクトであるHardening Projectから生まれたサブプロジェクトです。
「セキュアなハードニングをカジュアルに競技形式で学ぶ勉強会」であるMINI Hardening Projectよりもさらにカジュアルに「ゲーム感覚で」サイバー攻撃に対処する能力を磨くことを目指しています。
この勉強会は、Hardening Projectの川口さんが主催する守りのセキュリティを学ぶ勉強会。
参加者は与えられたシステムを数々のサイバー攻撃から守り、サービスの継続(売上の最大化)を図る。
本家のHardeningは、サーバ数十台からなる巨大な(というより現実に近い)規模のシステムを半日以上守り続けるハードなものだが、
今回参加したMicro Hardeningは、4人1チームでサーバ1台を45分間守るだけというマイルド仕様。
しかも本家Hardeningとは異なり、技術以外の要素(経営判断やマスコミ、法対応等)を求められないため、比較的敷居が低い。
セキュリティにあまり詳しくないITエンジニアでも気軽に参加できると感じた。
勉強会は1回45分の演習(サーバの防衛)を3セット繰り返す形で行われる。
また、仕掛けられる攻撃は毎回同じもののため、徐々に防衛の精度が上がり、成長を実感できる作りになっている。
演習の感想
ネタバレ防止のため、実際の演習内容(どんなインシデントが発生したか)については極力触れないようにしつつ、演習の感想をまとめる。
演習1回目はそれはもうグダグダだった。
原因はいくつもあったが、まとめると情報不足と準備不足の2つに集約できる。
- 渡されたサーバ上にどんなサービスが稼働していて、どれが必要なのか分からなかった
- サービスの死活監視や障害発生時の対応手順がまとまっておらず、右往左往した
- バックアップ等が取得されておらず、コンテンツが改ざんされても元に戻せななかった
- 障害発生後、原因究明しようとしたが、必要なログが取得されていなかった
そのため、1回目はひたすら反射神経で障害対応をしていた。
場当たり的な対策も多く、力不足を感じた。
休憩と作戦会議・準備を挟んだ後の2回目では、1回目の反省を活かし下記の対策を実施した。
- 演習開始前にサーバを堅牢化(不要サービスの停止・設定変更、FWの設定等)
- 正常時のバックアップを取得
- サービスの死活監視体制(誰が何を確認するのか)
- 各種サービスのログ取得および監視
- 演習前・演習中問わず、サーバに対して行った作業はすべて記録し、復元可能に
上記を行った結果、1回目とは見違えるほどスマートに対応できた。
サーバ堅牢化の結果、サービス停止はほぼ発生せず、
わずかながら発生させてしまった障害についても、ログから原因を突き止めることができた。
2回目終了時点で、サービス停止に繋がるすべての攻撃を把握し切った。
そうして迎えた3回目。
ここで地味に効いてきたのが作業内容の記録だった。
「あれ?堅牢化で何やったっけ?」となりかけたが、実施した作業はすべてメモしてあったため、デグレを発生させずに済んだ。
実務でもそうだけど、作業内容はすべて記録して再現・切り戻しを可能にすべきだと再確認。
2回目で判明した脆弱性も修正し、万全の体制で演習を開始した。
3回目はサービス停止も発生せず、ログ監視を続けているだけで45分を乗り切ることができた。障害が発生しないと確信できた分、普段の業務時よりも心穏やかだったと思う。
全体を通して
この勉強会では高度なセキュリティ知識は求められず、むしろ
- サーバ上で稼働しているサービスの種類やバージョンの把握
- ログ監視・解析
- サービス死活監視
- 作業内容の記録
- バックアップ等、元に戻すための準備
- パスワード設定、セキュリティパッチ適用等の初歩的なセキュリティ対策
といったITサービス運用の基礎が要求された。
実際のサイバー攻撃においても、設定不備等を突いた、ある種初歩的な手段が取られることが圧倒的に多いとのこと。
(脆弱なパスワード、不要なポートの開放、不要な機能の使用)
これらに対抗するためには、上に記載したような基礎能力を身に着け、それを着実に実行することが大事だと学んだ。
セキュリティに派手さはいらない。こういった地味だけど大切なことを漏れなく実施すべきだと。
Micro Hardeningは専門のセキュリティエンジニア限定の内容ということは決してなく、むしろ普通のIT企業に勤める普通の開発・運用担当者にこそおすすめの勉強会だと思う。