クラウドネイティブセキュリティプラクティス徹底解説--三大クラウド分析
みなさんこんにちは!SOMPOシステムズ大連出身のクラウドエンジニアです!SOMPOシステムズ大連は、オフショア開発拠点として中国の大連市に設立したSOMPOシステムズの子会社です。設立当初は下流工程中心でしたが、現在はサテライトオフィスの位置づけで上流から下流まで一連の工程を担う中国完結型開発を実施しています。高付加価値のITサービスを提供するとともに、SOMPOグループが掲げる「安心・安全・健康であふれる未来へ」の実現に貢献できることを目指しています。
クラウドネイティブ技術の急速な普及に伴い、セキュリティ対策はこれまで以上に重要な課題となっています。従来のオンプレミス環境と異なり、クラウドネイティブ環境ではコンテナ、マイクロサービス、サーバーレスといった新しい技術スタックが採用され、これに応じたセキュリティ戦略が求められています。本記事では、具体的な実装方法や対策を紹介するのではなく、クラウドネイティブセキュリティの原則について、三大クラウドにおけるサービスオプション、そしてクラウドネイティブセキュリティのベストプラクティスを俯瞰的な視点から徹底解説していきます。以下の皆さまが、自身の組織のニーズに合わせてクラウドネイティブセキュリティへの理解を深めていただければ幸いです。
・ITコンサルタント、技術リーダー、CTO役の方
・クラウド領域に関わるシステム管理者、エンジニア、リーダー
・セキュリティ領域に関わる管理者、エンジニア、リーダー
1.クラウドネイティブセキュリティ
クラウドネイティブセキュリティとは、クラウドネイティブアプリケーションに特化したセキュリティアプローチであり、開発から本番環境までアプリケーションのライフサイクル全体にセキュリティを組み込むことを目指しています。このアプローチは従来のセキュリティモデルが求める厳格な基準も維持しながら、迅速なコード変更や一時的なインフラなどのクラウドネイティブ環境の特有のニーズに対応します。クラウドネイティブセキュリティはDevSecOpsの実践と密接に連携しており、開発プロセスにセキュリティをシームレスに統合することができ、さらに規制遵守支援能力、脅威検出と対応能力を提供し、現代のアプリケーションセキュリティにおいて欠かせない要素となっています。
三大クラウドベンダー(AWS、Azure、Google Cloud)が提供するクラウドネイティブセキュリティは強力であり、自社プラットフォーム特有のニーズに合わせたセキュリティサービスやツールを提供しています。ネイティブセキュリティの原則(詳細は次章に記載)は組織全体セキュリティ確保の方向性、一貫性、柔軟性、文化醸成を戦略的に提供し、セキュリティツールの効果を最大化します。クラウドネイティブセキュリティを確保するためには、クラウドネイティブセキュリティ領域原則とセキュリティ関連するクラウドプロダクトの両方活用が欠かせません。
2.クラウドネイティブセキュリティの原則
2022年6月にクラウドネイティブコンピューティング技術を推進する非営利団体であるCNCFによって、最新版のクラウドネイティブセキュリティ白書が公開され、その中でクラウドネイティブセキュリティの6つの原則が発表されました。これらの原則には、「セキュリティ・バイ・デフォルト」「最小特権」「役割と責任の分担」「サプライチェーンセキュリティ」「GitOps」「ゼロトラスト」が含まれています。それでは、一つずつ説明していきます。
2.1 セキュリティ・バイ・デフォルト
セキュリティ・バイ・デフォルトはシステムにおけるセキュリティ機能や設定を最初から組み込んだ状態にすべきという原則です。クラウドネイティブ環境でセキュリティ・バイ・デフォルトへシステムの構築または移行に、以下のセキュリティ・バイ・デフォルト事項に従うことをお勧めします。
・セキュリティを設計要件にします
・無意識的に非セキュアな設定を回避します
・非セキュア状態からセキュア状態への移行は可能です
・セキュリティ例外リストに関する事項を最優先対応します
・脆弱性の悪用を防ぎます
・システムのセキュリティ限界は説明可能です
2.2 最小特権
最小特権は、攻撃対象領域と潜在的な被害範囲を最小限に抑えるために、すべてのツールやサービスを含むスタックのあらゆるレイヤーで徹底されなければなりません。組織は、サービスやコンテナがルートレスであることを確認し、強制アクセス制御機能(例:SELinux、AppArmor)を導入し、特権のエスカレーションを防ぎ、厳格なアクセス制御を維持するための隔離技術を活用すべきです。
2.3 役割と責任分担
クラウドネイティブアーキテクチャを採用する際、組織は従来のセキュリティ役割分担を調整すべきであり、クラウド環境に特化した新しい役割を創出する必要があります。セキュリティは適応的であり、開発プロセスと統合され、ビジネスのニーズに合わせる必要があります。そのため、開発者がセキュリティ専門家になるのではなく、セキュリティ専門家からサポートを受けられる体制が求められます。職務分離(Separation of Duties)を明確に維持し、組織のリスク許容度に合わせた役割別のアクセス制御を行うことが重要です。クラウドに移行する際、組織はリスクの対応方法を再評価し、それに応じてセキュリティの実践やポリシーを適応させる必要があります。これにより、クラウドプロバイダーと内部チームの間で責任を共有し、バランスを取ることが可能になります。
2.4 サプライチェーンセキュリティ
システムのセキュリティはコンポーネントのセキュリティに強く依存するため、サプライチェーンセキュリティは非常に重要です。効果的なサプライチェーンセキュリティは、ソフトウェアやハードウェアの開発に関与するすべての関係者からのリスクを管理するための堅牢なポリシーと手順を含み、設計からデプロイに至るすべての段階が認証・検証されることを確実にします。ソフトウェア部品表(SBOMs)は、コンポーネントや潜在的な脆弱性を特定するために不可欠であり、CI/CDプロセスの各段階で暗号化手法を用いて生成・検証される必要があります。成熟度の高いサプライチェーンセキュリティ戦略には継続的な監視、迅速な脆弱性通知、標準(例:VEX)への準拠が含まれ、セキュアでコンプライアンスを維持した環境を確保します。
2.5 GitOps
GitOpsは、ソースコントロールシステムGitを使用するコードベースインフラと運用手順であり、一貫性のある自動デプロイを可能にし、手動操作への依存を軽減します。IaC(Infrastructure as Code)、イミュータブル宣言型インフラなどを活用することで、無許可の変更リスクを最小限に抑えることで、GitOpsは監査証跡を提供し、ポリシーを強制し、セキュリティを強化します。GitOpsプロセスを安全に保つためには、最小特権の原則を実装し、強力なアイデンティティ管理を施し、機密データを保護し、脆弱性を監視することが重要です。これらの実践に従うことで、GitOpsは本番環境に脆弱性が持ち込まれることを防ぎ、安全で信頼性のあるインフラを確保します。
2.6 ゼロトラスト
「決して信頼せず、常に検証する」という原則に基づいて、ゼロトラストアーキテクチャは、ネットワーク内の横移動の脅威を軽減するために、細かなセグメンテーションや細かな境界を実装し、継続的な検証と強制的なポリシーによって暗黙の信頼を排除します。ゼロトラストフレームワークは、強力な信頼の基点を活用することで、ゼロトラストの構成要素を構築し、コンテナやオーケストレーターなどのエンティティのアイデンティティを証明し、検証し、正しさを示す能力の認証を必要とします。
3.クラウドネイティブセキュリティに関するクラウドサービス
3.1 三大クラウドの共通セキュリティサービス
各クラウドベンダーのセキュリティサービスは異なりますが、四つの領域「アイデンティティおよびアクセス管理(IAM)」、「ネットワークおよびアプリケーション保護」、「データ保護」、「脅威の検知と対応」に分類できます。それぞれの領域について、主要な三大クラウドのセキュリティサービスを紹介します。
3.1.1 IAM
アイデンティティおよびアクセス管理(IAM)は、クラウド環境内で誰がどのリソースにアクセスできるかを管理することで、クラウドセキュリティにおいて重要な役割を果たします。IAMの主な目的は、ユーザやサービスに対してアイデンティティの確認、アクセス制御、特権管理を実施することです。一般的なIAMサービス(AWS IAM、Google IAM、Azure Microsoft Entra ID)では、細かなアクセス制御、MFAサポート、外部アイデンティティプロバイダーとの統合(SSO)、ユーザの監査とモニタリングといった共通の基本機能を提供しています。さらに、クラウドサービスプロバイダーは、ワークロードに対して高度機能を持つIAM選択肢(Amazon Cognito、AWS Directory Service、AWS Resource Access Manager、AWS Organizations、Google Cloud Identity、Google Identity-Aware Proxy、Google Managed Service for MS AD、Azure Microsoft Entra Domain Servicesなど)も提供しています。
3.1.2 ネットワークとアプリ保護
クラウドセキュリティサービスは、アプリケーション層、ホスト層、ネットワーク層、および組織層など、さまざまな側面から顧客の資産をさまざまな脅威や脆弱性から保護します。
・アプリケーション層
アプリケーションレベルの保護サービスは、SQLインジェクション、クロスサイトスクリプティング(XSS)、DDoS攻撃などの一般的な攻撃パターンからアプリケーションを保護します。企業は、AWS Shield、AWS WAF、Google Cloud Armor、Google Cloud reCAPTCHA Enterprise、Azure WAF、Azure DDoS Protectionなどのクラウドサービスをアプリケーション層のセキュリティツールとして選択できます。
・ホスト層
ホスト(仮想マシン)層保護は、システム内の仮想マシンに対して詳細なアクセス制御、トラフィックフィルタリング、および動的管理機能を提供します。企業は、Amazon VPC Security Groups、Google Cloud VPC Firewall、Google Cloud Shielded VM、Azure VNet Security Groups、Azure Bastionなどのクラウドサービスを仮想マシン層のセキュリティツールとして選択できます。
・ネットワーク層
ネットワーク層の保護は、仮想ネットワーク内のトラフィックの流入と流出に対してセキュリティポリシーを適用することで、悪意のある活動から保護します。企業は、AWS Network Firewall、AWS Network ACLs、Amazon Route53 Resolver DNS Firewall、Google Cloud VPC Firewall、Azure Firewallなどのクラウドサービスをネットワーク層のセキュリティツールとして選択できます。
・組織層
組織層の保護は、クラウドインフラ全体にわたる集中管理、改善された可視性、および強化されたコンプライアンスを提供することで、大きなメリットをもたらします。企業は、AWS Firewall Manager、Google Cloud VPC Service Controls、Azure Firewall Managerなどのクラウドサービスを組織全体レベルのセキュリティツールとして選択できます。
3.1.3 データ保護
データ保護は、クラウドセキュリティにおいて、保存中のデータおよび転送中のデータを不正アクセス、侵害、紛失、改ざんから保護することに重点を置く役割を果たします。企業は、AWS KMS、AWS CloudHSM、AWS Certificate Manager、AWS Secrets Manager、Google Cloud Key Management、Google Secret Manager、Google Titan Secret Key、Azure Key Vault、Azure Dedicated HSMなどのクラウドサービスを使用して、アルゴリズムレベルおよびハードウェアレベルでデータを暗号化することができます。また、組織のセキュリティニーズに応じて、Amazon Macie、Google Sensitive Data Protection、Azure Confidential Ledgerという高度なデータ処理サービスも(例:機密情報の特定・マスキングなど)利用可能です。
3.1.4 脅威の検知と対応
脅威検出と対応のためのクラウドセキュリティサービスは、潜在的なセキュリティ脅威をリアルタイムで特定し、迅速に対応して被害を軽減するのに役立ちます。これらのサービスは、多くの場合、機械学習、AI、自動化といった高度な技術を利用してインシデント対応能力を向上させます。企業は、Amazon GuardDuty、Amazon Inspector、AWS Security Hub、Google Cloud IDS、Google Security Command Center、Google Security Operations、Azure Security Centerなどのクラウドサービスを検出および対応ツールとして選択できます。
3.2 各クラウドの特有セキュリティサービス
共通のセキュリティ機能に加えて、各クラウドベンダーは自社のサービスの特性に応じた独自のセキュリティサービスを提供しています。
3.2.1 AWS Control Tower
AWS Control Towerは、AWSのベストプラクティスに基づいて、安全なマルチアカウントAWS環境のセットアップとガバナンスを自動化するためのマネージドサービスです。事前に構成された環境を提供し、組み込みのコンプライアンスチェック、ガードレール、中央集中的なセキュリティ管理を備えているため、AWSにおけるマルチアカウント管理を簡素化します。
3.2.2 AWS Config
AWS Configは、AWSリソースの設定変更を詳細に追跡し、事前定義されたルール(AWS Config Managed Rules)やカスタムルール(AWS Config Custom Rules)に対してリソース設定を評価することができます。この詳細さとカスタマイズ性に加え、豊富なマネージドルールのライブラリや自動修復機能により、他のクラウドサービスプロバイダーの類似サービスと比べて、より細かなコンプライアンス監視を提供します。
3.2.3 Azure Sentinel
Azure Sentinelは、クラウドネイティブのセキュリティ情報およびイベント管理(SIEM)とセキュリティオーケストレーション、オートメーション、レスポンス(SOAR)のソリューションです。Microsoft 365、Azureサービス、そして多くのサードパーティツールとスムーズに統合し、リアルタイムでセキュリティデータを収集・分析し、AIと自動化機能を活用して脅威の検出、調査、対応を効率的に行います。スケーラブルで柔軟なセキュリティ管理が可能で、オンプレミスやクラウド環境全体のセキュリティを一元的に監視・管理します。
3.2.4 Google Cloud BeyondCorp
Google CloudのBeyondCorpは、ゼロトラストセキュリティモデル実装の唯一であり、ネットワークの内外を問わず、ユーザやデバイスをデフォルトで信頼しないという考え方に基づいています。BeyondCorpはアクセス制御をネットワークの境界から個々のユーザやデバイスに移行し、ユーザのアイデンティティやデバイスのコンテキストに基づいた細かなアクセスポリシーを適用します。
3.3 三大クラウドセキュリティサービスの特徴比較
3.3.1 AWS
・総合的なセキュリティサービス群:IAMやデータ暗号化、脅威検知、コンプライアンスを含む幅広いセキュリティサービスを提供し、AWS ShieldやGuardDutyなどを通じて多様な脅威からの包括的な保護を実現します。
・サービス間の強力な連携:AWSには広範なエコシステム全体でシームレスに機能する統合されたセキュリティツールのスイートがあります。例えばIAMはほぼすべてのAWSサービスと深く統合されており、細かいアクセス制御と自動化されたセキュリティ管理が可能です。
・スケーラビリティと柔軟性:AWSのセキュリティサービスは高いスケーラビリティを持ち、小規模なスタートアップから大企業まで、さまざまなニーズに合わせてカスタマイズできます。この柔軟性により、企業は自社の規模やリスクプロファイルに応じた適切なセキュリティコントロールを実施できます。
・高度な脅威検知と対応: Amazon GuardDuty、AWS Security Hub、AWS DetectiveなどのAWSサービスは、機械学習を活用して潜在的なセキュリティ脅威を特定し、対応する高度な脅威検知機能を提供します。AWSのグローバルなリーチと広範な顧客基盤は、これらのサービスを強化するための豊富な脅威インテリジェンスデータを提供します。
上記のAWSの特徴に関連して、セキュリティ管理の複雑さやコスト最適化の工夫などは、ユーザーにとって課題となる可能性が高いです。
3.3.2 Microsoft Azure
・Microsoftエコシステムとの統合:Azureのセキュリティ機能は、Windows Server、Active Directory、Office 365など、Microsoftの広範なエコシステムと深く統合されています。これにより、すでにMicrosoft技術に投資している企業は、オンプレミスとクラウド環境の両方でシームレスなセキュリティ管理を実現できます。
・強力なハイブリッドクラウド機能:Azureは、Azure ArcやAzure Security Centerなどのツールを活用し、オンプレミスとクラウド環境の両方で一貫したセキュリティ管理とガバナンスを提供する堅牢なハイブリッドクラウドソリューションを実現しています。これは、クラウドへの移行を進めている組織やハイブリッド運用を行っている組織にとって理想的です。
その側面として、Azureは、複雑なライセンスと価格モデル、ゼロトラストモデルへの重点の少なさ、Microsoftエコシステムへの過剰な依存が弱みとなり、特に非Microsoft中心のIT環境での柔軟性を制限する可能性があります。
3.3.3 Google Cloud
・ゼロトラストセキュリティモデル:BeyondCorpフレームワークを通じてゼロトラストセキュリティアーキテクチャの実装におけるリーダーです。このモデルは、ユーザーやデバイスをデフォルトで信頼しない前提に基づき、クラウド環境内のリソースを保護する堅牢なアプローチを提供します。
・統合された脅威検知と対応:Google Cloud ArmorやGoogle Security Operationsなどのツールを通じて高度な脅威検知機能を提供します。これらのツールは、Googleの豊富な脅威インテリジェンスと機械学習の専門知識に支えられ、現代のサイバー脅威に対する強力な保護を実現します。
・簡素化されたセキュリティ管理:Google Cloudのセキュリティツールは、ユーザーフレンドリーで、複雑さを軽減するように設計されています。VPC Service ControlsやAccess Transparencyなどの機能は、セキュリティとコンプライアンスを管理するための直感的で一元的な方法を提供します。
・データ保護とプライバシー:使用中のデータを暗号化するConfidential VMsや、リアルタイムでデータを分類・保護するCloud Data Loss Prevention APIなどを提供しており、データ保護とプライバシーに優れています。GCPのプライバシー重視のアプローチは、厳格なデータ保護要件を持つ顧客にとって大きな魅力となっています。
側面として、特にAWSやAzureと比較すると、Google Cloudはハイブリッドクラウドやオンプレミス統合に関連する企業向け機能の提供において成長の余地があると考えられます。
3.3.4 結論
各クラウドプロバイダーは、クラウドネイティブセキュリティにおいて独自の強みと弱みを持っています。セキュリティに最適なクラウドプロバイダーを選ぶことは、組織の特定のニーズや既存のインフラストラクチャ、戦略的優先事項に依存します。セキュリティの確保において、クラウドプロバイダーが提供するセキュリティサービスだけを利用するのは不十分だと考えられます。自社のサイバーセキュリティ戦略に合わせて、適切なセキュリティサービスや製品を評価し選択することも重要です。
4.クラウドネイティブセキュリティのベストプラクティス
クラウドネイティブセキュリティのベストプラクティスは、クラウド環境がもたらす独自の課題に対処するために設計されており、アプリケーションやデータが安全に保たれると同時に、クラウドのスケーラビリティ、柔軟性、効率性を最大限に活用できるようにします。以下は、クラウドネイティブセキュリティにおける重要なベストプラクティスのいくつかです。
4.1 ゼロトラストセキュリティモデルの採用
最小特権原則に基づいて、アイデンティティベースのアクセス制御、マイクロセグメント設計、マイクロ境界設定などを実施することで、攻撃者からのリスクを最小限にします。
4.2 継続的なセキュリティとコンプラの自動化実装
PaC(Policy as Code)ツール(例:Open Policy Agent、Cloud Custodianなど)でコンプライアンスおよびセキュリティポリシーの管理を自動化します。IaC(Infrastructure as Code)ツール(例:Terraform, AWS CloudFormation, Azure Resource Managerなど)でセキュリティ制御をインフラストラクチャのデプロイプロセスに直接統合します。コンプライアンス監視ツール(例:AWS Config、Azure Policy、Google Cloud Security Command Centerなど)によりコンプライアンスチェックを自動化することで、組織は非準拠リソースを迅速に特定し、修正します。
4.3 コンテナとオーケストレーションのセキュリティ高度化
コンテナランタイムセキュリティ制御(ツール例Aqua Security、Falcoなど)を実施し、異常な動作や悪意のある活動を検出し対応します。RBACの有効化、ポッド間通信の制御、継続的なセキュリティポスチャー評価などを行うことで、Kubernetesクラスターを保護します。
4.4 開発ライフサイクルのセキュリティ確保
開発段階でセキュリティテスト自動化、静的および動的コード分析、依存関係スキャンなどを取り込むレフトシフト型Devopsを実装します。継続的インテグレーションおよび継続的デプロイメント(CI/CD)プロセスの一部として、関連ツール(例:Snyk、Aqua Security、Prisma Cloudなど)の利用で開発パイプライン内での脆弱性スキャン、パッチ適用などを自動化し、サプライチェーンセキュリティを確保します。
4.5 クラウド環境におけるインシデント対応とフォレンジック
クラウドネイティブツール(例:AWS Lambda、Azure Logic Apps、Google Cloud Functionsなど)を使用して、インシデント対応プロセスを自動化することで、インシデントの軽減および修正にかかる時間を短縮します。その中、フォレンジック調査に必要な詳細なログやインサイトを提供する機能(例:AWS CloudTrail、Azure Monitor、Google Cloud Logging)との統合は不可欠です。
4.6 マルチクラウドおよびハイブリッドクラウドのセキュリティ制御活用
マルチクラウドまたはハイブリッドクラウドアーキテクチャを採用する組織は統合セキュリティ管理ソリューションを実装し、異なる環境全体での可視性と制御を提供します。この統一されたアプローチにより、セキュリティポリシーの管理が簡素化され、すべてのプラットフォームで一貫した適用が保証されます。
4.7 脅威検出のためのAI技術の活用
AIを使用して膨大なデータに対して行動分析をし、クラウド環境における異常や潜在的な脅威を検出し、セキュリティチームに通知します。潜在的なセキュリティインシデントも漏れなく、迅速な対応が可能です。
5.最後に
進化し続けるクラウドコンピューティングの環境において、戦略的なクラウドネイティブ環境のセキュリティ確保は必須です。データ、アプリケーション、サービスを保護するためには包括的なセキュリティアプローチを採用することが重要です。その一方、セキュリティプラクティスについて常に情報を把握し、積極的に取り組むことが、クラウドの世界で成功するための鍵となります。これらの戦略を取り入れて、デジタル資産を保護し、クラウドの旅における安全な基盤を築きましょう。
参考資料:
[1]. NIST Secure Software Development Framework
[2]. Cybersecurity Assessment Framework
[3]. Supply chain Levels for Software Artifacts
[4]. DevOps Research and Assessment
[5]. Open Source Security Foundation
[6]. The Software Alliance
[7]. Open Web Application Security Project
[8]. SAFECode
[9]. CNCF Security Whitepaper
[10]. AWS Security
[11]. Azure Security
[12]. Google Cloud Security
[13]. Google Cloud Security Whitepaper
[14]. Google Cloud Supply Chain Security