Oracle Cloud Infrastructureへのサイバー・リカバリ・ソリューションの実装
マルウェアおよびランサムウェア攻撃が世界中で引き続き発生しているため、サイバー・セキュリティはますます重要になっています。ミッション・クリティカルなデータベースの場合、データの損失やシステムのダウンタイムにつながる攻撃は、収益、運用、評判、さらには違約金という点で、ビジネス全体に大きな影響を与える可能性があります。
You can implement a solution for protecting your Oracle applications hosted on Oracle Cloud Infrastructure (OCI), from cyber attacks by creating and storing immutable backups.ランサムウェア暗号化攻撃などのサイバー攻撃の場合、不変バックアップを使用してOracleアプリケーションを以前の状態にリストアできるため、業務の中断を最小限に抑えることができます。
アーキテクチャ
このリファレンス・アーキテクチャは、OCIにデプロイされた自動バックアップおよびリストア・ソリューションを実装する方法を示しています。
Oracle E-Business Suiteアプリケーション(EBS)はこのソリューションの例として使用されますが、他のOracle applicationsに簡単に採用できます。
次の図は、このリファレンス・アーキテクチャを示しています。
oci-cyber-recovery-arch-oracle.zip
- このリファレンス・アーキテクチャをデプロイするには、バックアップの不変コピーを格納する新しいOCIテナンシ(サイバー・リカバリ・テナンシ)を作成します。
- サイバー・リカバリ・テナンシは、サイバー攻撃が発生した場合にシステムを安全にテストおよびリカバリするためのプラットフォームを提供します。
- サイバー・リカバリ・テナンシは本番ネットワークから「空対」され、インバウンド接続はサイバー・リカバリの起動時または定期的なテスト時にのみ許可されます。
- OCIサイバー・リカバリ・テナンシは、Active Directoryとの統合なしにアクセス管理という点で異なります。OCIサイバー・リカバリ・テナンシにコピーされたすべてのデータは、テナンシ内から開始され、OCIのネットワーク・バックボーンを介してコピーされるため、完全なセキュリティが確保されます。
- 定義されたバックアップ・スケジュールに従って、すべての本番エンティティ(データベース、サーバー、ファイル・ストレージなど)を本番テナンシ内のサイバー・リカバリ・オブジェクト・ストレージ・バケットのセットにバックアップします。
- サイバー・リカバリ・オブジェクト・ストレージ・バケットには、要件に合せた保存ポリシーとライフサイクル・ポリシーが設定されている必要があります(たとえば、独自の保存ポリシーを持つ日次サイクル・バケットがあります)。
- サイバー・リカバリ・オブジェクト・ストレージ・バケットには、サイバー・リカバリ・テナンシから開始された同期スクリプトで読取りできるように権限が設定されている必要があります。
- 必要に応じて、追加のバックアップ・ソリューションを使用して、既存の本番バックアップを再利用します。
- 本番テナンシには様々なストレージ技術をデプロイする必要があります。それぞれに異なる技術ソリューションがありますが、同じ論理的な順序でサイバー・リカバリ・データ・セットを作成します。
- サイバー・リカバリ・テナンシのCRSコンパートメントからの同期スクリプトは、定期的に(バックアップ・ウィンドウ中に15分ごとに)実行されます。
- 本番テナンシへのアクセスが許可されるように管理ポリシーを適用します。
- 本番サイバー・リカバリ・オブジェクト・ストレージ・バケットで識別された新しいオブジェクトを同等のサイバー・リカバリ・テナンシのオブジェクト・ストレージ・バケットにコピーします。
- 本番テナンシへのアクセスを防ぐために、管理ポリシーを無効にします。
- データはOCIのネットワーク・バックボーンを介してサイバー・リカバリ・テナンシにコピーされ、すべてのインバウンド・アクセスはOCIコンソール・アクセスに制限されます。
- オブジェクトがサイバー・リカバリ・テナンシと同期されると、そのライフサイクルは本番環境と同等のものにリンクされなくなります。たとえば、考えられないイベント(ライフサイクル・ポリシーの不一致など)では、本番バックアップ・オブジェクトが削除されても、サイバー・リカバリ・テナンシ・バックアップ・オブジェクトは削除されません。
- サイバー・リカバリ・オブジェクト・バケットは、認可されていない変更を防ぐためのセキュリティ・ゾーン・ポリシーを持つCRSコンパートメントに配置されます。
- テナンシ内の認可ユーザーのみが読取りできるように、サイバー・リカバリ・テナンシ・オブジェクト・バケットの権限を設定します(権限は、同期スクリプトのみが書込みできるように設定する必要があります)。
- サイバー・リカバリ・オブジェクト・バケット内に保持ポリシーを設定して、削除するオブジェクト・ライフサイクル(たとえば、15日経過するとオブジェクトが削除されます)およびアーカイブ(たとえば、10日経過したアーカイブ・オブジェクト)を管理します。
- サイバー・リカバリ・オブジェクト・バケットに新しいオブジェクトが作成されると、ウィルスおよびそのsha2/デジタル署名がスキャンされ、バックアップ・ファイルが改ざんされていないことが確認されます。ソリューションのバックアップ・サイズおよびリカバリ・ポイント目標(RPO)/リカバリ時間目標(RTO)に応じて、データベース・バックアップに対してsha2/デジタル署名チェックを実行することを検討してください。
ノート:
このリファレンス・アーキテクチャのデプロイの項で説明しているTerraformスクリプト、Ansibleプレイブック、シェルおよびRMANスクリプトを使用して、ほとんどのプロセスを自動化できます。次の図は、サイバー・リカバリ・テナンシのデプロイメント・トポロジの例を示しています。
図oci_cyber_recovery_deploy.pngの説明
oci-cyber-recovery-deploy-oracle.zip
この例では、EBS_BlueRoomおよびEBS_RedRoomの本番アプリケーションVCNと同じIP範囲を使用しています。この方法は、EBS_RedRoomでアプリケーションをリストアするために必要な最小限の変更で、バックアップの自動テストを許可するように選択されています。これにより、EBS_BlueRoom VCNとEBS_RedRoom VCNの両方を同時にDRGに接続できないネットワーク設計が決定されます。
テナンシ所有権の分離は、次のものを使用して考慮できます。
- サイバー・リカバリ・テナンシをサポートする専用チーム(本番テナンシへのアクセス権がないチーム)。
および
- 四半期アプリケーション・テストの演習中に、赤の部屋のコンパートメントにのみアクセスできる本番アプリケーション・サポート・チーム。このチームは、企業のオンプレミス・ネットワークからCRSネットワークにアクセスできます。
アーキテクチャには次のコンポーネントがあります。
- テナント
テナンシは、Oracle Cloud Infrastructureへのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、整理および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(国間や大陸間でも)リージョンを分離できます。
- コンパートメント
コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。コンパートメントを使用して、Oracle Cloudでリソースを編成し、リソースへのアクセスを制御して、使用割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。
ユーザー(ローカルとフェデレーテッドの両方)が1つ以上のグループに追加され、その後、コンパートメント当たりのOCIアセットへのアクセスを管理するIAMポリシーにアタッチされます。
コンパートメントは、Oracle Cloud Infrastructureテナンシのリソースを編成および分離する機能を提供します。テナンシに新しいワークロードをデプロイするための基盤を設定する上で重要な役割を果たします。OCIリソースの論理的なグループ化の性質があるように見えますが、ポリシー強制ポイントとして機能するため、テナンシのセキュリティに関して最も重要です。
コンパートメントは、機能階層、運用階層またはプロジェクト階層に従ってデプロイできます。これにより、様々なロール、機能および組織階層のリソース間の分離を維持できます。コンパートメント階層には、要件に基づいて最大6レベルを設定できます。アクセス制御はポリシーによって定義されます。
各コンパートメントには、関連グループに割り当てられた特定の権限が必要です。原則として、ユーザーは自分の権限を他のコンパートメントに昇格できません。アプリケーションと環境間で懸念事項を分離するために、サイバー・リカバリ・テナンシで次のコンパートメント階層が使用されます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響することはほとんどありません。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに、独立した電源とハードウェアを備えた3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義ネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ロード・バランサ
Oracle Cloud Infrastructure Load Balancingサービスは、単一のエントリ・ポイントからバックエンドの複数のサーバーへの自動トラフィック分散を提供します。
- セキュリティ・リスト
サブネットごとに、サブネットの内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- クラウド・ガード
Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティを監視および維持できます。クラウド・ガードでは、ディテクタ・レシピを使用して、リソースでセキュリティの弱点を調べ、オペレータおよびユーザーにリスクのあるアクティビティを監視するために定義できます。構成の誤りやセキュアでないアクティビティが検出されると、クラウド・ガードは、定義できるレスポンダ・レシピに基づいて、修正処理を推奨し、それらのアクションの実行を支援します。
- オブジェクト・ストレージ
オブジェクト・ストレージでは、データベース・バックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージをシームレスに拡張できます。迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。アーカイブ・ストレージは、長期間保存し、ほとんどまたはほとんどアクセスしないコールド・ストレージに使用します。
- FastConnect
Oracle Cloud Infrastructure FastConnectでは、データ・センターとOracle Cloud Infrastructure間に専用のプライベート接続を簡単に作成できます。FastConnectは、インターネットベースの接続と比較して、より高い帯域幅オプションとより信頼性の高いネットワーク・エクスペリエンスを提供します。
- ローカル・ピアリング・ゲートウェイ(LPG)
LPGを使用すると、1つのVCNを同じリージョン内の別のVCNとピアリングできます。ピアリングとは、VCNが、インターネットを経由するトラフィックやオンプレミス・ネットワークを介するルーティングを必要とせずに、プライベートIPアドレスを使用して通信することを意味します。
- Exadata DBシステム
Oracle Exadata Database Serviceを使用すると、クラウドでExadataの機能を利用できます。ニーズの増加時にデータベース・コンピュート・サーバーおよびストレージ・サーバーをシステムに追加できるフレキシブルX8Mシステムをプロビジョニングできます。X8Mシステムは、高帯域幅および低レイテンシ、永続メモリー(PMEM)モジュールおよびインテリジェントExadataソフトウェア用のRoCE (RDMA over Converged Ethernet)ネットワークを提供します。X8Mシステムをプロビジョニングするには、クォータ・ラックのX8システムと同等のシェイプを使用し、プロビジョニング後にいつでもデータベースおよびストレージ・サーバーを追加します。
推奨事項
- VCN
VCNを作成する際、VCNのサブネットにアタッチする予定のリソース数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準プライベートIPアドレス空間内のCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときは、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを同じサブネットに接続し、セキュリティ境界として機能できます。
- セキュリティ
本番EBSおよびSOAシステムは、お客様が管理するOCIコンパートメント内にホストされ、セキュリティ体制は顧客によって共有されます。セキュリティ・リストやネットワーク・トポロジなど、環境のセキュリティ状況をサイバー・リカバリ・テナンシにレプリケートすることが目的です。サイバー・リカバリ・テナンシのアクセス管理は本番テナンシと異なり、顧客のActive DirectoryソリューションとのIAM統合はありません。
クリーン・ルーム(青と赤)へのアクセスは制限され、すべてのイングレスはそのロール専用の要塞/ジャンプ・サーバーを介してルーティングされます。このアクセスはテスト・ウィンドウ中のみ有効になり、レッド・ルームでテストが完了すると削除され、ブルー・ルームには毎日アクセスできます。ブルー・ルームへのアクセスは、指名されたサイバー・リカバリ・マネージド・サービス・パートナに制限されますが、レッド・ルームへのアクセスは、指名されたマネージド・サービス・パートナおよびキー・スタッフに制限されます。
サイバー・リカバリ・テナンシへのIPsec/VPNトンネルを介したインバウンド・アクセスは、ブルー・ルームに対して毎日使用できますが、レッド・ルームへのアクセスは通常の操作中に完全にブロックされ、レッド・ルーム・テスト・イベント中に事前定義済のIPアドレスに対してのみオープンされます。
サイバー・リカバリ・テナンシからのIPsec/VPNトンネルを介したアウトバウンド・アクセスは完全にブロックされます。サイバー・リカバリ・テナンシから本番テナンシへのアクセスは、バックアップ・ファイルの同期中およびこれらの期間外でのみ行われ、このアクセスはポリシーの削除によって防止されます。サイバー・リカバリ・テナンシへのインバウンドまたはアウトバウンドのインターネット・アクセスはありません。
- クラウド・ガード
Oracleによって提供されるデフォルトのレシピをクローニングおよびカスタマイズして、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピを使用すると、警告を生成するセキュリティ違反のタイプと、そのレシピに対して実行できるアクションを指定できます。たとえば、表示がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。
クラウド・ガードをテナンシ・レベルで適用して、範囲を広げ、複数の構成を維持する管理上の負担を軽減します。
管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。
- ネットワーク・セキュリティ・グループ(NSG)
NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGを使用すると、VCNのサブネット・アーキテクチャをアプリケーションのセキュリティ要件から分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。
- ロード・バランサの帯域幅
ロード・バランサの作成時に、固定帯域幅を提供する事前定義済のシェイプを選択するか、帯域幅範囲を設定するカスタム(フレキシブル)シェイプを指定して、トラフィック・パターンに基づいてサービスで帯域幅を自動的にスケーリングできます。どちらの方法でも、ロード・バランサの作成後にいつでもシェイプを変更できます。
注意事項
このリファレンス・アーキテクチャをデプロイする場合は、次の点を考慮してください。
- パフォーマンス
オブジェクト・ストレージ転送: 本番データベースとコンピュート・バックアップのサイズはかなり大きい場合があります。テナンシ間の日次バックアップの転送にかかる時間をテストします。データ転送のパフォーマンスを最大化するために、本番テナンシと同じOCIリージョンにCRSテナンシをデプロイすることを検討してください。
CRSテナンシでのウイルス対策および署名スキャン: CRSプロセスの一部として、バックアップ・ファイルのウィルス対策および署名スキャンを含めることができます。スキャンをタイムリに完了するには、オーケストレーション・サーバーに十分なリソースを提供する必要があります。
- セキュリティ
Oracle Cloud Guard/最大セキュリティ・ゾーンを構成して、オブジェクト・ストレージ・ポリシーが適用されているかどうかを監視し、サイバー・リカバリ・セキュリティ体制と一致して、これを変更しようとすると防止されるようにします。
クラウド環境とバックアップ・ソリューションを潜在的な攻撃から保護するには、追加のセキュリティ対策を実装する必要があります。
- 可用性
このソリューションは、任意のOCIリージョンにデプロイできます。高可用性は、冗長なオーケストレーションおよび要塞サーバーをデプロイすることで実現できます。
- コスト
原価を見積る際には、次の要素を考慮してください。
- オブジェクト・ストレージ: このソリューションでは、本番環境の日次データベースおよびブロック・ボリュームのバックアップを複数日間保存することを想定しています。
- コンピュート・コスト: バックアップをテストするには、コンピュート・リソースとデータベース・リソースを起動する必要があります。
- ソフトウェア・ライセンス・コスト: アプリケーション・テストが含まれている場合は、テスト中に開始されるアプリケーション・サービスに対して適切なソフトウェア・ライセンスを取得する必要があります。
デプロイ
この参照アーキテクチャをデプロイするには、GitHubからコードをダウンロードし、特定の要件に従ってカスタマイズします。
- OCI CISランディング・ゾーンを設定します。詳細は、「詳細」セクションの「CIS Foundations Benchmark for Oracle Cloud」リンクを満たすセキュアなランディング・ゾーンのデプロイ」を参照してください。
- 本番テナンシおよびサイバー・リカバリ・テナンシに2つのVMをオーケストレーション・サーバーとしてプロビジョニングし、スクリプトを実行します。
- GitHubにアクセスします。
- 本番スクリプト(Ansibleスクリプト)をリポジトリから本番オーケストレーション・サーバーにクローニングします。
- サイバー・リカバリ・スクリプト(Ansible、Terraformおよびシェル・スクリプト)をリポジトリからサイバー・リカバリ・テナンシ・オーケストレーション・サーバーにクローニングします。
README
ドキュメントの手順に従って、バックアップ・スクリプト(本番テナンシ)、同期およびリストア(サイバー・リカバリ・テナンシ)を実行します。