※ 本記事は、Martin Sleemanによる”Announcing the general availability of OCI Zero Trust Packet Routing“を翻訳したものです。

2024年10月4日


セキュリティに対する従来のネットワーク・アーキテクチャ・ベースのアプローチは、構成ポイントが多数あり複雑であるため、完全に理解することが難しく、悪用される可能性のある潜在的なギャップを生み出します。Oracle Cloud Infrastructure (OCI)は、クラウドのセキュリティ態勢を強化するために、ネットワーク・アーキテクチャからネットワーク・セキュリティを分離する新しいソリューションを導入します。

OCIアプリケーションのセキュリティ確保は、都市計画者のようなものです。空港や軍事基地のような都市の機密性の高い部分を保護する責任があります。道路網だけを使えば、入り組んだ郊外、果てしなく続く交差点、用途の限られた小さな島々になってしまいます。これらのアーキテクチャは構築には負担がかかり、時間の経過とともに要件が変化するにつれて維持することが不可能です。IDを確認すし、適切な人だけに機密事項へのアクセスを許可するための警備員を追加しなければならない。複雑な道路網と無限の検問所があります。

現在、最新のネットワーク設計も同じです: ネットワーク・アーキテクトは、可用性とセキュリティを実現するためのツール(道路建設)を1セット持っています。多くの場合、このプロセスはネットワークの中断、または構成ミスによるセキュリティ侵害に終わり、偶発的な漏洩につながります。

アーキテクチャ自体がネットワーク・セキュリティ態勢を定義するため、ネットワーク・アーキテクチャとネットワーク・セキュリティは結びついています。データのセキュリティ境界を作成するには、ネットワーク・トポロジを詳細に理解する必要があります。ネットワーク・トポロジは、クラウド・フットプリント、ユーザー、データの増加に伴って複雑になります。新しいアプリケーションでネットワーク・アーキテクチャを変更する必要がある場合、セキュリティ態勢が予期せず変更される可能性があります。たとえば、複数のアプリケーションが同じサブネットを共有し、そのうちの1つがインターネット・アクセスを必要とする場合、その1つのアプリケーションのネットワーク・アーキテクチャが変更されると、その同じサブネット上の他のアプリケーションのネットワーク・セキュリティに影響する可能性があります。

お客様は、ネットワーク・アーキテクチャから独立して、ネットワーク・セキュリティの意図を記述する方法を必要としています。セキュリティの意図は、特定のネットワーク経路を経由した機密データへのアクセスを制限するように、ネットワークアクセスを管理するポリシーに反映させる必要があります。この意図は、正規の権限を持つユーザーであっても、不正なリソース間のデータ移動を回避する必要があります。これは、盗まれた資格情報を使用した流出を防ぐことができるためです。

OCI Zero Trust Packet Routingの紹介

Oracleは、Applied Inventionと協力して、OCI Zero Trust Packet Routing (ZPR)を発表しました、「ジッパー(zipper)」と発音します。ZPRは、ネットワーク・アーキテクチャとネットワーク・セキュリティの分離を改善し、セキュリティを意図に基づいた言語で表現できるようにするための最初のステップです。

OCI ZPRは、自然言語と語彙を用いてセキュリティ・ポリシーを作成することで、お客様がセキュリティの意図を定義できるようにする使いやすいソリューションであり、特定のアクセス経路を通じて機密データへのアクセスを制限することを容易にします。ルーティング・テーブルとIPアドレスへの時代遅れな依存を排除し、ネットワーク・アーキテクチャとネットワーク・セキュリティを分離することで、人的エラーや構成のドリフト(望ましい設定から逸脱すること)によるリスクを軽減します。

ネットワーク・アーキテクチャの変更は、OCI ZPRポリシーに影響せず、機密データを公開しません。OCI ZPRポリシーは、読みやすい言語であり、ネットワーク・アーキテクチャの各層の理解に依存しないため、監査もはるかに簡単です。

OCI ZPRは、セキュリティ属性とZPRポリシーの2つの主要コンポーネントで構成されています。セキュリティ属性は、コンピュート・インスタンス、仮想クラウド・ネットワーク(VCN)およびデータベースに適用され、保護するリソースをZPRに指示します。ZPRポリシー・ステートメントは、セキュリティ属性を持つOCIリソース(最初のリリースのコンピュートおよびデータベース)が相互に接続する方法を説明する、人間が読めるルールです。

OCI ZPRを使用してネットワーク・セキュリティを向上する方法

OCI ZPRの実装は、常に一般的なプロセスに従います。OCI ZPRの実装を開始する前に、目的のデータ・フローを理解していることを確認してください。たとえば、バックエンド・データベースの機密顧客情報を保護する必要があるCarCo社があるとします。CarCoのアプリケーション・クライアントは、データベースに対して正当なリクエストを行うため、それ以外の接続はすべて防止する必要があります。OCI ZPRを導入する前、CarCoのセキュリティ・チームは、サブネット、CIDRブロック、IP、ポート、プロトコルに基づくルールであるネットワーク・セキュリティ・グループ(NSG)、入口と出口の制限を定義するファイアウォール・ルールの設定を支援するネットワーク・アーキテクチャ・チームに依存していました。

Example workflow for an application connecting to a database.

OCI ZPRでこの設計を実装するには、システムのコンポーネントごとにセキュリティ属性を作成します。セキュリティ属性は、OCI ZPRポリシーによってZPRポリシーの制御するリソースを識別するために使用するラベルのようなものです。Oracle-ZPRセキュリティ属性ネームスペースは、ZPRポリシーを読みやすくするため、最初から使用することをお薦めします。CarCoの例では、これらのセキュリティ属性(フロントエンド・コンピュート・インスタンスの場合はapplication:carco、データベースの場合はcustomer-data:carco、VCNの場合はnetworks:db)を実装します。

OCI ZPRの最初のリリースでは、専用インフラストラクチャ上のAutonomous Database、Autonomous Database Serverless、Exadata Database Service、Base Database Serviceなど、多くのOracleのデータベースをサポートしています。この例では、(Database type>)を使用しています。

まず、「in networks:db VCN allow db:app1 endpoints to connect to all-osn-services」ポリシーを作成し、データベースがOCIサービスに接続してパッチ適用、Key Management Service (KMS)およびその他のOCIサービスを操作できるようにします。

次に、「in networks:db VCN allow applications:carco endpoints to connect to customer-data:carco」ZPRポリシーを作成します。これにより、データベースがCarCoアプリケーションとの通信を許可しながら、不要な接続から保護されます。このZPRポリシー・ステートメントでは、applications:carcoセキュリティ属性を持つコンピュート・インスタンスからのアクセスのみが、customer-data:carcoセキュリティ属性を持つリソースに接続できます。

ZPRポリシー・ステートメントの作成後、ZPR UXを介して、またはコンピュートまたはデータベースの詳細ページを使用して、フロントエンド・クライアント・アプリケーションとデータベースの両方にセキュリティ属性を適用します。

OCI ZPRを使用したWebサーバー使用時のアクセスの保護

Example workflow for connecting an application to a database through an internet gateway and web server.

前の手順では、データベースに通信するアプリケーションを保護しました。現在は、エンド・ユーザーが使用できるWebアプリケーションを追加する必要があります。Webサーバーは、CarCoアプリケーション・サーバーを介してのみデータベースにアクセスする必要があります。

Webサーバーを公開することは、通常、インターネット・ゲートウェイ(IGW)をパブリック・サブネット上のVCNおよびコンピュート・インスタンスにアタッチすることを意味します。IGWの追加には常にリスクが伴うため、この変更では、データベースが誤ってインターネットに公開されていないことを確認するために慎重に確認する必要があります。ただし、ZPRポリシーにより、ユーザーはCarCoアプリケーションからのみデータベースにアクセスでき、漏洩した資格証明を使用してもインターネットからはアクセスできません。

要件が変更され、アプリケーションには、このアプリケーションのフロントエンドとしてインターネットに直接接続されたWebサーバーが必要になりました。前の手順に従ってWebサーバーをセキュリティー保護します。

Oracle-ZPRセキュリティ属性ネームスペースに新しいセキュリティ属性applications:web-appを作成します。次に、「in networks:db VCN allow applications:web-app Endpoints to connect to applications:carco Endpoints」というポリシー行を追加します。これにより、Webアプリケーション・サーバー(applications:web-app)のみがapplication:carcoアプリケーションにアクセスできるようになります。ネットワーク・アーキテクチャが変更されても、最初の例で記述したZPRポリシーのため、インターネットまたはapplication:carco以外のデータベースにはアクセスできません。

次に、Webアプリケーション・エンドポイントがインターネットからトラフィックを受信できるようにするポリシー行を追加します。”in networks:db VCN allow all-endpoints to connect to applications:web-app Endpoints”。このZPRポリシーにより、インターネット接続はapplication:web-appエンドポイントにのみ接続できます。データベースが誤ってパブリック・サブネットに配置されたとしても、インターネットに公開されることはありません。

最後に、パブリック・サブネットのコンピュート・インスタンスに”applications:web-app”セキュリティ属性を適用します。この時点で、インターネットからアクセスできるのはWebサーバーだけです。データベースには、アプリケーション・サーバーからのみ引き続きアクセスできます。

今後の展望

これらの例では、ZPRポリシーを作成し、セキュリティ属性を適用することで、OCI ZPRを使用してネットワーク・セキュリティの意図をネットワーク・アーキテクチャから分離しました。アプリケーションは、許可される正確な接続を厳密に定義し、インターネットからの予期しないアクセスからデータベース内のデータを保護するようになりました。

このブログ投稿では、設計の理解、セキュリティ属性の作成、ZPRポリシーの作成、およびアプリケーションのコンポーネントへのセキュリティ属性の適用に関する一般的なアプローチについて説明しました。その結果、ネットワーク・セキュリティが向上したアプリケーションになります。

Oracle Cloud Infrastructure Zero Trust Packet Routingは、顧客がセキュリティの意図を表明し、クラウドがこの意図を正しいアーキテクチャおよび構成に自動的に統合する、Oracleの広範なセキュリティ戦略の第一歩にすぎません。

詳細は、次のリソースを参照してください: