ストーリー
田
田中VPoE
メトリクスの定義ができた。次はそれを「見える化」する。セキュリティダッシュボードの設計だ
あなた
Grafanaでダッシュボードを作るようなイメージですか?
あ
田
田中VPoE
ツールはGrafanaでもDatadogでも構わない。重要なのは「誰に」「何を」「どの頻度で」見せるかだ。経営層に見せるダッシュボードと、セキュリティエンジニアが日常的に見るダッシュボードは別物だ
田
田中VPoE
そうだ。経営層には「全体の健全性」と「ビジネスリスク」。セキュリティチームには「個別の脆弱性」と「対応状況」。開発チームには「自分たちのリポジトリの状態」。3層のダッシュボードを設計する
ダッシュボードの3層設計
対象者別のダッシュボード
| 層 | 対象者 | 目的 | 更新頻度 | 主要メトリクス |
|---|
| Executive | CTO, VPoE, 経営層 | ビジネスリスクの把握、投資判断 | 月次/四半期 | セキュリティスコア、インシデント件数、コンプライアンス準拠率 |
| Operational | セキュリティチーム | 日常運用、脆弱性対応の追跡 | 日次/リアルタイム | MTTR、オープン脆弱性数、SLAブリーチ |
| Team | 開発チーム | 自チームのセキュリティ状態の把握 | リアルタイム | 自リポジトリの検出数、修正率、トレンド |
Executive ダッシュボード
設計方針
- 1ページに収まるシンプルな構成
- 信号機方式(緑/黄/赤)で状態を一目で判断
- トレンド(改善/悪化)を時系列グラフで表示
レイアウト例
┌──────────────────────────────────────────────┐
│ Security Health Score: 82/100 [████████░░] │
│ 前月比: +5 トレンド: ↑ 改善中 │
├──────────────────────────────────────────────┤
│ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Critical │ │ MTTR │ │ Compliance│ │
│ │ 脆弱性 │ │ (Critical) │ │ 準拠率 │ │
│ │ 2 │ │ 18h │ │ 98% │ │
│ │ 🟡 (-1) │ │ 🟢 (↓) │ │ 🟢 (↑) │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ インシデント │ │ パッチ │ │ トレーニング│ │
│ │ 件数(月) │ │ 適用率 │ │ 完了率 │ │
│ │ 1 │ │ 96% │ │ 92% │ │
│ │ 🟢 (→) │ │ 🟢 (→) │ │ 🟡 (↓) │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
│ [脆弱性トレンド(6ヶ月)] [コスト対効果] │
│ ──────────────────────── ──────────────── │
│ ╱╲ ╱╲ 投資: 500万円 │
│ ╱ ╲ ╱ ╲── 回避コスト: 3000万円│
│╱ ╲╱ ╲── ROI: 500% │
└──────────────────────────────────────────────┘
セキュリティヘルススコアの算出
| カテゴリ | 重み | スコア算出基準 |
|---|
| 脆弱性管理 | 30% | MTTR達成率、オープンCritical数 |
| インシデント対応 | 20% | MTTD、インシデント件数 |
| コンプライアンス | 20% | 準拠率、ポリシー違反数 |
| プロセス成熟度 | 15% | カバレッジ率、パッチ適用率 |
| セキュリティ文化 | 15% | トレーニング完了率、セキュリティチャンピオン数 |
Operational ダッシュボード
日常運用で見るべきメトリクス
Operational ダッシュボード レイアウト:
┌─────────────────────────────────────────────┐
│ 【リアルタイム】 │
│ │
│ オープン脆弱性 SLAブリーチ 本日の検出 │
│ Critical: 2 ブリーチ中: 1 新規: 8 │
│ High: 15 期限48h以内: 3 修正: 5 │
│ Medium: 42 │
├─────────────────────────────────────────────┤
│ 【MTTR ヒートマップ(チーム別)】 │
│ │
│ チーム Critical High Medium │
│ Backend 12h 🟢 5d 🟢 25d 🟢 │
│ Frontend -- 🟢 8d 🟡 35d 🟡 │
│ Platform 6h 🟢 3d 🟢 15d 🟢 │
│ Mobile 24h 🟡 12d 🔴 40d 🔴 │
├─────────────────────────────────────────────┤
│ 【パイプラインステータス】 │
│ │
│ SAST: 全リポ通過 DAST: 2件ブロック │
│ SCA: 1件Critical Secret: 0件検出 │
│ Compliance: 98%準拠 │
├─────────────────────────────────────────────┤
│ 【最近のイベント(タイムライン)】 │
│ │
│ 10:15 CVE-2025-1234 検出 (lodash, Critical)│
│ 10:02 PR#456 SASTブロック (SQL Injection) │
│ 09:45 シークレットスキャン: 全クリーン │
│ 09:30 DAST完了: payconnect-staging │
└─────────────────────────────────────────────┘
Team ダッシュボード
開発チーム向けのメトリクス
| メトリクス | 表示内容 | 目的 |
|---|
| 自リポジトリの脆弱性数 | Critical/High/Medium別の件数 | 対応すべき脆弱性を把握 |
| SASTブロック率 | PRがSASTでブロックされた割合 | コード品質の指標 |
| 修正時間の推移 | 過去3ヶ月のMTTRトレンド | 改善状況の把握 |
| 上位の脆弱性カテゴリ | SQLi、XSS等のカテゴリ別件数 | 重点的に学ぶべき領域 |
| セキュリティチャンピオンの活動 | レビュー数、対応数 | チーム内のセキュリティ推進 |
ダッシュボード実装のツール選定
| ツール | 特徴 | コスト | 適用場面 |
|---|
| Grafana | OSS、柔軟なカスタマイズ、多数のデータソース | OSS無料 / Cloud有料 | 全般 |
| Datadog | APM統合、豊富なインテグレーション | 高い | 運用中心 |
| DefectDojo | セキュリティ特化、SARIF統合、重複排除 | OSS無料 | 脆弱性管理 |
| AWS Security Hub | AWS統合、マルチアカウント | AWS利用料に含む | AWS環境 |
データパイプラインの設計
セキュリティメトリクスのデータパイプライン:
[データソース]
├── SAST(Semgrep)──→ SARIF
├── DAST(ZAP)──→ SARIF
├── SCA(Trivy)──→ SARIF
├── Secret Scan(Gitleaks)──→ SARIF
├── Compliance(OPA)──→ JSON
└── Incident(PagerDuty)──→ API
[統合プラットフォーム]
└── DefectDojo
├── 重複排除(Deduplication)
├── 脆弱性のライフサイクル管理
├── SLA追跡
└── API公開
[ダッシュボード]
└── Grafana
├── DefectDojo API → Executive ダッシュボード
├── DefectDojo API → Operational ダッシュボード
└── DefectDojo API → Team ダッシュボード
「ダッシュボードは作って終わりではない。毎月のセキュリティレビューで使い、改善アクションに繋げる。見るだけのダッシュボードは意味がない」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|
| 3層設計 | Executive(経営層)、Operational(セキュリティ)、Team(開発)の3層 |
| ヘルススコア | 5カテゴリの重み付きスコアで全体の健全性を数値化 |
| ヒートマップ | チーム別・深刻度別のMTTRで対応状況を可視化 |
| データパイプライン | SARIF → DefectDojo → Grafana で統合管理 |
チェックリスト
次のステップへ
次は「セキュリティ成熟度モデル」を学びます。組織のセキュリティ成熟度を客観的に評価するフレームワークを身につけましょう。
推定読了時間: 30分