EN

NRIセキュア ブログ

Azureのセキュリティを堅牢にする方法|CIS Benchmarksを活用した実践的対策

目次

    Blogtop2

    皆さん、「クラウドセキュリティ」していますか?クラウド上で情報システムを運用している企業は、ますます増えていると感じています。一方でクラウドにおける情報漏洩の事例も後を絶ちません。

     

    本記事ではMicrosoft Azureを題材に、クラウド運用担当者に向けて、どのようなセキュリティ対策を取ることができるか、そしてセキュリティコンサルタントとしてどのようなアプローチを取ることができるか、お伝えいたします。

    NRI Secure Insight 2023

    Azure利用企業におけるセキュリティインシデントの事例

    クラウドを運用する企業において、どれだけのセキュリティインシデントが発生するものなのか?

     

    Gartnerの「5 Things You Must Absolutely Get Right for Secure IaaS and PaaS」というリサーチ・レポートによると「2021年までに、50%の企業が知らず知らずのうちに誤って、一部のIaaSストレージサービス、ネットワークセグメント、アプリケーション、APIをインターネットにパブリック設定で公開する過ちを犯してしまうと予測しています。

     

    これは2018年末の25%から増加しています。」と述べており、このレポートの中で重要なクラウドの保護方法について以下のように説明しています。

    - Get identity and access management (IAM) permissions right by using cloud-native controls to maintain least privilege access to sensitive data.

    - Encrypt all data at rest using customer-controlled keys.

    - Use zero trust network access (ZTNA) and microsegmentation to reduce risk and contain breaches.

    - Scan continuously for unsecure configurations using cloud security posture management (CSPM) tools.

    - Capture and analyze all logs using cloud-native threat detection and enterprise security information and event management (SIEM) tools.

    Source: Gartner, 5 Things You Must Absolutely Get Right for Secure IaaS and PaaS, Tom Croll, 7 May 2020.

     

    クラウドにおける「アイデンティティおよびアクセス管理権限の適切な使用」が出来ていなかったが故に発生した情報漏洩の事例の参考として、一般社団法人 日本クラウドセキュリティアライアンス(CSAジャパン)が発行する「危険な12の落とし穴 クラウドの重大セキュリティ脅威+2017インシデント事例集」*という文献があります。

    *https://www.cloudsecurityalliance.jp/site/wp-content/uploads/2018/12/treacherous-12-top-threats-Industry-insight_J_V2.1_20180521.pdf

     

    どのようなセキュリティインシデントが起きた場合に、どのようなビジネスインパクトがあるのか、文献と具体例、管理策が掲載されており、実際に起きたセキュリティインシデント事例をもとに掲載されていますので、一読いただくとよいと思います。

     

    では、Azureで「アイデンティティおよびアクセス管理権限の適切な使用」が出来ていない状況とは、どのようなことなのでしょうか。AWS利用企業の場合、Amazon S3というクラウドストレージサービスの設定不備に起因してセキュリティインシデントが発生するニュースを度々確認してきました。Azureにおいても同様のストレージサービスであるAzure Blob Storageの設定不備に起因してセキュリティインシデントが起きているのではないかと調べていると、多くのセキュリティインシデントの事例が見つかりました。

     

    以下はほんの一部です。

     

    Azure Blob Storageの設定不備により漏洩した情報には、ID、メールアドレス、クレジットカード番号、請求書、財務情報、システム設計書など個人情報、機密情報にあたるデータが含まれるということですが、流出したことに気づくことができているのはログを取得しており、なんらかの分析するタイミングで判明しているか、第三者からの報告によるものです。

     

    Azureでログを取得していない場合、流出したことに気づくことができません。ログを取得する設定は利用者の責任で行う必要があります。

    アップデートされた責任共有モデル

    クラウドにおけるセキュリティ対策をする上ではクラウドを運用する場合に、利用者とクラウドプロバイダにおいて責任の境界はどこにあるのかがとても重要となります。弊社ブログでは、SaaS、PaaS、IaaSにおける責任分解点の違いについて解説しています。

     

    クラウドの「管理者アカウント」を管理する方法|ポイントはクラウドの責任分界点

     

    しかし、近年のクラウド利用におけるモデルでは、コンテナ利用やサーバーレスアーキテクチャを採用したモデルも登場し、その責任分解点が不明瞭なままでした。先日、Cloud Security Alliance(CSA)からは従来のSaaS、PaaS、IaaSの責任共有モデルを背景に、Managed Kubernetes as a Service(K8s-aaS)、Container-as-a-Service(CaaS)、Function-as-a-Service(FaaS)、NoCode-as-a-Service(NCaaS)というように進化した新しいサービスモデルにおける責任共有モデルがリリースされました。

    shard_responsibility_model

    出典:The Evolution of Cloud Computing and the Updated Shared Responsibility

     

    新しい責任共有モデルをもとにクラウド利用者において、どの範囲のセキュリティ対策を行う必要があるかはっきりした今、自組織のクラウドにおけるセキュリティ対策を再確認する必要があるかと思います。いずれのモデルにしても言えることは、利用するクラウド上にあるデータにおけるセキュリティの責任は利用者側にあるということです。


    モデルごとのクラウドサービスがどれに該当するのかは、CSAのサイト*を確認ください。

    *https://cloudsecurityalliance.org/blog/2021/02/04/the-evolution-of-cloud-computing-and-the-updated-shared-responsibility/

    Azure利用企業における早期対策可能なセキュリティ対策アプローチ

    ひと昔前は、セキュリティはとても鬱陶しいものとして扱われていました。「セキュリティはコストでしかない」、「セキュリティは開発の邪魔をする」、筆者も良く耳にしました。しかしクラウド利用が進む今の時代、セキュリティ対策は、事業をとめてしまうゲートではなく、事業をドライブさせるガードレールという考え方も登場してきました。その一つがMicrosoft Azure Well-Architected Frameworkです。

     

    Microsoft Azure Well-Architected Frameworkはワークロードの品質向上に役立てられるもので、コストの最適化、オペレーショナルエクセレンス、パフォーマンス効率、信頼性、セキュリティという重要な要素で構成されています。中でも、セキュリティにおいては、設計と実装、デプロイと運用まで、アプリケーションのライフサイクル全体を通してセキュリティを考える、とMicrosoft社は述べており、Azureにおいてのベストなガイダンスとなっています。Microsoft社ではAzureにおける「セキュリティ設計原則」*について、安全に設計されたシステムを説明するものとして、以下の項目について述べています。

    *https://docs.microsoft.com/ja-jp/azure/architecture/framework/security/security-principles

    - セキュリティの優先順位をミッションに整合させる
    - 包括的な戦略を構築する
    - シンプルさを促進する
    - 攻撃者を念頭に置いて設計する
    - ネイティブの制御を活用する
    - IDを主要なアクセス制御として使用する
    - アカウンタビリティ
    - 自動化を採用する
    - 情報の保護に注力する
    - 回復力を考慮して設計する
    - ベースラインとベンチマーク
    - 継続的な改善を推進する
    - ゼロトラストを前提とする
    - セキュリティについて教育し、それを奨励する

    これらの原則すべてを網羅できているAzure利用者の方々は多くはないのではないでしょうか。改めて、自社のシステムを見直してみることを、是非おすすめします。しかし、いざ、Azureの利用環境についてセキュリティ状況を確認しようとしても、どこから確認すればよいか分かりにくいこともあります。そのような場合には、Microsoft社が提供するAzure Security Centerというセキュリティの対策状況を評価、可視化し、保護してくれるサービスを利用することができます。

     

    Azure Security Centerはクラウドワークロード全体で統合されたセキュリティ管理と高度な脅威保護を実現するサービスです。近年、二つの新しいセキュリティ対策の考え方として生まれた、クラウドセキュリティ態勢管理 (CSPM) 、クラウドワークロード保護プラットフォーム (CWPP)をカバーするものになっています。

     

    Azure Security Centerは、CIS Controls v7.1やNIST SP800-53 r4にて定義されているコントロール事項の「いいとこ取り」をしたAzure Security Benchmarkという事項に沿って確認を行います。NIST SP800-53は米国立標準技術研究所(NIST)が公開している「連邦政府情報システムおよび連邦組織のためのセキュリティ管理策とプライバシー管理策」*のガイドラインになります。CIS Controlsについては過去のNRIセキュアのこちらの解説ブログをご参照ください。

    *https://www.ipa.go.jp/files/000056415.pdf

     

    【解説】セキュリティ業務の自動化におすすめなガイドライン「CIS Controls」とは?

    Azure_Security_Center

    図:Azure Security Center
    出所)https://docs.microsoft.com/en-us/azure/security-center/security-center-introduction

     

    また、Azure Defenderと組み合わせることにより、ワークロード保護も行うことができるようになりますが、こちらの機能は有償となります。

    Azure_Defenderプランの画面

    図:Azure Defenderプランの画面

     

    まずは、Azure利用環境において、無償の範囲でもどれだけのセキュリティ対策ができているかを可視化してみることをお奨めいたします。

     

    同様の機能は、AWSではAWS Security Hub、Google Cloudでは、Security Command Centerというサービスが存在します。無償で使える機能が多く含まれるため、まずは機能の有効化を実施いただくことを推奨します。

    CIS Benchmarksを用いたシステム堅牢化支援サービスのご紹介

    セキュリティ対策を万全とするためには、Azure Security Centerの機能では確認できないセキュリティ対策の箇所も確認しておく必要があります。ここでは、設計の段階(基本設計、詳細設計、運用設計等)から混在してくる作りこみの脆弱性、品質に対して、どのようなアプローチをとることができるかを見ていきます。

     

    システム企画からシステム・運用テストの工程までにおいて、どのようなリスクがあるかを表にしたときに、工程ごとにレビュー基準を設けたときの例として以下の図のようになります。

    Risk

    図:工程ごとにおけるリスクとレビュー基準の一例

     

    Security by Designという考え方を念頭に、設計工程からセキュリティ対策を行うことにより、後工程での保守を行いやすく、運用工程でのセキュリティ対策コストを下げることが可能となります。本記事では詳細設計に対して、CIS Benchmarksを基準としたシステム堅牢化支援サービスのアプローチについて説明していきます。CIS Benchmarksの紹介はサービス紹介ページをご覧ください。

     

    CIS Microsoft Azure Foundations Benchmarkは名が表すとおり、CISが提供するAzureの安全なベースライン構成を確立するための規定的なガイダンスであり、Azureを採用するすべての利用者のためのセキュリティの基礎レベルを確立することを目的としたものとなっています。利用する環境によって、固有の調整を行う必要があります。

     

    本ドキュメントの対象者はソリューションの開発、リリース、評価、またはセキュアなソリューションを計画しているシステムおよびアプリケーション管理者、セキュリティスペシャリスト、監査人、ヘルプデスク、およびプラットフォームリリース担当者です。本記事執筆時点での最新リリースはv1.3.0(2021/02/01公開)です。ドキュメントはExcel版、Word版、PDF版が配布されます。

     

    CIS Microsoft Azure Foundationsに記載の最初の2項目を例に取り上げてみます。

    1.1 Ensure that multi factor authentication is enabled for all privileged users (Level1)

    1.2 Ensure that multi factor authentication is enabled for all non privileged users (Level2)

    この二つについてはよくある多要素認証の対策を施すことを示していますが、Level1では特権ユーザーが対象なのに対し、Level2では非特権ユーザーが対象となっています。Level2ではよりハイレベルなセキュリティを要求される環境において推奨されるものです。ドキュメントにはさらに対策するための根拠、影響、監査の方法について言及されています。

     

    弊社では、あらかじめお客様にて用意いただいた設計書一式を弊社でも読み解き、事前回答いただいた内容とドキュメントを突き合わせ、不明点があった場合は別途ヒアリングさせていただきます。回答いただいたすべての結果を元に対策できているのか、できていないのか、確認いたします。対策が未実施の項目についてはその場合におけるリスクと推奨対策をまとめ、改善計画をまとめます。最後に報告書にまとめ、最終報告を実施いたします。すべての項目において有効とするべきかどうかは、お客様の利用する環境下によって変わります。

     

    例えば以下のようなAzure環境があったとします。

    Azure利用企業の例

    図:Azure利用企業の例

     

    • 自社のオンプレミス拠点(OA環境)と専用線サービスを経由してプライベートクラウドに接続
    • OA環境からAzure環境内の社内システムにアクセスが可能
    • プライベートリンク接続でストレージサービスにアクセスが可能

     

    CIS Microsoft Azure Foundations Benchmarkには、「6.5 Ensure that Network Watcher is ‘Enabled’」という記載があります。Azure仮想ネットワーク内のリソース監視、診断、メトリックの表示、ログの有効化を行うサービスが無効になっている場合、Network Watcherは有効にしたい魅力的なサービスですが、ずっと利用していると環境によっては非常に高額な費用が発生する状況に陥ります。

     

    お客様によってはその年度では予算がなく、すぐに有効にできない場合もあります。有効にした場合に検討するべき事項もたくさん考えられます。この時点で、もし有効にすることができる場合、おおよその基本設計、詳細設計、そして運用設計を検討しておく必要があります。

     

    • そもそも現在の環境において、どれくらいの費用感になりそうか?
    • ログの安全な保存方法は?
    • ログの監視方法は?
    • ログの分析方法は?
    • 不正を検出した場合にどのようにしてアラートをあげるか?
    • その場合の連絡フローは?
    • そのセキュリティ対策によって事業がドライブしなくならないか?等

     

    CIS Benchmarksには記載されていない運用設計の工程をしっかり定めておかないと、ただただログが生成されて課金されるだけとなります。そのため、NRIセキュアでは、お客様の環境情報となるドキュメントにしっかり目を通して、お客様にとって対応可能な運用設計の方法を提言しています。

     

    「運用でカバー」という言葉がありますが、システム開発側にとって都合の悪いことを運用担当者に丸投げしているだけです。何かが起きてから場当たり的なセキュリティ対応をするよりは、より早いタイミングでSecurity by Designを意識した設計(基本設計、詳細設計、運用設計)を行うことで、事業がドライブしやすいガードレールとしてのセキュリティを構築・運用いただきたいです。

    おわりに

    本記事では、最新の責任共有モデル、Azure Security Center、Azure利用者向けのCIS Benchmarksを用いたシステム堅牢化支援サービスについて紹介しました。

     

    CIS BenchmarksはAzureだけでなく、AWS、Google Cloud、Oracle Cloud Infrastructureといったクラウドサービスプラットフォームだけでなく、各種OSやサーバ、ネットワーク機器、モバイル機器、データベース、アプリケーション等の製品やサービスに対してバージョンごとに詳細なパラメータまで定めており、現在、180 以上の文書が提供されています。

     

    NRIセキュアでは、CIS Benchmarksを自社システムで活用したいと考える企業に対して、アセスメントから運用プロセスの整備まで包括的に支援しています。セキュリティの課題、運用の課題等で何か興味をもたれた方は、お気軽にご相談ください。

    関連のサービス:
    CIS Benchmarksを用いたシステム堅牢化支援サービス

    新規CTA 

    ※記載されている製品・サービス名称は各企業・団体の商標または登録商標です。