Oracle CloudのCIS Foundationベンチマークを満たす安全なランディング・ゾーンのデプロイ

Oracle Cloudでワークロードを実行するには、効率的に運用できるセキュアな環境が必要です。このリファレンス・アーキテクチャは、CIS Oracle Cloud Infrastructure Foundations Benchmarkに記載されているセキュリティ・ガイダンスを満たすためにCenter for Internet Security (CIS)に準拠したTerraformベースのランディング・ゾーン・テンプレートを提供します。動作保証については、https://www.cisecurity.orgを参照してください。

アーキテクチャ

アーキテクチャは、テナンシのコンパートメント設計、および職務分掌用のグループとポリシーから始まります。 OCIコア・ランディング・ゾーンでは、指定された親コンパートメント内のランディング・ゾーン・コンパートメントのプロビジョニングがサポートされています。各ランディング・ゾーン・コンパートメントには、コンパートメント内のリソースを管理したり、他のコンパートメント内の必要なリソースにアクセスするための適切な権限を持つグループが割り当てられます。

OCIコア・ランディング・ゾーンには、スタンドアロン・モードまたはハブアンドスポーク・アーキテクチャの構成要素として、またはDMZ VCNを介して接続された複数のVCNsをプロビジョニングする機能があります。VCNsは、汎用の3層ネットワーク・トポロジに従うか、OCI Kubernetes Engine (OKE)またはOracle Exadata Database Serviceデプロイメントをサポートするための特定のトポロジに方向付けることができます。インバウンドおよびアウトバウンド・インタフェースを適切に保護して、必要なルーティングを使用してすぐに構成できます。

ランディング・ゾーンには、強力なセキュリティ状態を実現するために、アーキテクチャ全体と連携してデプロイできる様々な事前構成済セキュリティ・サービスが含まれています。これらのサービスは、Oracle Cloud Guard、VCNフロー・ログ、顧客管理キーを使用したOCI Connector Hub、顧客管理キーを使用したOCI Vault、OCI Vulnerability Scanning Service、Security ZonesおよびZero Trust Packet Routing (ZPR)です。通知は、「トピック」および「イベント」を使用して設定され、デプロイされたリソースの変更について管理者に警告します。

次の図は、このリファレンス・アーキテクチャを示しています。



oci-core-landingzone-oracle.zip

このアーキテクチャには次のコンポーネントがあります。

  • Tenancy

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • アイデンティティ・ドメイン

    アイデンティティ・ドメインとは、ユーザーおよびロールの管理、ユーザーのフェデレーションとプロビジョニング、シングル・サインオン(SSO)構成を介したアプリケーション統合の保護、およびSAML/OAuthベース・アイデンティティ・プロバイダ管理を行うためのコンテナーをいいます。これは、Oracle Cloud Infrastructureのユーザー人口と、それに関連付けられた構成およびセキュリティ設定(MFAなど)を表します。

  • ポリシー

    Oracle Cloud Infrastructure Identity and Access Managementポリシーでは、誰がどのリソースにどのようにアクセスできるかを指定します。アクセスはグループ・レベルおよびコンパートメント・レベルで付与されます。つまり、特定のコンパートメント内またはテナンシへの特定のアクセスのタイプをグループに付与するポリシーを作成できます。

  • 区分

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。コンパートメントを使用して、Oracle Cloudリソースの編成、アクセス制御および使用割当てを設定します。特定のコンパートメントでは、アクセスを制御し、リソースの権限を設定するポリシーを定義します。

    このランディング・ゾーン・テンプレート内のリソースは、次のコンパートメントにプロビジョニングされます:
    • 下にリストされているすべてのコンパートメントを含む推奨囲みコンパートメント。
    • 必要なネットワーク・ゲートウェイを含むすべてのネットワーキング・リソースのネットワーク・コンパートメント。
    • ログ、キー管理および通知リソースのセキュリティ・コンパートメント。
    • コンピュート、ストレージ、関数、ストリーム、Kubernetesノード、APIゲートウェイなど、アプリケーション関連サービスのアプリケーション・コンパートメント。
    • すべてのデータベース・リソースのデータベース・コンパートメント。
    • Oracle Exadata Database Serviceインフラストラクチャのオプションコンパートメント。

    図のグレー表示のアイコンは、テンプレートによってプロビジョニングされていないサービスを示しています。

    このコンパートメントの設計は、様々な組織で見られる基本的な機能構造を反映しており、ITの責任は通常、ネットワーキング、セキュリティ、アプリケーション開発、およびデータベース管理者の間で分離されています。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、ソフトウェアで定義されたカスタマイズ可能なネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

    テンプレートでは、一般的な3層Webベース・アプリケーション、OCI Kubernetes Engineアプリケーション、Oracle Exadata Database Service用の3層VCNsなど、様々なワークロード・タイプにVCNsをデプロイできます。

  • インターネット・ゲートウェイ

    インターネット・ゲートウェイは、VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックを許可します。

  • 動的ルーティング・ゲートウェイ(DRG)

    DRGは、オンプレミス・ネットワークとVCN間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターであり、同じリージョンまたはリージョン間のVCN間のトラフィックのルーティングにも使用できます。

  • NATゲートウェイ

    NATゲートウェイを使用すると、VCN内のプライベート・リソースは、受信インターネット接続にそれらのリソースを公開することなく、インターネット上のホストにアクセスできます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

  • Oracleサービス・ネットワーク

    Oracle Services Network (OSN)は、Oracleサービス用に予約されているOracle Cloud Infrastructureの概念的なネットワークです。これらのサービスには、インターネットを介してアクセス可能なパブリックIPアドレスがあります。Oracle Cloud外部のホストは、Oracle Cloud Infrastructure FastConnectまたはVPN接続を使用してOSNにプライベートにアクセスできます。VCN内のホストは、サービス・ゲートウェイを介してOSNにプライベートにアクセスできます。

  • ネットワーク・セキュリティ・グループ(NSG)

    NSGは、クラウド・リソースの仮想ファイアウォールとして機能します。Oracle Cloud Infrastructureのゼロトラスト・セキュリティ・モデルでは、VCN内のネットワーク・トラフィックを制御します。NSGは、単一のVCN内の指定されたVNICのセットにのみ適用されるイングレスおよびエグレス・セキュリティ・ルールのセットで構成されます。

  • イベント

    Oracle Cloud Infrastructureサービスでは、リソースの変更を記述する構造化メッセージであるイベントが生成されます。イベントは、作成、読取り、更新または削除(CRUD)操作、リソース・ライフサイクル状態の変更およびクラウド・リソースに影響するシステム・イベントに対して発行されます。

  • 通知

    OCI Notificationsは、低レイテンシのパブリッシュ/サブスクライブ・パターンを使用して、分散コンポーネントにメッセージをブロードキャストし、Oracle Cloud Infrastructureでホストされているアプリケーションにセキュアで信頼性の高い耐久性のあるメッセージを提供します。

  • ボールト

    Oracle Cloud Infrastructure Vaultでは、クラウド内のリソースへのアクセスを保護するために使用するデータおよびシークレット資格証明を保護する暗号化キーを集中管理できます。Vaultサービスを使用して、ボールト、キーおよびシークレットを作成および管理できます。

  • ログ
    Oracle Cloud Infrastructure Loggingは、クラウド内のリソースから次のタイプのログへのアクセスを提供する、高度にスケーリング可能な完全管理型のサービスです:
    • 監査ログ: OCI監査によって生成されたイベントに関連するログ。
    • サービス・ログ: OCI API GatewayOCI EventsOCI FunctionsOCI Load BalancingOCI Object Storage、VCNフロー・ログなどの個々のサービスによって公開されるログ。
    • カスタム・ログ: カスタム・アプリケーション、他のクラウド・プロバイダまたはオンプレミス環境からの診断情報を含むログ。
  • サービス・コネクタ

    Oracle Cloud Infrastructure Connector Hubは、OCIのサービス間でのデータ移動を調整するクラウド・メッセージ・バス・プラットフォームです。サービス・コネクタを使用して、ソース・サービスからターゲット・サービスにデータを移動できます。サービス・コネクタを使用すると、オプションで、ターゲット・サービスに配信される前にデータに対して実行するタスク(関数など)を指定することもできます。

    Oracle Cloud Infrastructure Service Connector Hubを使用して、SIEMシステム用のロギング集計フレームワークを迅速に構築できます。

  • クラウド・ガード

    Oracle Cloud Guardは、テナンシにセキュリティの問題を引き起こす可能性のあるリソースの構成設定およびアクションを監視することで、Oracle Cloudの強力なセキュリティ状態を達成し、維持するのに役立ちます。

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティをモニターおよびメンテナンスできます。クラウド・ガードはディテクタ・レシピを使用します。このレシピを定義すると、セキュリティの弱点についてリソースを調べたり、特定のリスクのあるアクティビティについてオペレータとユーザーをモニターしたりできます。構成の誤りまたは安全でないアクティビティが検出された場合、クラウド・ガードは、ユーザーが定義できるレスポンダ・レシピに基づいて、修正アクションを推奨し、それらのアクションの実行を支援します。

  • セキュリティ・ゾーン

    セキュリティ・ゾーンは、1つ以上のコンパートメントおよびセキュリティ・ゾーン・レシピに関連付けられます。セキュリティ・ゾーンでリソースを作成して更新すると、Oracle Cloud Infrastructure (OCI)は、これらの操作をセキュリティ・ゾーン・レシピで定義されたポリシーのリストに対して検証します。セキュリティ・ゾーン・ポリシーに違反している場合、操作は拒否されます。

    セキュリティ・ゾーンによって、OCIリソースがOracle Cloud Infrastructure ComputeOracle Cloud Infrastructure NetworkingOracle Cloud Infrastructure Object StorageOracle Cloud Infrastructure Block Volumesおよびデータベース・リソースなどのセキュリティ・ポリシーに準拠していることが保証されます。

  • 脆弱性スキャン・サービス

    Oracle Cloud Infrastructureの脆弱性スキャン・サービスは、ポートおよびホストの潜在的な脆弱性を定期的にチェックすることで、Oracle Cloudのセキュリティ状態を改善するのに役立ちます。このサービスは、これらの脆弱性に関するメトリックおよび詳細を含むレポートを生成します。

  • Zero Trust Packet Routing

    Oracle Cloud Infrastructure Zero Trust Packet Routing(ZPR)は、ネットワーク・アーキテクチャとは別にネットワーク・セキュリティ・ポリシーを管理することで、不正なデータ・アクセスを防止します。ZPRは、ユーザーフレンドリーなインテントベースのポリシー言語を使用して、データの許可されたアクセス経路を定義します。ポリシーによって明示的に定義されていないトラフィック・パターンはネットワークを横断できません。これにより、データ保護が簡略化され、データ漏洩が防止されます。

  • 要塞サービス

    Oracle Cloud Infrastructure Bastionサービスは、アイデンティティベース、監査済および期限付きSecure Shell (SSH)セッションを使用して、パブリック・エンドポイントを持たない特定のIPアドレスからターゲットOCIリソースへの制限付きアクセスを提供します。

  • オブジェクト・ストレージ

    OCIオブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットまたはクラウド・プラットフォーム内から直接、データを安全かつセキュアに格納できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張できます。

レコメンデーション

クラウド環境のセキュリティを設計および構成する出発点として、次の推奨事項を使用してください。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。

  • ネットワーク構成

    VCNsの場合、プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

  • セキュリティーのモニタリング

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティをモニターおよびメンテナンスします。クラウド・ガードでは、ディテクタ・レシピを使用して、リソースにセキュリティの弱点がないか調べたり、オペレータおよびユーザーにリスクのあるアクティビティがないか監視したりするために定義できます。構成の誤りやセキュアでないアクティビティが検出されると、クラウド・ガードは修正アクションを推奨し、ユーザーが定義できるレスポンダ・レシピに基づいてそれらのアクションの実行を支援します。

  • セキュアなリソース・プロビジョニング

    最大限のセキュリティーを必要とするリソースの場合は、セキュリティーゾーンを使用します。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、Oracle Cloud Infrastructureでは、セキュリティ・ゾーン・レシピのポリシーに対して操作が検証され、ポリシーに違反する操作が拒否されます。

考慮事項

このリファレンス・アーキテクチャを実装する場合、次の点を考慮してください。

  • アクセス権限

    ランディング・ゾーン・テンプレートのプロビジョニングには、テナンシ全体の権限を持つユーザー(管理者グループのメンバーであるすべてのユーザー)が必要です。

    ランディング・ゾーン・テンプレートは、テナンシ管理者(管理者グループのメンバーであるすべてのユーザー)としてリソースをプロビジョニングし、初期プロビジョニング後に個別の管理者グループが各コンパートメントを管理できるようにするポリシーを含みます。事前構成済ポリシーでは、OCIで使用可能なすべてのリソースが対象ではありません(たとえば、Terraformテンプレートにリソースを追加する場合、必要な追加のポリシー・ステートメントを追加する必要がある場合があります)。

  • ネットワーク構成

    ランディング・ゾーン・ネットワークは、様々な方法でデプロイできます。1つまたは複数のスタンドアロンVCNsをOracle Cloud Infrastructure DRG V2サービスを使用するハブ・アンド・スポーク・アーキテクチャで使用するか、Oracle Cloud Infrastructure DRG V2を使用するDMZ VCNアーキテクチャで使用します。インターネット接続なしでネットワークを構成することもできます。ランディング・ゾーンではスタンドアロン・スポークとハブ・アンド・スポークを切り替えることができますが、切り替えるときに手動アクションが必要な場合があるため、特定の設計を計画することが重要です。

  • デプロイメント・ガイド

    GitHubのOCIコア・ランディング・ゾーンのデプロイメント・ガイドには、主要なデプロイメント・シナリオなど、コア・ランディング・ゾーンの構成方法に関する詳細なガイダンスが用意されています。

デプロイ

このソリューションのTerraformコードは、GitHubにあります。1回のクリックでコードをOracle Cloud Infrastructure Resource Managerにプルし、スタックを作成してデプロイできます。または、GitHubからコンピュータにコードをダウンロードし、コードをカスタマイズし、Terraform CLIを使用してアーキテクチャをデプロイします。

  • Oracle Cloud Infrastructure Resource Managerのサンプル・スタックを使用してデプロイします:
    1. に移動しますOracle Cloudへのデプロイ

      まだサインインしていない場合は、テナンシおよびユーザー資格証明を入力します。

    2. スタックをデプロイするリージョンを選択します。
    3. 画面上のプロンプトおよび指示に従ってスタックを作成します。
    4. スタックを作成したら、「Terraformアクション」をクリックし、「プラン」を選択します。
    5. ジョブが完了するまで待機し、プランをレビューします。

      変更を加えるには、「スタックの詳細」ページに戻り、「スタックの編集」をクリックして必要な変更を行います。次に、「プラン」アクションを再度実行します。

    6. それ以上の変更が必要ない場合は、「スタックの詳細」ページに戻り、「Terraformアクション」をクリックして「適用」を選択します。
  • GitHubのTerraformコードを使用してデプロイします:
    1. GitHubに移動します。
    2. ローカル・コンピュータにコードをダウンロードまたはクローニングします。
    3. READMEの指示に従います。

変更ログ

このログには、重要な変更が一覧表示されます。