-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureWAFSecurity
俯瞰すると、以下のようにサマリ出来るらしい。
+基礎
オンプレ → クラウド(Azure では
オンプレ → クラウド(Azure では
ツール、レビューなど。
-
脅威モデリング
- STRIDE 分析
- OWASP Threat Dragon プロジェクト
-
脆弱性テスト(脆弱性対策のポイント(
OTR_VulnerabilityCountermeasurePoints.md))
IaC (Infrastructure as Code) + DevOps
ISMS(DNET_SecurityManagement.md)、ITIL(DNET_ServiceManagement.md)の
オンプレ → クラウド(Azure では
オンプレ → クラウド(Azure では
オンプレ → クラウド(Azure では
https://learn.microsoft.com/ja-jp/azure/well-architected/security/
-
物理 Data Center
"信ぜよ、されど確認せよ" -
ソフトウェア
https://learn.microsoft.com/ja-jp/azure/well-architected/security/principles
-
要件
- セキュリティの優先順位をミッションに整合させる
- 包括的な戦略を構築する
-
設計
- シンプルさを促進する
- 攻撃者を念頭に置いて設計する
- ネイティブの制御を活用する
- ID を主要なアクセス制御として使用する
- アカウンタビリティ(真正性、責任追跡性、否認防止、信頼性)
- 自動化を採用する
- 情報の保護に注力する
- 回復力を考慮して設計する
- ゼロトラストを前提とする
-
運用
- ベースラインとベンチマーク
- 継続的な改善を推進する
- セキュリティ教育を奨励する
補足(最新化 / W-AF の柱の再編): Azure Well-Architected Framework は
その後改訂され、セキュリティの柱は
**CIA トライアド(機密性・完全性・可用性)**を軸に整理し直されている。
チェックリストの項目名は変わったが、
上記の設計原則(ID を主軸に、ネイティブ制御を使い、ゼロトラストを前提に)
という骨子は変わっていない。
https://learn.microsoft.com/ja-jp/azure/well-architected/security/
- Security Intelligence Report
https://www.microsoft.com/en-us/security/security-insider/
脅威モデリングを活用
補足(STRIDE): 脅威モデリングの代表的な分類法。
対策の抜けを機械的に洗い出すために使う。
略 脅威 対応する性質 S poofing なりすまし 認証 T ampering 改ざん 完全性 R epudiation 否認 否認防止(監査ログ) I nformation Disclosure 情報漏洩 機密性 D enial of Service サービス妨害 可用性 E levation of Privilege 権限昇格 認可 データフロー図を描き、境界を越える箇所ごとに
この 6 つを当てはめていくのが基本手順。
https://learn.microsoft.com/ja-jp/azure/well-architected/security/
- 規制当局のセキュリティ標準に準拠
- クラウドを想定しないケースがある。
https://learn.microsoft.com/ja-jp/azure/well-architected/security/
-
攻撃のためのハードルを上げる
-
攻撃が成功した際の軽減・回復方法
- 多層防衛
- 早期の検知と対応
-
攻撃をうまくコントロール
- 最小特権付与
- 短い有効期間
- 検知&無効化
- アクセス先毎の権限の細分化
ガバナンス・リスク・コンプライアンス(GRC)
https://learn.microsoft.com/ja-jp/azure/cloud-adoption-framework/govern/
-
検討事項
-
セキュリティ機能別の役割
- ネットワーク・セキュリティ
- ネットワーク管理
- サーバ VM のセキュリティ
- インシデント監視・対応
- ポリシー管理
- ID 管理
-
企業部門毎のマイクロ・セグメンテーション
-
-
中央(統括部門)側の作業
-
VM のセキュリティ確保
-
インシデント通知の受け取り
-
よく知られたリスクの検知・修復
-
侵入テスト、古いプロトコルの検出
-
定期的なアクセス監査
-
不正な ID 利用の監視
-
その他
- 環境の作成と管理の自動化
- 各種ベンチマークによる体制評価
- ポリシー準拠の監査と適用
-
関連する機能
-
Azure Policy
グループポリシーの Azure 版 -
Azure Security Center
・VM のパッチ適用漏れ
・VM のネット直接続
・セキュリティ・スコア -
Azure AD アクセス レビュー
グループ メンバ・アプリのアクセスを可視化および制御 -
Azure Blueprints
ARM、RBAC、ポリシーなどの成果物を
パッケージ化、デプロイを簡略化する。 -
Azure Sentinel
SIEM 機能、SOAR 機能、UEBA 機能
https://learn.microsoft.com/ja-jp/azure/sentinel/overview -
高度なセキュリティ機能
・Azure 専用 HSM
・Azure Confidential Computing
-
-
-
権限分掌設計
-
コア・サービス
Hub VNET, ADDS, DNS/DHCP の作成と管理
中央(統括部門)側でも権限を持ち、管理- セキュリティチーム
- ポリシー管理チーム
- ネットワーク管理チーム
- 緊急事態用アカウント
- 中央 IT 運用チーム
-
部門サービス
Spoke VNET, 業務システムの作成と管理
中央(統括部門)側でも適切に権限を持ち、管理- セキュリティチーム
- ポリシー管理チーム
- ネットワーク管理チーム
- 緊急事態用アカウント
- IT 運用チーム
- アプリケーション管理者
-
※ 緊急事態用アカウント : Break Glass Account
条件付きアクセスは外しておく。
補足(コア/部門の分割が権限設計の骨格): この
「コア・サービスは中央、部門サービスは各部門。ただし中央も権限を持つ」
という設計は、Azure Virtual Data Center の
Hub & Spoke 構成にそのまま対応する。Hub (コア・サービス) … 中央が排他的に管理 ↕ ピアリング Spoke(部門サービス) … 部門が管理。中央は監査・ポリシー適用の権限現在は管理グループ(サブスクリプションの上位階層)に
Azure Policy と RBAC を割り当てることで、
「部門に自由を与えつつ、外してはいけない枠は中央が固定する」
という形が標準的に実装できる。
保護対象に対する攻撃が成功する確率と影響
- 標準、組織、管理、法規制
- 例:ISO27001、NIST、PCI DSS
-
単一ディレクトリ利用
(運用管理作業用アカウントの話) -
ID 同期の設計
(強権限 ID は同期しない) -
外部ディレクトリの利用
(B2B/B2C の利用) -
認証
-
パスワード保護対策機能の利用
-
レガシー認証のブロック、
パスワードレス認証、2FA/MFA -
SSO の実施(SAML、OIDC)
-
-
条件付きアクセス
-
攻撃シミュレーションの実施
補足(「強権限 ID は同期しない」の意味): オンプレミス AD と
Azure AD を同期する場合、
オンプレ側が侵害されるとクラウド側も巻き添えになる。
したがって、クラウドの全体管理者・特権ロールに就くアカウントは
**クラウド専用(クラウドオンリー ID)**として作り、同期対象から外す。
これは Azure Subscriptionの管理@エンプラ の
「VDC 専用ディレクトリ」の議論と同じ動機である。
-
適切なインターネットエッジ戦略
- Azure Firewall
- Azure Application Gateway(WAF)
- NVA(アプライアンス)
-
NIDS / NIPS / NDLP(
DNET_SecurityCountermeasureDefense.md)の利用 -
ネットワーク通信の可視化
Azure Sentinel(SIEM)によるログ統合- NSG ログ
- WAF のログ
- 仮想ネットワークタップ
- Azure Network Watcher
-
IP アドレス設計
-
強制トンネリング(オンプレ迂回)を避ける
- 通信量の増大
- レイテンシの悪化
- コストの増加
補足(最新化): 仮想ネットワーク TAP は提供されなかった
(プレビューのまま廃止)。
現在、同等の目的には Azure Virtual Network Flow Logs
(NSG フローログの後継)+ Traffic Analytics、
あるいはパケット単位が必要なら
Network Watcher のパケット キャプチャを用いる。
-
ストレージアクセスに利用する認証方式の選択
-
プラットフォーム暗号化サービスを無効化しない
-
仮想マシンの VHD ファイルを保護
- VHD ファイルに適切な認証・認可を設定
- ADE(Azure Disk Encryption)でディスク暗号化
補足: 「ストレージアクセスに利用する認証方式の選択」は具体的には、
共有キー(アカウント キー)を無効化し、
Azure AD の ID ベース認証(RBAC)に寄せる
ことを指す。キーは失効の単位が粗く、漏洩時の被害が全体に及ぶため。
SAS トークンを使う場合も、
ユーザー委任 SAS(Azure AD ベース)を選ぶのが現在の推奨。
-
守りかたの基礎
他に比べて圧倒的に重要(≒ いくらインフラで守ってもアプリで漏れる。)-
スコープの際を意識する。
- IaaS
- PaaS/CaaS
- SaaS
-
リスクの高い部分を意識して対策する。
-
DevOps アプローチを採用する。
Secure DevOps Kit for Azure
-
-
2つのアプローチ
- ボトムアップ : ソフトウェア開発ライフサイクル(SDLC)
- トップダウン : 脅威モデリング
-
設計・実装上のポイント
- 基本的なセキュリティ機能を自力実装しない、
各サービスが持つセキュリティ機能を活用する。 - 鍵を使わずなるべく ID 認証(Managed ID)を利用する。
- WAF を利用する(ただしそれだけに依存しない)
- 基本的なセキュリティ機能を自力実装しない、
-
コンテナのベストプラクティス
- CaaS は Managed 型のサービスを使う。
- コンテナ・イメージの身元を確認する。
- コンテナを管理者権限で実行しない。
- コンテナを監視する。
補足(「いくらインフラで守ってもアプリで漏れる」): これは
FgCF の Weakest Link や、
Azure Virtual Data Center の
「閉域化に投資してもアプリ脆弱性を突かれれば同じ」という指摘と同一の主張である。
本ページ全体を通して一貫して繰り返されている論点であり、
投資配分を決める際の判断基準として読むべきところ。
作業特権アクセスの厳格な管理
-
ベストプラクティス
-
オンプレ / クラウド
-
柱
- 人材
- 認証
- 最小特権
- 特権アクセス端末
-
カテゴリ
-
アカウント設計
高い特権作業用に、別のアカウントを用意する。
・コンシューマ・アカウントを使わない
・AD LAPS、AzAD PIMなどの利用
・OA 系の権限を剥奪(Web、Office)。
・オンプレとクラウドの管理を適切に分断(同期しない)(→ 既出)
・緊急事態用アカウントを用意しておく(→ 既出) -
アカウント利用
・パスワードレス認証や MFA の義務付け
・条件付きアクセスの強制
・ライフサイクル管理の確立
・利用ユーザの教育 -
作業端末
・ハードニング(堅牢化)された端末を利用
・一般:専用端末、ハイセキュリティ端末
・高権限:隔離端末、特権アクセス端末(PAW : Privileged Access Workstation)
・機能
・MDATP
・Microsoft Intune
・Windows Autopilot
・Azure Sentinel
・参考:https://learn.microsoft.com/ja-jp/security/privileged-access-workstations/privileged-access-devices -
権限設計・権限付与
・特権付与が必要なアカウント数を管理し減らす。
・細かすぎる権限付与を避ける。
・最小特権付与も程々に。
・グループを活用する。
・管理グループ(サブスクリプションを上回る)
・リソース・グループ
・特権を永続的に付与しない。
(AzAD PIMによる JIT)
・カスタム・ロールの利用を避ける。
基本的にはビルトインのロールを活用する。
-
-
補足(「最小特権付与も程々に」という現実解): 最小特権を突き詰めると
カスタム ロールが乱立し、
- 誰も全体像を把握できなくなる、
- API の追加でロールが壊れる(必要な操作が増える)、
という別のリスクが生まれる。
この「原則と運用性のバランスを取れ」という指摘は実務的に重要で、
Azure Policy 側で
「やってはいけないこと」を禁止する方が管理しやすい場合が多い。なお MDATP は Microsoft Defender for Endpoint、
Azure Sentinel は Microsoft Sentinel に改称されている。
-
脅威
- 自動攻撃や繰り返し攻撃
- 人手による攻撃(標的型攻撃(
DNET_SecurityThreats.md)等)
-
対策
- Detect(検出)
- Respond(応答)
- Recover(復旧)
-
ベストプラクティス
- 企業全体を俯瞰したセキュリティ運用を行う
- クラウドネイティブのセキュリティ機能を使う
- SIEM に入れるアラートやログを適切に選別する。
- ツール(Azure Security Center, Azure Monitor, NSG フローログ, EDR など)を活用し、
- SIEM(Azure Sentinel, Splunk, QRadar など)で情報を可視化する。
- セキュリティ運用の目標と数値指標を定義する。
参考:https://www.microsoft.com/security/blog/2019/02/21/lessons-learned-from-the-microsoft-soc-part-1-organization/
補足(「適切に選別する」=費用の話でもある): SIEM の課金は
取り込みデータ量に比例するため、これは技術要件であると同時に費用要件である。
Log Analytics の
分析ログ / 基本ログ / アーカイブの層分けと併せて設計すること。
- エンプラでの慣例
- W-AF でのスタンス
- エンプラ・W-AF 間の折衷案
- 入出力の閉域化。
- 入力のみの閉域化。
- 折衷案
- インフラ・システム
- アプリケーションとサービス
脆弱性テスト
- 到達経路の明確化(接続元をホワイトリスト的に絞る)が慣例。
- W-AF には記載が無い(CDN は管理されている、...が透明性が無い)。
- オンプレと同じ製品の仮想アプライアンス版を採用する。
- 中央統制(野良クラウド発生の原因になる)が慣例。
- W-AF では柔軟な権限移譲を許可するスタンス
- 2つの方法
- 中央部門のスキルを向上させ対応を早める。
- マイクロ・セグメンテーション+権限移譲
- 共有アカウント(root, administrator)
- 個人アカウント(個人特定のため)
- 2つの方法
- 共有アカウントはオンプレ延伸環境(IaaS)で利用
- 個人アカウントはクラウド環境(PaaS、SaaS)で利用
- 軽視されている
- 重視されている(ただし、実践は困難)
- 人材育成とコンサル利用
- OA 環境との分離を想定していないケースが多い。
- 厳格なハードニング(堅牢化)が推奨されている。
- OA 環境からの分離とハードニング(堅牢化)の推進
移行メモ(誤字): 原文の「バードニング」は
**ハードニング(hardening、堅牢化)**の誤記と判断し修正した。
補足(この Fit & Gap こそが FgCF の核心): 一般的な W-AF の解説は
「あるべき姿」を述べるだけで終わるが、この節は
日本のエンタープライズの慣例と、W-AF の推奨がどこでぶつかるかを
正面から並べている点に価値がある。
特に「NW 閉域性」「権限分掌」の 2 つは、
実際のプロジェクトで必ず論点になる箇所である。
- セキュリティの重要な要素の概要 - Azure Well-Architected Framework
https://learn.microsoft.com/ja-jp/azure/well-architected/security/
FgCF > ゼロトラスト型マルチクラウド IT 環境 > Azure Well-Architected Framework : Security セクション概要解説
※ 体系・pwd は FgCF (Financial-grade Cloud Fundamentals) を参照。
Tags: 移行, インフラストラクチャ, クラウド, セキュリティ, 通信技術, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。