Bastionサービスを使用したプライベート・サブネット内のリソースへのアクセス

Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントを持たないリソースへのプライベートな期限付きSSHアクセスを提供します。

要塞は、Oracle Cloud Infrastructure (OCI)で作成した要塞サーバーのかわりに使用できるインフラストラクチャ・サービスです。要塞はゲートウェイまたはプロキシです。これらは、インターネットからアクセスできないクラウド内のリソースへのセキュアなアクセスを提供する論理エンティティです。ベースはパブリック・サブネットに存在し、ユーザーをプライベート・サブネット内のリソースに接続するために必要なネットワーク・インフラストラクチャを確立します。

Oracle Cloud Infrastructure Identity and Access Management (IAM)との統合により、要塞または要塞サービス内のセッションを管理できるユーザーを制御できます。Oracle Cloud Infrastructure Auditとの統合により、要塞サービスおよび要塞セッションに関連する管理アクションを監視できます。

アーキテクチャ

このアーキテクチャでは、プライベート・サブネットに接続する2つの方法を示します。一方の方法は、中間ターゲット・サブネットを介して接続することです。もう一方の方法は、保護されたリソースを含むサブネットに直接接続することです。

要塞サービスを作成する場合、CIDRブロック許可リストおよび最大セッション存続時間を指定できます。要塞の作成時に、要塞VCNと顧客VCNの間で逆接続を介してネットワーク・パスが確立されます。通常、セッションはユーザーまたはオペレータによって作成されます。

次の図は、この参照アーキテクチャを示しています。

architecture-use-bastion-service.pngの説明が続きます
図architecture-use-bastion-service.pngの説明

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

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。地域は他の地域から独立しており、広大な距離で(国または大陸間で)分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内のスタンドアロンの独立したデータ・センターです。各可用性ドメインの物理リソースは、フォルト・トレランスを提供する他の可用性ドメインのリソースから分離されます。可用性ドメインは、電源や冷却などのインフラストラクチャや内部可用性ドメイン・ネットワークを共有しません。したがって、ある可用性ドメインで障害が発生しても、リージョン内の他の可用性ドメインに影響する可能性はほとんどありません。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインには、独立した電源とハードウェアを備えた3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションでは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

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

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

  • 要塞サービス

    要塞サービスはOCI管理インフラストラクチャに存在し、インフラストラクチャ管理は必要ありません。管理対象インフラストラクチャは、要塞パブリック・エンドポイントが作成される場所で、外部クライアントは以前に定義されたセッションを使用して接続できます。

  • 要塞サービス・バックエンド

    要塞サービス・バックエンドには、ターゲット・システムへのアクセス権の付与に使用されるセッション構成およびSSH公開キーが格納されます。ターゲット・システムは、必要に応じて、サービス・ゲートウェイを使用して要塞サービス・バックエンドにアクセスします。

  • プライベート・エンドポイント

    プライベート・エンドポイントは、要塞サービスをターゲット・サブネットに接続します。ターゲット・サブネットは、より詳細な制御のために別のサブネットにすることも、アクセスするインスタンスの同じサブネットにすることもできます。

推奨事項

実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。開始点として次の推奨事項を使用します。

  • VCN

    VCNを作成する場合、VCNのサブネットにアタッチする予定のリソースの数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

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

    VCNを作成した後、CIDRブロックを変更、追加および削除できます。

    サブネットを設計する際には、トラフィック・フローとセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

    リージョナル・サブネットを使用します。

    プロビジョニングされるすべての要塞は、ターゲット・サブネットから2つのIPアドレスを取得することに注意してください。特定のサブネットに対してプロビジョニングする要塞の数に基づいてCIDRブロックを選択します。たとえば、CIDRが/30のサブネットがある場合、使用可能なアドレスが2つあり、そのCIDR内にターゲット・リソースがあると、要塞をプロビジョニングするのに十分なアドレスがありません。この場合、要塞プロビジョニングは失敗します。ターゲット・サブネットの幅を/29より広くすることをお薦めします。

  • SECURITY

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructureのリソースのセキュリティをプロアクティブに監視および維持します。Cloud Guardは、定義可能なディテクタ・レシピを使用して、リソースにセキュリティ上の弱点がないかどうかを調べ、オペレータおよびユーザーのリスクのあるアクティビティを監視します。構成ミスまたはセキュアでないアクティビティが検出された場合、Cloud Guardは修正処理を推奨し、定義可能なレスポンダ・レシピに基づいてそれらの処理の実行を支援します。

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

  • OCI Bastion

    要塞レベルのTTLは、その要塞のコンテキストで作成されたセッションが要塞を超えるTTLを持たないことを保証します。TTLは、ユースケースに従って最小制限に設定する必要があります。最小値は30分、最大値は3時間です。TTLは、セッション・レベルでも構成できます。

    許可リストCIDRブロックは、シナリオに従ってできるだけ狭くする必要があります。これにより、プライベート・ターゲット・リソースへのSSH接続が許可されるIPアドレス範囲を制限できます。

    要塞が作成されるターゲット・サブネットのサイズを検討する必要があります。各要塞の作成には、2つのIPアドレスを使用します。したがって、少なくとも6つの使用可能なIPアドレスを持つように/29の範囲にすることをお薦めします。/30には2つのIPアドレスがありますが、将来、要塞の2つ目のインスタンスが同じサブネットを指すようにする場合は、作成できなくなります。ターゲット・サブネットは、ターゲット・リソースが存在するサブネットにすることも、ターゲットVCN内の他のサブネットがトラフィックを許可するサブネットにすることもできます。

    セキュリティ・ポリシーの推奨事項

    • ターゲット・リソースを持つサブネット上のイングレス・ルールでは、要塞のプライベート・エンドポイントIPである単一のIPアドレスからの着信TCPトラフィックのみを許可する必要があります。
    • Linuxの場合は22、ウィンドウの場合は3389、MySqlの場合は33060など、宛先の正確なポートを指定します。ポートにALLを使用することは避けてください。

    管理およびオペレータのシナリオには、特定のIAMポリシーを使用します。

注意事項

  • リージョン

    要塞は地域的なサービスです。たとえば、PHXのリソースにアクセスするには、PHXで要塞を作成する必要があります。たとえば、PHX内の要塞を使用してIADのリソースにアクセスすることはできません。

  • パフォーマンス

    要塞作成はSLO内で行う必要があります(リクエスト作成の2分以内)。セッションの作成/終了はSLO内で行う必要があります。ポート転送は1分(ブレーク・グラス・シナリオ)で、管理対象SSHセッションは3分(通常の使用)です。

  • SECURITY

    要塞からのトラフィックは、サブネット上のプライベート・エンドポイントから発信されます。要塞からのトラフィックを許可するには、このプライベート・エンドポイントから要塞を介してアクセスする必要があるIPへのイングレス・トラフィックおよびエグレス・トラフィックを許可します。インスタンスのサブセットへのアクセスを制限するファイングレイン・ポリシーは、適切なレベルのアクセスを保証するのに役立ちます。

  • 可用性

    このサービスは、(APIエラー率に基づいて)要塞およびセッションを作成/終了するための高可用性を提供する必要があります。ターゲットの可用性は99.9%です。

  • コスト

    OCI Bastionを使用するコストはありません。顧客は、テナンシごとにリージョンごとに最大5つの要塞を作成できます。各要塞は、VCN内のターゲット・リソースを提供します。

  • 使用シナリオ

    OCIネイティブ・イメージを実行しているプライベート・ターゲット・ホストにアクセスする必要があり、LinuxベースでOCA v2エージェントを実行している場合(bastionプラグインを有効にしている場合)、管理対象SSHセッションを使用できます。エージェントが実行されていないプライベート・ターゲット・リソースへのアクセス、Windowsベースまたはデータベース(ATPまたはMySQL)へのアクセスが必要な場合は、ポート転送SSHセッションを使用できます。