基本的な構成の問題への対処
このトピックでは、Oracle Cloud Infrastructureリソースのセキュリティに影響する一般的な構成の問題に対処する手順を示します。
ブロック・ボリューム
問題: Oracle Cloud Infrastructure管理者のみがインスタンスからブロック・ボリュームをデタッチできるようにします。
基本: ブロック・ボリュームをデタッチすると、そのボリュームは関連付けられたインスタンスから分離され、インスタンスで使用できるデータに影響します。これにより、スケジュール済ボリューム・バックアップに対して、ビジネス・クリティカル・データのデータ可用性に影響が生じることがあります。認可されたユーザーによる誤ったボリュームのデタッチまたは悪意のあるボリュームのデタッチによるデータの損失を最小限に抑えるため、VOLUME_ATTACHMENT_DELETE権限は管理者のみに制限する必要があります。
ブロック・ボリュームのデタッチを回避するには:
次のポリシーでは、グループVolumeUsersは、ボリュームのデタッチを除き、ボリュームとボリューム・アタッチメントを管理できます。
Allow group VolumeUsers to manage volumes in tenancy
Allow group VolumeUsers to manage volume-attachments in tenancy
where request.permission!='VOLUME_ATTACHMENT_DELETE' この変更によって、VolumeUsersはインスタンスからボリュームをデタッチできなくなります。
参照情報:
コンピュート
問題: 環境でサポートされていないカスタム・イメージからインスタンスが作成されました。
基本:ユーザーがインスタンスを作成するとき、プラットフォーム・イメージ、終了したインスタンスのブート・ボリューム、またはカスタム・イメージから選択できます。カスタム・イメージには多様なイメージがあり、環境で承認されないイメージが含まれる可能性があります。承認済イメージを識別するためにOracle Cloud Infrastructureテナンシでタグを使用する場合は、インスタンスがベースのイメージかどうかを確認し、必要であればインスタンスを終了します。
インスタンスが作成されたイメージのタグを確認するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
- 関心のあるインスタンスをクリックします。
- 「イメージ」リンクをクリックすると、ソース・イメージが表示されます。
- 「タグ」タブをクリックすると、このイメージに適用されているタグが表示されます。
カスタム・イメージに承認済タグがなく、インスタンスを終了する必要がある場合は、インスタンスの終了を参照してください
参照情報:
IAM
問題: 管理者グループのメンバーであるユーザーが、APIキーを使用してリソースにアクセスしました。
基本:
- APIキーは、Oracle Cloud Infrastructureへのプログラムによるアクセス権を付与するために使用される資格証明です。
-
セキュリティおよびガバナンスの理由から、ユーザーが操作する必要があるリソースのみにアクセスできるようにしてください。
- 管理者グループのメンバーで、APIを介したリソースへのアクセスも必要なユーザーのために、IAMに別のユーザーを作成して、APIキーをアタッチします。ユーザーがプログラムを使用して操作する必要があるリソースについてのみ、APIキーの権限をユーザーに付与します。
制限された権限を持つユーザー、グループおよびポリシーを作成するには:
次の一連の手順では、制限された権限を持つサンプル・ユーザーを設定する方法を示します。この例では、ユーザーは特定のコンパートメントでインスタンスを起動できる必要があります。
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ユーザー」を選択します。
- 「ユーザーの作成」をクリックします。
-
「ユーザーの作成」ダイアログで次の手順を実行します。
- 名前: 新規ユーザーの一意の名前または電子メール・アドレスを入力します。この値は、コンソールへのユーザーのログインに使用されるため、テナンシ内の他のすべてのユーザーに対して一意であることが必要です。
- 説明: 説明(必須)を入力します。
- 「作成」をクリックします。
次に、ポリシーの対象となるグループ(InstanceLaunchers)を作成します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。
- 「グループの作成」をクリックします。
-
「グループの作成」ダイアログで:
-
名前: グループの一意の名前を入力します。たとえば、InstanceLaunchers。
名前に空白を含めることはできません。
- 説明: 説明(必須)を入力します。
-
- 「作成」をクリックします。
この例では、ポリシーは、グループInstanceLaunchersのメンバーに特定のコンパートメント(CompartmentA)でインスタンスを起動する権限を付与します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」にある「ポリシー」を選択します。
- 「ポリシーの作成」をクリックします。
-
ポリシーの一意の「名前」を入力します。たとえば、InstanceLaunchersPolicy。
名前に空白を含めることはできません。
- 「説明」(必須)に入力します。たとえば、「CompartmentAでインスタンスを起動する権限をユーザーに付与する」。
- 「手動エディタの表示」をクリックし、次の文を入力します。
Allow group InstanceLaunchers to manage instance-family in compartment CompartmentAこのステートメントは、InstanceLaunchersグループのメンバーに、CompartmentAというコンパートメントでインスタンスの起動と管理を行う権限を付与します。
- 「作成」をクリックします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ユーザー」を選択します。
- 「ユーザー」リストで、ユーザーを見つけたら名前をクリックします。
-
ユーザー詳細ページで、「グループ」(ページの左側にある)をクリックします。ユーザーが属するグループのリストが表示されます。
- 「ユーザーをグループに追加」をクリックします。
- 「グループ」リストから、「InstanceLaunchers」を選択します。
- 「追加」をクリックします。
次の手順は、通常のユーザーまたは管理者用です。管理者は、別のユーザーまたは自分自身のAPIキーをアップロードできます。
APIキーはPEM形式のRSAキー(最小2048ビット)であることが必要です。PEMフォーマットは次のとおりです。
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTFqF...
...
-----END PUBLIC KEY——公開PEMキーの生成の詳細は、必要なキーとOCIDを参照してください。
- ユーザーの詳細を表示します:
- 自分のAPIキーをアップロードする場合: ナビゲーション・メニューで、「プロファイル」メニュー
を選択し、表示されているオプションに応じて「ユーザー設定」または「自分のプロファイル」を選択します。
- 管理者が別のユーザーのAPIキーをアップロードしている場合: コンソールで「アイデンティティ」をクリックし、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザーの名前をクリックして詳細を表示します。
- 自分のAPIキーをアップロードする場合: ナビゲーション・メニューで、「プロファイル」メニュー
- 「APIキーの追加」をクリックし、「APIキーの貼付け」を選択します。
-
キーの値をウィンドウに貼り付け、「追加」をクリックします。
キーが追加され、そのフィンガープリントが表示されます(フィンガープリントの例: d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:13)。
参照情報:
問題: あるポリシーが、コンパートメントまたはテナンシ内の少なくとも1つのサービスに対する完全な管理権限を付与します。
基本:
- リソースへのアクセスはポリシーによって制御されます。ポリシーとは、会社に所有するどのOracle Cloud Infrastructureリソースに誰がアクセスできるか、およびその方法を指定するドキュメント。ポリシーによって、特定のコンパートメント 内の特定のタイプのリソース を、グループ が特定の方法で操作することが許可されます。
- セキュリティおよびガバナンスの理由から、ユーザーが必要とするリソースのみにアクセスできるようにしてください。
- ユーザーが必要とするアクセス・レベルについて慎重に検討します。ポリシー言語に用意されているデフォルトの一連の動詞(
manage、use、read、inspect)を使用すると、簡単にユーザーの権限の対象範囲を一般的なタスクのセットに設定できます。たとえば、ユーザーがリソースを更新する必要があるが、リソースを作成または削除する必要はない場合、manage権限ではなくuse権限を付与します。 -
ポリシー言語は、動詞とresource-typeのみを使用した単純なステートメントを記述できるように設計されており、ステートメントで権限を指定する必要はありません。さらにきめ細かくアクセスを制御するには、条件と権限またはAPI操作を組み合せて、特定の動詞で許可されるアクセス範囲を絞り込むことができます。
- 可能な場合は常に、テナンシ全体ではなく、ユーザーがアクセスする必要がある特定のコンパートメントにアクセス範囲を指定します。
最小権限のポリシーを作成するためのヒント:
各ポリシーは、基本的な構文に従う1つ以上のポリシー・ステートメントで構成されます。可能な場合は、テナンシではなくコンパートメントにポリシーの対象範囲を指定します。たとえば、次のようにポリシーを更新します:
Allow group <group_name> to <verb>
<resource-type> in tenancy必要なコンパートメントのみが含まれます:
Allow group <group_name> to <verb>
<resource-type> in compartment <compartment_name>
ユーザーが複数のコンパートメントへのアクセスを必要とする場合、各コンパートメントについてポリシー・ステートメントを作成します。その後、必要な場合に各コンパートメントへのアクセスを解除することは簡単です。
ポリシーで使用できる次の動詞が定義されています。アクセス権限が低い方から順に動詞をまとめています:
| 動詞 | カバーされるアクセスのタイプ | ターゲット・ユーザー |
|---|---|---|
inspect
|
リソースに含まれる可能性がある機密情報またはユーザー指定メタデータにはアクセスせずに、リソースをリストできる権限。 | サードパーティ監査者 |
read
|
inspectに加えて、ユーザー指定のメタデータおよび実際のリソースそのものを取得する権限が含まれます。 |
内部監査者 |
use
|
readに加えて、既存のリソースを操作する権限が含まれます(操作はリソース・タイプによって異なります)。通常、この動詞にはそのタイプのリソースを作成または削除する権限は含まれません。 |
リソースの日常的なエンド・ユーザー |
manage
|
リソースに対するすべての権限が含まれます。 | 管理者 |
通常、リソースを作成または削除する必要がないユーザーには、manage権限は必要ありません。次のようなポリシーがあるとします
Allow group <group_name> to manage <resource-type> in compartment <compartment_name>
ユーザーがresource-typeの作成または削除をまったく行わない場合は、ポリシーを次のように作成しなおすことを検討してください
Allow group <group_name> to use <resource-type> in compartment <compartment_name>
ポリシー・リファレンスでは、各サービスの特定のresource-typeの詳細と、動詞とresource-typeの組合せによって、どのAPI操作にアクセスできるかが説明されています。
- 監査サービスの詳細
- Kubernetesエンジンの詳細
- コア・サービスの詳細 (Networking、ComputeおよびBlock Volumeを含む)
- データベース・サービスの詳細
- DNSポリシー・リファレンス
- 電子メール配信サービスの詳細
- ファイル・ストレージ・サービスの詳細
- アイデンティティ・ドメインのないIAMの詳細
- ロード・バランシングの詳細
- オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細
- コンテナ・レジストリの詳細
- 検索サービスの詳細
ポリシー・ステートメントで、条件と権限またはAPI操作を組み合せて、特定の動詞で許可されるアクセス範囲を絞り込むことができます。
たとえば、グループXYZが、グループのリスト、取得、作成または更新(説明の変更)を行うが、グループの削除は行わないようにするとします。グループのリスト、取得、作成および更新には、動詞とresource-typeとしてmanage groupsを指定したポリシーが必要です。動詞とリソース・タイプの組合せの詳細の表によると、対象となる権限は次のとおりです:
- GROUP_INSPECT
- GROUP_UPDATE
- GROUP_CREATE
- GROUP_DELETE
必要な権限のみにアクセス権を限定するために、許可する権限を明示的に指定する条件を追加できます:
Allow group XYZ to manage groups in tenancy
where any {request.permission='GROUP_INSPECT',
request.permission='GROUP_CREATE',
request.permission='GROUP_UPDATE'}かわりに、GROUP_DELETEを除くすべての権限を許可するポリシーを使用することもできます:
Allow group XYZ to manage groups in tenancy where request.permission != 'GROUP_DELETE'もう1つの方法は、特定のAPI操作に基づいて条件を記述することです。各API操作に必要な権限の表によれば、ListGroupsとGetGroupの両方ではGROUP_INSPECT権限のみが必要です。ポリシーは次のとおりです:
Allow group XYZ to manage groups in tenancy
where any {request.operation='ListGroups',
request.operation='GetGroup',
request.operation='CreateGroup',
request.operation='UpdateGroup'}条件ではAPI操作のかわりに権限を使用するとメリットがある可能性があります。将来、新しいAPI操作が追加され、その操作で前述の権限ベースのポリシーに指定された権限のいずれかが必要になる場合、そのポリシーでは、その新しいAPI操作に対するXYZグループのアクセスがすでに制御されています。
ただし、API操作に基づく条件も指定することで、権限へのユーザーのアクセス範囲を絞り込めることに注意してください。たとえば、GROUP_INSPECTへのアクセス権をユーザーに付与し、その後ListGroupsのみに絞り込むことができます。
Allow group XYZ to manage groups in tenancy
where all {request.permission='GROUP_INSPECT',
request.operation='ListGroups'}参照情報:
問題: ユーザーのAPI署名キーが90日以上経過しています。少なくとも90日ごとにAPIキーをローテーションすることをお薦めしています。
基本:
- APIキーは、Oracle Cloud Infrastructureへのプログラムによるアクセス権を付与するために使用される資格証明です。
-
APIキーを定期的に90日以内にローテーションするのは、セキュリティ・エンジニアリングのベスト・プラクティスでありコンプライアンス要件でもあります。
- 古いキーを非アクティブ化する前に、新しいキーを必ずテストします。
新しいAPIキーを生成してアップロードするには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
-
まだ作成していない場合は、資格証明を格納する
.ociディレクトリを作成します:mkdir ~/.oci -
次のいずれかのコマンドを使用して、秘密キーを生成します。
-
推奨: キーを生成する際に、プロンプトが表示されたら、パスフレーズを指定して暗号化します:
openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048ノート: Windowsでは、パスフレーズについてのプロンプトを表示するために、場合によっては
-passout stdinを挿入する必要があります。プロンプトでは、カーソルが点滅するだけでテキストは表示されません。openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 -passout stdin 2048 -
パスフレーズなしでキーを生成するには:
openssl genrsa -out ~/.oci/oci_api_key.pem 2048
-
-
秘密キー・ファイルは、自分だけが読み取れるようにしてください。
chmod go-rwx ~/.oci/oci_api_key.pem -
公開キーを生成します:
openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pemノート: Windowsでは、パスフレーズを使用して秘密キーを生成した場合、パスフレーズのプロンプトが表示されるように
-passin stdinを挿入する必要があります。プロンプトでは、カーソルが点滅するだけでテキストは表示されません。openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem -passin stdin -
pbcopy、xclipまたは類似ツールを使用して、公開キーの内容をクリップボードにコピーします(後からこの値をコンソールに貼り付ける必要があります)。例:
cat ~/.oci/oci_api_key_public.pem | pbcopy
次のOpenSSLコマンドを使用して、キーのフィンガープリントを取得できます。
LinuxおよびMac OS Xの場合:
openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
openssl rsa -pubout -outform DER -in \.oci\oci_api_key.pem | openssl md5 -c
コンソールに公開キーをアップロードすると、フィンガープリントも自動的にそこに表示されます。たとえば、次のようになります。12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef
- コンソールを開いてサインインします。
-
キー・ペアを使用してAPIをコールするユーザーの詳細を表示します:
- このユーザーとしてコンソールにサインインしている場合: ナビゲーション・メニューで、「プロファイル」メニュー
を選択し、表示されているオプションに応じて「ユーザー設定」または「自分のプロファイル」を選択します。 - 管理者が別のユーザーのために操作している場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ユーザー」を選択します。リストでユーザーを見つけてから、ユーザー名を選択して詳細を表示します。
- このユーザーとしてコンソールにサインインしている場合: ナビゲーション・メニューで、「プロファイル」メニュー
- 「APIキーの選択」を選択します。
- 「APIキーの追加」を選択します。
- 「公開キーの貼付け」を選択します
- ダイアログ・ボックスにPEM公開キーの内容を貼り付けて、「追加」を選択します。
Oracle Cloud Infrastructureに対するサンプルAPIコールでキーをテストします。
- ユーザーの詳細を表示します:
- 自分のAPIキーを削除する場合: ナビゲーション・メニューで、「プロファイル」メニュー
を選択し、表示されているオプションに応じて「ユーザー設定」または「自分のプロファイル」を選択します。 - 管理者が別のユーザーのAPIキーを削除する場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ユーザー」を選択します。リストでユーザーを見つけてから、ユーザー名を選択して詳細を表示します。
- 自分のAPIキーを削除する場合: ナビゲーション・メニューで、「プロファイル」メニュー
- 「APIキー」を選択します。
- 削除するAPIキーのを選択し、「削除」を選択します。
- プロンプトが表示されたら確認します。
参照情報:
問題: 管理者グループ以外のグループに、管理者権限が付与されました。
基本:
- テナンシ管理者権限(
manage all-resources in tenancy)をグループに付与すると、メンバーはテナンシ内のすべてのリソースに対する完全なアクセスを持つことができます。 - このような高い権限の付与は、職務を実行するために必要とするユーザーのみを対象とするように管理して制限する必要があります。
- Oracle Cloud Infrastructureの管理者に、この権限付与が認可されたこと、および管理者権限が付与された後もグループのメンバーシップが有効なままであることを検証します。
- 管理者権限を持つ代替グループを作成するかわりに、管理者権限を必要とするユーザーをデフォルトの管理者グループに追加することを検討します。
この問題を解決するには:
管理者権限を必要とするユーザーを管理者グループに追加します:
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。
- 「グループ」リストで、「管理者」を選択します。
- 「ユーザーをグループに追加」を選択します。
- 「ユーザーをグループに追加」ダイアログで、「ユーザー」リストからユーザーを選択します。
- 「追加」を選択します。
グループ(管理者グループ以外)に管理権限を付与するポリシーまたはポリシー・ステートメントを削除します。
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」にある「ポリシー」を選択します。表示しているコンパートメント内のポリシーのリストが表示されます。
探しているポリシーが表示されない場合は、正しいコンパートメントが表示されていることを確認します。別のコンパートメントにアタッチされたポリシーを表示するには、「リスト範囲」で、リストからそのコンパートメントを選択します。
- 更新するポリシーをクリックします。
ポリシーの詳細およびステートメントが表示されます。
-
管理者権限をグループに付与するステートメントを探します。次のようなポリシーです:
Allow group <group_name> to manage all-resources in tenancyをクリックし、「削除」をクリックします。
- ポリシーに他のステートメントがない場合は、ポリシー名の横にある「削除」をクリックして、ポリシーを削除できます。
参照情報:
ネットワーキング: VCN、ロード・バランサおよびDNS
問題: VCNのセキュリティ・リストにイングレス・ルールがありません。つまり、VCNのインスタンスが着信トラフィックを受け取ることができません。
基本:
- セキュリティ・リストによって、インスタンスへのネットワーク・アクセスを制御する、ステートフルおよびステートレス・ファイアウォール機能が提供されます。
- セキュリティ・リストはサブネット・レベルで構成され、インスタンス・レベルで適用されます。
- 複数のセキュリティ・リストを1つのサブネットに関連付けることができます。パケットが許可されるのは、それが、サブネットで使用されるセキュリティ・リストのいずれかのルールと一致する場合です。
- サブネットのどのセキュリティ・リストにもイングレス(インバウンド)ルールがない場合、そのサブネットのインスタンスに対してトラフィックが許可されません。
- 多層防御のためには、イングレス・セキュリティ・リストのルールに、オープン・ソースの
(0.0.0.0/0)ではなく既知の特定のソースを指定する必要があります。 - Oracle CASB Cloud Serviceで例外を構成すると、除外したセキュリティ・リストのアラートを削減できます。
イングレス・ルールを既存のセキュリティ・リストに追加するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
-
少なくとも1つのイングレス・ルールを追加します:
- 「イングレス・ルールの追加」をクリックします。
- ステートフル・ルールかステートレス・ルールかを選択します(ステートフルまたはステートレス・ルールを参照)。デフォルトでは、特に指定しないかぎりルールはステートフルです。
- ソースCIDRを入力します。通常、ルールに指定するCIDRは、オンプレミス・ネットワークまたは特定のサブネットのCIDRブロックです。サービス・ゲートウェイ を使用したトラフィックを許可するセキュリティ・リスト・ルールを設定している場合は、タスク3: (オプション)セキュリティ・ルールの更新を参照してください。
- プロトコル(たとえば、TCP、UDP、ICMP、「すべてのプロトコル」など)を選択します。
- プロトコルに応じて、その他の詳細を入力します:
- 完了したら、「イングレス・ルールの追加」をクリックします。
この変更により、ルールに指定したソースCIDRブロックからのイングレス・アクセスが有効になります。他の既知のソースからのイングレスを許可する場合は、ルールをさらに追加します。
参照情報:
問題: セキュリティ・リストに、オープン・ソース(0.0.0.0/0)のルールが少なくとも1つ含まれています。つまり、どのソースからもトラフィックを受信する可能性があり、制御されていません。
基本:
- セキュリティ・リストによって、インスタンスへのネットワーク・アクセスを制御する、ステートフルおよびステートレス・ファイアウォール機能が提供されます。
- セキュリティ・リストはサブネット・レベルで構成され、インスタンス・レベルで適用されます。
- 複数のセキュリティ・リストを1つのサブネットに関連付けることができます。パケットが許可されるのは、それが、サブネットで使用されるセキュリティ・リストのいずれかのルールと一致する場合です。
- サブネットのどのセキュリティ・リストにもイングレス(インバウンド)ルールがない場合、そのサブネットのインスタンスに対してトラフィックが許可されません。
- 多層防御のためには、イングレス・セキュリティ・リストのルールに、オープン・ソースの
(0.0.0.0/0)ではなく既知の特定のソースを指定する必要があります。 - Oracle CASB Cloud Serviceで例外を構成すると、除外したセキュリティ・リストのアラートを削減できます。
セキュリティ・リスト・ルールのソースを変更するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
- ソースCIDRとして0.0.0.0/0が指定されたルールを探します。
- ルールを編集し、0.0.0.0/0を既知のソースのCIDRブロックに変更します。
この変更によってイングレスが制限され、特定のCIDRブロックからのパケットのみが許可されるようになります。他の既知のソースからのイングレスを許可する場合は、ルールをさらに追加します。
参照情報:
問題: セキュリティ・リストに、機密性の高いポートへのアクセスを可能にするルールが少なくとも1つ含まれています。
基本:
- セキュリティ・リストによって、インスタンスへのネットワーク・アクセスを制御する、ステートフルおよびステートレス・ファイアウォール機能が提供されます。
- セキュリティ・リストはサブネット・レベルで構成され、インスタンス・レベルで適用されます。
- 複数のセキュリティ・リストを1つのサブネットに関連付けることができます。パケットが許可されるのは、それが、サブネットで使用されるセキュリティ・リストのいずれかのルールと一致する場合です。
- サブネットのどのセキュリティ・リストにもイングレス(インバウンド)ルールがない場合、そのサブネットのインスタンスに対してトラフィックが許可されません。
- 多層防御のためには、イングレス・セキュリティ・リストのルールに、オープン・ソースの
(0.0.0.0/0)ではなく既知の特定のソースを指定する必要があります。 - Oracle CASB Cloud Serviceで例外を構成すると、除外したセキュリティ・リストのアラートを削減できます。
推奨: サブネットのセキュリティ・リストを更新して、必要に応じて一時的にSSH (TCPポート22)またはRDP (TCPポート3389)を介したインスタンスへのアクセスを許可し、さらに認可されたCIDRブロック(0.0.0.0/0以外)からのみのインスタンスへのアクセスを許可します。インスタンス・ヘルスのチェックを実行するには、ICMP pingを許可するようにセキュリティ・リストを更新します。
既存のセキュリティ・リストを変更するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
- 次の変更を1つ以上行います:
- 既存のルールを削除します。
- リストの既存のルールを変更します。たとえば、ソースを0.0.0.0/0から既知のソースのCIDRブロックに変更します。
- 新規ルールを追加します。
参照情報:
問題: VCNにインターネット・ゲートウェイがあります。ゲートウェイのVCNへのアタッチには認可が必要です。また、意図せずにインターネットにリソースを公開しないでください。
基本:
- ゲートウェイは、VCN内のホストに外部接続を提供します。たとえば、インターネット・ゲートウェイでは、パブリック・サブネット内にあり、パブリックIPアドレスを持つインスタンスがインターネットに直接接続できるようになります。動的ルーティング・ゲートウェイ(DRG)を使用すると、サイト間VPNまたはFastConnectを介したオンプレミス・ネットワークとの接続が可能になります。
- VCNの特定のサブネットからインターネット・ゲートウェイを介したトラフィックを有効にするには、サブネットのルート表に、インターネット・ゲートウェイをルート・ターゲットとして指定したルールが必要です。VCNからインターネット・ゲートウェイを削除するには、最初に、インターネット・ゲートウェイをターゲットとして指定するルート・ルールをすべて削除する必要があります。
- Oracle CASB Cloud Serviceで例外を構成すると、除外したVCNのアラートを削減できます。
VCNからインターネット・ゲートウェイを削除するには:
前提条件: インターネット・ゲートウェイをターゲットとして指定するルート・ルールがないことを確認します。
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「インターネット・ゲートウェイ」をクリックします。
- インターネット・ゲートウェイ用のをクリックし、「終了」をクリックします。
- プロンプトが表示されたら確認します。
この変更により、VCNがインターネットに直接接続できなくなります。
参照情報:
問題: インスタンスにパブリックIPアドレスがあります。つまり、VCN内に他の必須コンポーネントが存在して正しく構成されていれば、パブリック・アドレスを介してインスタンスにアクセスできます。
基本:
- すべてのインスタンスについてインターネット・アクセスの許可は慎重に検討してください。たとえば、機密性の高いDBシステムへのインターネット・アクセスを誤って許可しないでください。
-
インスタンスにパブリック・アドレスでアクセスするには:
- インスタンスがパブリックIPアドレスを持ち、VCNのパブリック・サブネットに存在する必要があります(プライベート・サブネットのインスタンスは、パブリックIPアドレスを持つことはできません)。
- サブネットのセキュリティ・リストは、すべてのIP (0.0.0.0/0)およびすべてのポートのトラフィックを許可するように構成する必要があります。
- VCNにインターネット・ゲートウェイが必要です。また、サブネットからのアウトバウンド・トラフィックをインターネット・ゲートウェイにルーティングするようにVCNを構成する必要があります。
- 1つのインスタンスは複数のパブリックIPアドレスを持つことができます。特定のパブリックIPは、インスタンス上の特定のVNICのプライベートIPに割り当てられます。1つのインスタンスは複数のVNICを持つことができ、各VNICは複数のプライベートIPを持つことができます。
インスタンスからパブリックIPアドレスを削除するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- 詳細を表示するインスタンスをクリックします。
-
「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびセカンダリVNICが表示されます。
-
関心のあるVNICをクリックします。
- IPv4「アドレス」をクリックします。
VNICのプライマリ・プライベートIPおよびセカンダリ・プライベートIPが表示されます。
- 目的のプライベートIPについて、をクリックし、「編集」をクリックします。
- 「パブリックIPアドレス」セクションの「パブリックIPタイプ」で、「パブリックIPなし」のラジオ・ボタンを選択します。
- 「更新」をクリックします。
パブリックIPがインスタンスから割当て解除されます。
参照情報:
問題: ロード・バランサのサブネット・セキュリティ・リストにイングレス・ルールがないか、ロード・バランサにリスナーがありません。この場合、ロード・バランサは着信トラフィックを受け取ることができません。
基本:
- ロード・バランサは、1つのエントリ・ポイントから、仮想クラウド・ネットワーク(VCN)からアクセス可能な複数のサーバーへの自動トラフィック分散を提供します。各ロード・バランサは、セキュリティ・リスト・ルールによって管理されるサブネットに存在します。1つのロード・バランサは、1つ以上のリスナーから着信データ・トラフィックを受け取ります。
- セキュリティ・リストによって、ロード・バランサとバックエンド・サーバーへのネットワーク・アクセスを制御する、ステートフルおよびステートレス・ファイアウォール機能が提供されます。
- サブネットのどのセキュリティ・リストにもイングレス(インバウンド)ルールがない場合、そのサブネットのインスタンスに対してトラフィックが許可されません。
- 多層防御のためには、オープン・ソース(0.0.0.0/0)ではなく既知の特定のソースを指定するように、イングレス・セキュリティ・リストのルールを構成します。
- リスナーは、ロード・バランサのIPアドレスに対する着信トラフィックを確認する論理エンティティです。
- TCP、HTTPおよびHTTPSトラフィックを処理するには、トラフィック・タイプごとに少なくとも1つのリスナーを構成する必要があります。
- パス・ルート・ルールをリスナーに適用すると、複数のリスナーまたはロード・バランサを使用せずに、トラフィックを正しいバックエンド・セットにルーティングできます。パス・ルートは、リスナーが着信URIと照合して、適切な宛先バックエンド・セットを決定するための文字列です。
- Oracle Cloud Infrastructureロード・バランサがインバウンド・ルールまたはリスナーを使用して、既知のリソースのみからアクセスできるようにします。
- CASBに例外を構成すると、除外したロード・バランサからのアラートを削減できます。
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
リスナーがトラフィックを受け入れるようにするには、VCNのセキュリティ・リスト・ルールを更新する必要があります:
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 「リスト範囲」で、作業する権限があるコンパートメントを選択します。現在のコンパートメントに含まれるVCNのリストが表示されます。
- ロード・バランサを含むVCNの名前を選択し、ネットワーク・セキュリティ・グループまたはセキュリティ・リストを選択します。クラウド・ネットワークのセキュリティ・グループまたはセキュリティ・リストのリストが表示されます。
- ロード・バランサに適用されるNSGまたはセキュリティ・リストの名前を選択します。
- ルールを追加または編集して、適切なリソースへのアクセス権を付与します。ネットワーク・セキュリティ・グループ詳細ページにNSGのセキュリティ・ルールが表示されます。ここで、ルールを追加、編集または削除できます。セキュリティ・リストの詳細ページから、個別の表にアクセスして、そこでイングレス・ルールまたはエグレス・ルールを追加または編集できます。ルール構成の詳細は、セキュリティ・ルールを参照してください。
リスナーを作成するには:
通常は、ロード・バランサ作成ワークフローの一部としてリスナーを作成します。既存のロード・バランサのためにリスナーを作成するには:
- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
「ロード・バランサ」リスト・ページが開きます。選択したコンパートメント内のすべての既存のロード・バランサ・リソースがリスト表に表示されます。
- 別のコンパートメントのリソースを表示するには、「コンパートメント」フィルタを使用してコンパートメントを切り替えます。
コンパートメント内のリソースを表示するには、そのコンパートメントで作業する権限が必要です。使用するコンパートメントがわからない場合は、管理者に連絡してください。詳細は、コンパートメントの理解を参照してください。
- リストから状態を選択すると、その状態のロード・バランサのみが表示されます。
- リスナーを作成するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
- 「リソース」で「リスナー」を選択します。「リスナー」リストが表示されます。すべてのリスナーが表形式でリストされます。
- 「リスナーの作成」を選択します。「リスナーの作成」ダイアログが表示されます。
- 次を完了します:
- 名前: リスナーのフレンドリ名を入力します。名前は一意である必要があり、変更できません。
- ホスト名: (オプション)このリスナーに対して最大16の仮想ホスト名を選択します。ノート
仮想ホスト名をリスナーに適用するには、その名前がロード・バランサの構成に含まれている必要があります。ロード・バランサにホスト名が関連付けられていない場合は、「ホスト名」ページで作成できます。詳細は、ロード・バランサの仮想ホスト名を参照してください。 - プロトコル: 使用するプロトコルを指定します: HTTP、HTTP/2、TCP、または HTTPS。
- ポート: 受信トラフィックをリスニングするポートを指定します。
- SSLの使用: (HTTP/2およびHTTPSでは必須、HTTPおよびTCPではオプション)有効にする場合に選択します。SSL処理を有効にするには、SSL証明書バンドルをリスナーに関連付けるために次の設定が必要です。ロード・バランサでのSSL証明書の使用の詳細は、ロード・バランサのSSL証明書を参照してください。
ロード・バランサは、変更を自動的に検出し、SSL構成で使用するために証明書サービス・エンティティ(証明書、認証局およびCAバンドル)の現在のバージョンを使用します。自動証明書ローテーションの詳細は、証明書を参照してください。
- 証明書リソース: リストから証明書リソース・タイプを選択します:
証明書をインポートする方法は、選択した証明書リソース・タイプによって異なります。
証明書サービス管理対象証明書: 「証明書」リストから、指定したコンパートメント内の証明書を選択します。証明書を選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
- この選択では拡張オプションを使用できます。「拡張オプションの表示」を選択し、「拡張SSL」タブを選択します。このオプションについては、このトピックの後半で説明します。
- ロード・バランサ管理対象証明書: 次のいずれかのオプションを選択して、証明書をインポートします:
SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグします。「SSL証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接貼り付けることもできます。バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
秘密キーの指定: (SSL終了の場合は必須、それ以外の場合はオプション)証明書の秘密キーを指定する場合はボックスを選択します。
秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
Enter private key passphrase: (オプション)秘密キー・パスフレーズを指定します。
- セッション再開の有効化: 各リクエストの前に新しいSSL接続を完了するのではなく、前の暗号化セッションを再開する場合に選択します。セッションの再開を有効にすると、パフォーマンスが向上しますが、セキュリティのレベルは低くなります。各リクエストの前に新しいSSL接続を強制的に行う機能の選択を解除します。セッションの再開を無効にすると、セキュリティは向上しますが、パフォーマンスは低下します。
- ピア証明書の検証: (オプション)ピア証明書の検証を有効にする場合は、このオプションを選択します。詳細は、ロード・バランサのSSL証明書を参照してください。
ロード・バランサとそのバックエンド・サーバー間の通信では、相互TLS (mTLS)はサポートされていません。ロード・バランサとユーザー間の通信にはmTLSを使用できます。
- 深さの検証: (オプション)証明書チェーン検証の最大の深さを指定します。詳細は、ロード・バランサのSSL証明書を参照してください。
- 証明書リソース: リストから証明書リソース・タイプを選択します:
- バックエンド・セット: リスナーがトラフィックをルーティングするデフォルトのバックエンド・セットを指定します。
- アイドル・タイムアウト(秒): (オプション)最大アイドル時間(秒)を指定します。この設定が適用されるのは、HTTP request-responseフェーズでの、連続する2回の正常な受信ネットワーク入出力操作の間、または連続する2回の正常な送信ネットワーク入出力操作の間です。最大値は7200秒です。詳細は、ロード・バランサのタイムアウト接続設定を参照してください。
- (オプション)「プロキシ・プロトコル」タブを選択して、ロード・バランサでプロキシ・プロトコルを有効にして構成します。この機能の詳細は、Proxy Protocolを参照してください。
- この機能を有効にするには、「プロキシ・プロトコルの有効化」を選択します。
- 使用するプロキシ・プロトコルのバージョンを選択します。
- バージョン1: 人間が読めるヘッダー(テキスト)形式をサポートし、通常はログ・エントリの1行です。このオプションは、実装がほとんどない初期導入段階でのデバッグに使用します。
- バージョン2: バージョン1の判読可能なヘッダーのサポートとヘッダーのバイナリ・エンコーディングを組み合せて、生成および解析の効率を高めます。このオプションは、ASCII形式で生成および解析が困難なIPv6アドレスに使用します。バージョン2では、カスタム拡張機能もより適切にサポートされます。デフォルトでは、使用可能なバージョン2オプションとしてPP2 Type Authorityが選択されています。
- ルーティング・ポリシーまたはパス・ルート・セットを選択します。
- ルーティング・ポリシー: (オプション)このリスナーのトラフィックに適用されるルーティング・ポリシーの名前を指定します。
- パス・ルート・セット: (オプション)このリスナーのトラフィックに適用されるパスベースのルーティング・ルール・セットの名前を指定します。
パス・ルート・セットをリスナーに適用するには、パス・ルート・セットがロード・バランサ構成の一部である必要があります。
既存のリスナーからパス・ルート・セットを削除するには、「パス・ルート・セット」オプションとして「なし」を選択します。このパス・ルート・セットは、このロード・バランサの他のリスナーでは使用可能なままです。
- ルール・セット: (オプション)このリスナーのトラフィックに適用するルール・セットを選択します。ルール・セットをリスナーに適用するには、そのセットがロード・バランサの構成に含まれている必要があります。リストからルール・セットを削除するには、対応する赤いボックスを選択します。このルール・セットは、このロード・バランサの他のリスナーでは使用可能なままです。
- 拡張オプションの表示: 次のオプションを表示する場合に選択します:
- 拡張SSL: (「Certificate Service Managed Certificate」証明書の証明書リソースが選択されている場合にのみ表示されます。)リスナーの証明書リソースの選択時に「証明書サービス管理対象証明書」を選択した場合は、次のいずれかのオプションを選択します。
CA bundle: 指定したコンパートメントの認証局バンドルをリストから選択します。認証局バンドルを選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
認証局: 指定したコンパートメントの認証局をリストから選択します。認証局バンドルを選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
- TLSバージョン: Transport Layer Security (TLS)バージョン(1.0、1.1、1.2 (推奨)および1.3)を指定します。
バージョンの任意の組合せを選択できます。必要なものをリストから選択します。TLSバージョンを指定しない場合、デフォルトのTLSバージョンは1.2のみです。
暗号化方式群の選択: リストから一連の暗号化方式群を選択します。(デフォルト)。リストに表示されるすべての選択肢には、選択したTLSバージョンごとに少なくとも1つの暗号が関連付けられています。
セキュリティ・ポリシーに対して有効になっている暗号に基づく署名アルゴリズムを使用して、SSL証明書を作成します。
- 暗号化方式群の詳細の表示: 選択すると、選択した暗号化方式群に含まれる個々の暗号化方式を表示します。
- サーバー順序プリファレンス: 「有効化」を選択し、クライアントよりもサーバー暗号を優先します。
- 拡張SSL: (「Certificate Service Managed Certificate」証明書の証明書リソースが選択されている場合にのみ表示されます。)リスナーの証明書リソースの選択時に「証明書サービス管理対象証明書」を選択した場合は、次のいずれかのオプションを選択します。
- 「リスナーの作成」を選択します。
リスナーを作成する場合、そのリスナーへのトラフィックを許可するためにVCNのセキュリティ・リストのルールも更新する必要があります。
参照情報:
問題: ロード・バランサにバックエンド・セットがありません。この場合、ロード・バランサに着信データの分散先がなく、バックエンド・サーバーのヘルスをモニターする手段もありません。
基本:
- バックエンド・セットは、ロード・バランシング・ポリシー、ヘルス・チェック・ポリシーおよびバックエンド・サーバーのリストによって定義される論理エンティティです。
- バックエンド・セットによって、次のようなロード・バランサのトラフィック分散ポリシーが決まります:
- IPハッシュ
- 最少接続
- 重み付けラウンド・ロビン
- バックエンド・セットの作成時に、バックエンド・サーバーのヘルスを確認するテスト・パラメータを指定します。
- 既存のロード・バランサにバックエンド・セットがない場合は、バックエンド・セットの作成後にロード・バランサからトラフィックを受信するバックエンド・サーバーを指定できます。
- Oracle CASB Cloud Serviceで例外を構成すると、除外したロード・バランサのアラートを削減できます。
バックエンド・セットを作成するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
通常は、ロード・バランサ作成ワークフローの一部としてバックエンド・セットを作成します。既存のロード・バランサのためにバックエンド・セットを作成するには:
- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
「ロード・バランサ」リスト・ページが開きます。選択したコンパートメント内のすべての既存のロード・バランサ・リソースがリスト表に表示されます。
- 別のコンパートメントのリソースを表示するには、「コンパートメント」フィルタを使用してコンパートメントを切り替えます。
コンパートメント内のリソースを表示するには、そのコンパートメントで作業する権限が必要です。使用するコンパートメントがわからない場合は、管理者に連絡してください。詳細は、コンパートメントの理解を参照してください。
- リストから状態を選択すると、その状態のロード・バランサのみが表示されます。
- バックエンド・セットを追加するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
- 「リソース」の下の「バックエンド・セット」を選択します。「バックエンド・セット」リストが表示されます。すべてのバックエンド・セットが表形式でリストされます。
- 「バックエンド・セットの作成」を選択します。「バックエンド・セットの作成」ダイアログ・ボックスが表示されます。
-
次を完了します:
- 名前: バックエンド・セットのフレンドリ名を入力します。ロード・バランサ内で一意である必要があり、変更できません。有効なバックエンド・セット名には、英数字、ダッシュおよびアンダースコアのみを使用できます。バックエンド・セット名にスペースを含めることはできません。
- トラフィック分散ポリシー: バックエンド・セットのロード・バランサ・ポリシーを選択します。使用可能なオプションは:
- IPハッシュ
- 最少接続
- 重み付けラウンド・ロビン
バックアップとしてマークされたバックエンド・サーバーは、IPハッシュ・ポリシーを使用するバックエンド・セットに追加できません。これらのポリシーの詳細は、ロード・バランサ・ポリシーを参照してください。
- SSLの使用: SSL証明書リソースをバックエンド・セットに関連付ける場合に選択します。
ロード・バランサは、変更を自動的に検出し、SSL構成で使用するために証明書サービス・エンティティ(証明書、認証局およびCAバンドル)の現在のバージョンを使用します。自動証明書ローテーションの詳細は、証明書を参照してください。
ロード・バランサにアタッチされた証明書リソースが存在しない場合、このオプションは無効です。
証明書リソース: リストから証明書リソース・タイプを選択します:
証明書をインポートする方法は、選択した証明書リソース・タイプによって異なります。ロード・バランサによるSSL証明書の使用方法の詳細は、ロード・バランサのSSL証明書を参照してください。
Webアプリケーション・ファイアウォール・ポリシーでSSLを使用する場合の一般情報は、証明書を参照してください。
- 証明書サービス管理対象証明書
「CAバンドル」または「認証局」オプションを選択し、関連リストから選択します。CAバンドルまたは認証局を選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
この選択では拡張オプションを使用できます。「拡張オプションの表示」を選択し、「拡張SSL」タブを選択します。このオプションについては、このトピックの後半で説明します。
- ロード・バランサ管理対象証明書: 次のいずれかのオプションを選択して、証明書をインポートします:
SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグします。「SSL証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接貼り付けることもできます。
バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
秘密キーの指定: (SSL終了に必要です。)証明書の秘密キーを指定する場合に選択します。
秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。
Enter private key passphrase: 秘密キーのパスフレーズを指定します。または、「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
ピア証明書の検証: ピア証明書の検証を有効にする場合は、このオプションを選択します。詳細は、ロード・バランサのSSL証明書を参照してください。
深さの検証: オプション。証明書チェーン検証の最大の深さを指定します。詳細は、ロード・バランサのSSL証明書を参照してください。
- 証明書サービス管理対象証明書
- セッション永続性: ロード・バランサがセッション永続性を管理する方法を指定します。これらの設定の構成に関する重要な情報は、ロード・バランサのセッション永続性を参照してください。
- セッション永続性の無効化: Cookieベースのセッション永続性を無効にする場合は、このオプションを選択します。
- アプリケーションCookie永続性の有効化: 指定したCookie名を持つ
Set-cookieヘッダーがバックエンド・アプリケーション・サーバーからのレスポンスに含まれる場合に、単一の論理クライアントから永続セッションを有効にするには、このオプションを選択します。- Cookie名: セッション永続性の有効化に使用するCookie名。*を指定すると、あらゆるCookie名と一致します。
- フォールバックの無効化: 元のサーバーが使用できない場合にフォールバックを無効にするには、このボックスを選択します。
- ロード・バランサのCookie永続性の有効化: ロード・バランサによって挿入されたCookieに基づいて永続セッションを有効にする場合は、このオプションを選択します。
- Cookie名: セッション永続性を有効にするために使用するCookieの名前を指定します。空白の場合、デフォルトのCookie名は
X-Oracle-BMC-LBS-Routeです。バックエンド・アプリケーション・サーバーで使用されるCookie名が、ロード・バランサで使用されるCookie名と異なることを確認してください。
- フォールバックの無効化: 元のサーバーが使用できない場合にフォールバックを無効にするには、このボックスを選択します。
- ドメイン名: Cookieが有効なドメインを指定します。
この属性にデフォルト値はありません。値を指定しない場合、ロード・バランサはドメイン属性を
Set-cookieヘッダーに挿入しません。 - パス: Cookieが有効なパスを指定します。デフォルト値は
/です。 - 有効期限(秒): Cookieが有効な期間を指定します。空白の場合、クライアント・セッションの終了時にCookieの有効期限が切れます。
- 属性
セキュア:
Set-cookieヘッダーにSecure属性を含めるかどうかを指定します。選択した場合、クライアントはセキュア・プロトコルのみを使用してCookieを送信します。この設定を有効にした場合、対応するバックエンド・セットをHTTPリスナーに関連付けることはできません。
HTTPのみ:
Set-cookieヘッダーにHttpOnly属性を含めるかどうかを指定します。選択すると、CookieはHTTPリクエストに限定されます。JavaScriptチャネルなどHTTP API以外を介してCookieへのアクセスを提供する場合、クライアントはCookieを省略します。
- Cookie名: セッション永続性を有効にするために使用するCookieの名前を指定します。空白の場合、デフォルトのCookie名は
- ヘルス・チェック: バックエンド・サーバーのヘルスを確認するためのテスト・パラメータを指定します。
- プロトコル: 使用するプロトコルとして、HTTPまたはTCPを指定します。ヘルス・チェック・プロトコルをアプリケーションまたはサービスと一致するように構成してください。詳細は、ロード・バランサのヘルス・チェックを参照してください。
- ポート: (オプション)ヘルス・チェックを実行するバックエンド・サーバー・ポートを指定します。ヘルス・チェックでバックエンド・サーバーのトラフィック・ポートを使用するように、値0を入力できます。
- プレーン・テキスト・ヘルス・チェックの強制: (HTTPのみ) (オプション)ヘルス・チェックをSSLなしでバックエンド・サーバーに送信する場合に選択します。このオプションは、バックエンド・サーバーのプロトコルがHTTPに設定されている場合にのみ使用できます。バックエンド・サーバーでSSLが有効になっていない場合、影響はありません。SSLが無効になっている場合、ヘルス・チェックは常にプレーン・テキストです。
- 間隔(ミリ秒): (オプション)ヘルス・チェックを実行する頻度をミリ秒単位で指定します。デフォルトは10000(10秒)です。
- タイムアウト: (オプション)ヘルス・チェックの応答を待機する最大時間をミリ秒単位で指定します。ヘルス・チェックが成功するのは、このタイムアウト期間内に応答が返される場合のみです。デフォルトは3000(3秒)です。
- 再試行回数: (オプション)バックエンド・サーバーを異常とみなすまでに試行する再試行回数を指定します。サーバーを正常な状態にリカバリするときにもこの数が適用されます。デフォルトは'3'です。
- ステータス・コード: (HTTPのみ) (オプション)健康なバックエンド・サーバーが返す必要のあるステータス・コードを指定します。
- URLパス(URI): (HTTPのみ)ヘルス・チェックを実行するURLエンドポイントを指定します。
- レスポンス本文の正規表現: (HTTPのみ) (オプション)バックエンド・サーバーからのレスポンス本文を解析するための正規表現を指定します。
- 拡張オプションの表示: このリンクを選択して、他のオプションにアクセスします。対応する機能のタブを選択します:
- 「Advanced SSL」タブ: (「Certificate Service Managed Certificate」証明書の証明書リソースが選択されている場合にのみ表示されます。)リスナーの証明書リソースの選択時に「証明書サービス管理対象証明書」を選択した場合は、次のいずれかのオプションを選択します。ロード・バランサによるSSL証明書の使用方法の詳細は、ロード・バランサのSSL証明書を参照してください。
CA bundle: 指定したコンパートメントの認証局バンドルをリストから選択します。認証局バンドルを選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
認証局: 指定したコンパートメントの認証局をリストから選択します。認証局バンドルを選択する別のコンパートメントを選択するには、「コンパートメントの変更」を選択します。
- TLSバージョン:オプション。Transport Layer Security (TLS)バージョンを指定します: 1.0、1.1、1.2 (推奨)および1.3
バージョンの任意の組合せを選択できます。必要なものをリストから選択します。TLSバージョンを指定しない場合、デフォルトのTLSバージョンは1.2のみです。
暗号化方式群の選択: リストから暗号化方式群を選択します。リストに表示されるすべての選択肢には、選択したTLSバージョンごとに少なくとも1つの暗号が関連付けられています。
- 「Advanced SSL」タブ: (「Certificate Service Managed Certificate」証明書の証明書リソースが選択されている場合にのみ表示されます。)リスナーの証明書リソースの選択時に「証明書サービス管理対象証明書」を選択した場合は、次のいずれかのオプションを選択します。ロード・バランサによるSSL証明書の使用方法の詳細は、ロード・バランサのSSL証明書を参照してください。
- 「作成」を選択します。
バックエンド・セットがプロビジョニングされたら、セットのバックエンド・サーバーを指定する必要があります。詳細は、ロード・バランサ用のバックエンド・サーバーを参照してください。
参照情報:
問題: ロード・バランサのSSL証明書がまもなく期限切れになります。証明書の期限が切れると、データ・トラフィックが中断されて、セキュリティが侵害される可能性があります。
基本:
- 継続的なセキュリティとユーザビリティを実現するには、SSL証明書をタイミングよくローテーションする必要があります。
- Oracle CASB Cloud Serviceで例外を構成すると、除外したロード・バランサのアラートを削減できます。
ロード・バランサの証明書バンドルをローテーションするには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
- 新しい証明書バンドルで動作するように、クライアントまたはバックエンド・サーバーを更新します。ノート
クライアントまたはバックエンド・サーバーを更新するステップは、ご使用のシステムに固有です。 - ロード・バランサへの新規SSL証明書バンドルのアップロード:
- 「ロード・バランサ」で、「ロード・バランサ」を選択します。「ロード・バランサ」ページが表示されます。
- 変更するロード・バランサを含むコンパートメントの名前を選択し、ロード・バランサの名前を選択します。
- 構成するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
- 「リソース」で「証明書」を選択します。「証明書」リストが表示されます。すべての証明書が表形式でリストされます。
- 次を完了します:
- 証明書名: 証明書バンドルのフレンドリ名を入力します。これはロード・バランサ内で一意である必要があります。コンソールで変更できません。(APIを使用して変更できます。)
- SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグします。
「SSL証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接貼り付けることもできます。
重要
バックエンドSSLのために自己署名証明書を送信する場合は、対応するCA証明書フィールドで同じ証明書を送信する必要があります。 - CA証明書の指定: (バックエンドSSL終了構成で推奨。)CA証明書を指定する場合に選択します。
- CA証明書ファイルの選択: PEM形式のCA証明書ファイルを「CA証明書」フィールドにドラッグします。
「CA証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接貼り付けることもできます。
- CA証明書ファイルの選択: PEM形式のCA証明書ファイルを「CA証明書」フィールドにドラッグします。
- 秘密キーの指定: (SSL終了に必要です。)証明書の秘密キーを指定する場合に選択します。
- 秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。
「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
- Enter private key passphrase: (オプション)秘密キー・パスフレーズを指定します。
- 秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。
- 「証明書の追加」を選択します。次に、新しい証明書バンドルを使用できるように、該当する各リスナーまたはバックエンド・セットを編集します:
-
リスナーを編集します。
- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
- 変更するロード・バランサを含むコンパートメントを選択し、ロード・バランサの名前を選択します。
- 「リソース」で「リスナー」を選択します。「リスナー」リストが表示されます。すべてのリスナーが表形式でリストされます。
- 編集するリスナーの横にあるを選択し、「リスナーの編集」を選択します。
- 「証明書名」リストで、新しい証明書バンドルを選択します。
- 「送信」を選択します。
- バックエンド・セットを編集します:重要
バックエンド・セットを変更すると、トラフィックが一時的に中断され、アクティブ接続が切断される場合があります。- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
「ロード・バランサ」リスト・ページが開きます。選択したコンパートメント内のすべての既存のロード・バランサ・リソースがリスト表に表示されます。
- 別のコンパートメントのリソースを表示するには、「コンパートメント」フィルタを使用してコンパートメントを切り替えます。
コンパートメント内のリソースを表示するには、そのコンパートメントで作業する権限が必要です。使用するコンパートメントがわからない場合は、管理者に連絡してください。詳細は、コンパートメントの理解を参照してください。
- リストから状態を選択すると、その状態のロード・バランサのみが表示されます。
- バックエンド・セットを編集するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
- 「リソース」の下の「バックエンド・セット」を選択します。「バックエンド・セット」リストが表示されます。すべてのバックエンド・セットが表形式でリストされます。
- 編集するバックエンド・セットの名前を選択します。バックエンド・セットの「詳細」ページが表示されます。
- 「バックエンド・セットの編集」を選択します。「バックエンド・セットの編集」ダイアログ・ボックスが表示されます。
- 「SSLを使用」を選択します。
- 「証明書名」リストで、新しい証明書バンドルを選択します。
- 「Save changes」を選択します。
- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
-
(オプション)期限切れが近いSSL証明書バンドルを削除します。
ノート
リスナーまたはバックエンド・セットに関連付けられているSSL証明書バンドルは削除できません。削除する前に、他のリスナーまたはバックエンド・セットからバンドルを削除してください。- 「ロード・バランサ」で、「ロード・バランサ」を選択します。
- 変更するロード・バランサを含むコンパートメントの名前を選択し、ロード・バランサの名前を選択します。
- 構成するロード・バランサを選択します。
- 「リソース」メニューで、「証明書」を選択します。
- 削除する証明書に対して、「アクション」メニュー(3つのドット)を選択し、「削除」を選択します。
- プロンプトが表示されたら確認します。
参照情報:
オブジェクト・ストレージ
問題: テナンシでパブリック・バケットが検出されました。各パブリック・バケットの作成が意図的に行われ、許可されていることを確認します。バケットのパブリック・アクセスが許可されない場合は、バケットの可視性を変更する手順に従って、バケットを非公開にします。
基本:
- バケットのパブリック・アクセスのためのビジネス要件を慎重に評価します。バケットへの匿名アクセスを有効にすると、ユーザーがオブジェクト・メタデータを取得したり、バケット・オブジェクトをダウンロードしたり、オプションでバケットの内容をリスト表示したりできます。
- アクセス・タイプは双方向に変更できます。パブリックからプライベートまたはプライベートからパブリックにバケットのアクセス・タイプを変更できます。
- アクセス・タイプを変更しても、既存の事前認証済リクエストには影響しません。既存の事前認証済リクエストは引き続き動作します。
バケットの可視性(プライベートまたはパブリック)を変更するには:
次の手順は、Oracle Cloud Infrastructure Consoleの場合です。
-
「バケット」リスト・ページで、操作するオブジェクト・ストレージ・バケットを選択します。リスト・ページまたはオブジェクト・ストレージ・バケットの検索に関するヘルプが必要な場合は、オブジェクト・ストレージ・バケットのリストを参照してください。
- バケットの詳細ページで、「表示」を見つけて「編集」を選択します。
-
「パブリック」または「プライベート」を選択します。
「パブリック」を選択してパブリック・アクセスを有効にする場合は、ユーザーにバケット・コンテンツのリスト表示を許可するかどうかを決定します。バケット・オブジェクト・リストの可視性を設定するには、「ユーザーにこのバケットのオブジェクトのリスト表示を許可」を選択します。
- 「Save Changes」を選択します。
参照情報: