基本的な構成の問題への対処
このトピックでは、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コンソール用です。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- 関心のあるインスタンスをクリックします。
- 「イメージ」リンクをクリックすると、ソース・イメージが表示されます。
- 「タグ」タブをクリックすると、このイメージに適用されているタグが表示されます。
カスタム・イメージに承認済タグがなく、インスタンスを終了する必要がある場合は、インスタンスの終了を参照してください
参照情報:
IAM
問題: 管理者グループのメンバーであるユーザーが、APIキーを使用してリソースにアクセスしました。
基本:
- APIキーは、Oracle Cloud Infrastructureへのプログラムによるアクセス権を付与するために使用される資格証明です。
-
セキュリティおよびガバナンスの理由から、ユーザーが操作する必要があるリソースのみにアクセスできるようにしてください。
- 管理者グループのメンバーであり、APIを介してリソースにアクセスする必要もあるユーザーのために、IAMに別のユーザーを作成して、APIキーをアタッチします。ユーザーがプログラムを使用して操作する必要があるリソースについてのみ、APIキーの権限をユーザーに付与します。
制限された権限を持つユーザー、グループおよびポリシーを作成するには:
次の一連の手順では、制限された権限を持つサンプル・ユーザーを設定する方法を示します。この例では、ユーザーは特定のコンパートメントでインスタンスを起動できる必要があります。
次の手順は、Oracle Cloud Infrastructureコンソール用です。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。
- 「ユーザーの作成」をクリックします。
-
「ユーザーの作成」ダイアログで:
- 名前: 新規ユーザーの一意の名前または電子メール・アドレスを入力します。この値は、コンソールへのユーザーのログインに使用されるため、テナンシ内の他のすべてのユーザーに対して一意であることが必要です。
- 説明: 説明(必須)を入力します。
- 「作成」をクリックします。
次に、ポリシーの対象となるグループ(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キーの貼付け」を選択します。
-
キーの値をウィンドウに貼り付け、「追加」をクリックします。
キーが追加され、そのフィンガープリントが表示されます(フィンガープリントの例: 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操作にアクセスできるかが説明されています。
- 監査サービスの詳細
- Container Engine for Kubernetesの詳細
- コア・サービスの詳細 (これにはネットワーキング、コンピュートおよびブロック・ボリュームが含まれます)
- データベース・サービスの詳細
- DNSサービスの詳細
- 電子メール配信サービスの詳細
- ファイル・ストレージ・サービスの詳細
- アイデンティティ・ドメインのないIAMの詳細
- ロード・バランシングの詳細
- オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細
- コンテナ・レジストリの詳細
- 検索サービスの詳細
ポリシー・ステートメントで、条件と権限またはAPI操作を組み合せて、特定の動詞で許可されるアクセス範囲を絞り込むことができます。
たとえば、グループXYZが、グループのリスト、取得、作成または更新(説明の変更)を行うが、グループの削除は行わないようにするとします。グループのリスト、取得、作成および更新には、動詞とresource-typeとしてmanage groups
を指定したポリシーが必要です。動詞とresource-typeの組合せの詳細の表によれば、対象となる権限は次のとおりです:
- 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コンソール用です。
-
まだ作成していない場合は、資格証明を格納する
.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キーの追加」をクリックします。
- 「Paste Public Key」を選択します。
- ダイアログ・ボックスにPEM公開キーの内容を貼り付けて、「追加」をクリックします。
Oracle Cloud Infrastructureに対するサンプル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コンソール用です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順にクリックします。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
-
少なくとも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コンソール用です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順にクリックします。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
- ソース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コンソール用です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順にクリックします。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「セキュリティ・リスト」をクリックします。
- 関心のあるセキュリティ・リストをクリックします。
- 「イングレス・ルール」をクリックします。
- 次の変更を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コンソール用です。
- ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順にクリックします。
- 関心のあるクラウド・ネットワークを含むコンパートメントが表示されていることを確認します。
- 関心のあるクラウド・ネットワークをクリックします。
- 「インターネット・ゲートウェイ」をクリックします。
- インターネット・ゲートウェイのをクリックし、「終了」をクリックします。
- プロンプトが表示されたら確認します。
この変更により、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コンソール用です。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- 詳細を表示するインスタンスをクリックします。
-
「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびセカンダリVNICが表示されます。
-
関心のあるVNICをクリックします。
- IPv4 Addressesをクリックします。
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コンソール用です。
リスナーがトラフィックを受け入れるようにするには、VCNのセキュリティ・リスト・ルールを更新する必要があります:
-
ナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順にクリックします。
-
「リスト範囲」で、作業する権限があるコンパートメントを選択します。現在のコンパートメントに含まれるVCNのリストが表示されます。
-
ロード・バランサを含むVCNの名前をクリックし、ネットワーク・セキュリティ・グループまたはセキュリティ・リストをクリックします。クラウド・ネットワークのセキュリティ・グループまたはセキュリティ・リストのリストが表示されます。
-
ロード・バランサに適用されるNSGまたはセキュリティ・リストの名前をクリックします。
-
適切なリソースへのアクセス権を付与するには、ルールを追加するか既存のルールを編集します。ネットワーク・セキュリティ・グループ詳細ページにNSGのセキュリティ・ルールが表示されます。ここで、ルールを追加、編集または削除できます。セキュリティ・リストの詳細ページから、イングレス・ルールまたはエグレス・ルールを追加または編集できる個別の表にアクセスできます。ルール構成の詳細は、セキュリティ・ルールを参照してください。
リスナーを作成するには:
通常は、ロード・バランサ作成ワークフローの一部としてリスナーを作成します。既存のロード・バランサのためにリスナーを作成するには:
-
ナビゲーション・メニューを開き、「ネットワーキング」、「ロード・バランサ」の順に選択します。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。
-
リストからコンパートメントを選択します。そのコンパートメント内のすべてのロード・バランサが表形式でリストされます。
-
リストから状態を選択して、表示されるロード・バランサをその状態のロード・バランサに制限します。
-
リスナーを作成するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
-
「リソース」の下の「リスナー」をクリックします。「リスナー」リストが表示されます。すべてのリスナーが表形式でリストされます。
-
「リスナーの作成」をクリックします。「リスナーの作成」ダイアログ・ボックスが表示されます。
-
次を入力します:
-
名前: リスナーのフレンドリ名を入力します。名前は一意である必要があり、変更できません。
-
ホスト名: (オプション)このリスナーに対して最大16の仮想ホスト名を選択します。
NOTE
仮想ホスト名をリスナーに適用するには、その名前がロード・バランサの構成に含まれている必要があります。ロード・バランサにホスト名が関連付けられてない場合は、ホスト名ページで作成できます。詳細は、Load Balancerの仮想ホスト名を参照してください。
-
プロトコル: 使用するプロトコルとして、「HTTP」、「HTTP/2」、「TCP」または「HTTPS」を指定します。
-
ポート: 受信トラフィックをリスニングするポートを指定します。
-
SSLの使用: (HTTP/2とHTTPSでは必須、HTTPとTCPではオプション)有効にするには選択します。SSL処理を有効にするには、SSL証明書バンドルをリスナーに関連付けるために次の設定が必要です。ロード・バランサでのSSL証明書の使用の詳細は、ロード・バランサのSSL証明書を参照してください。
ロード・バランサは、変更を自動的に検出し、SSL構成で使用する証明書サービス・エンティティ(証明書、認証局およびCABundles)の現在のバージョンを使用します。証明書の自動ローテーションの詳細は、「証明書」を参照してください。
-
証明書リソース: リストから証明書リソース・タイプを選択します:
証明書をインポートする方法は、選択した証明書リソースタイプによって異なります。
証明書サービス管理証明書: 「証明書」リストから、指定したコンパートメント内の証明書を選択します。証明書を選択する別のコンパートメントを選択するには、「コンパートメントの変更」をクリックします。
-
この選択では、拡張オプションを使用できます。「拡張オプションの表示」をクリックし、「拡張SSL」タブを選択します。このオプションについては、このトピックの後半で説明します。
-
ロード・バランサ管理証明書: 次のいずれかのオプションを選択して証明書をインポートします:
SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグします。または、「SSL証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接ペーストすることもできます。バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
秘密キーの指定: (SSL終了の場合は必須、それ以外の場合はオプション)証明書の秘密キーを指定するには、ボックスを選択します。
秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。また、「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
秘密キーのパスフレーズの入力: (オプション)秘密キーのパスフレーズを指定します。
-
-
ピア証明書の検証: (オプション)ピア証明書の検証を有効にするには、このオプションを選択します。詳細は、ロード・バランサのSSL証明書を参照してください。
ロード・バランサとそのバックエンド・サーバー間の通信では、相互TLS (mTLS)はサポートされていません。ロード・バランサとユーザー間の通信にはmTLSを使用できます。
-
深さの確認: (オプション)証明書チェーン検証の最大の深さを指定します。詳細は、ロード・バランサのSSL証明書を参照してください。
-
-
バックエンド・セット: リスナーがトラフィックをルーティングするデフォルトのバックエンド・セットを指定します。
-
アイドル・タイムアウト(秒): (オプション)最大アイドル時間を秒単位で指定します。この設定が適用されるのは、HTTP request-responseフェーズでの、連続する2回の正常な受信ネットワーク入出力操作の間、または連続する2回の正常な送信ネットワーク入出力操作の間です。最大値は7200秒です。詳細は、ロード・バランサのタイムアウト接続設定を参照してください。
-
ルーティング・ポリシーまたはパス・ルート・セットのいずれかを選択します。
-
ルーティング・ポリシー: (オプション)このリスナーのトラフィックに適用されるルーティング・ポリシーの名前を指定します。
-
パス・ルート・セット: (オプション)このリスナーのトラフィックに適用されるパスベースのルーティング・ルール・セットの名前を指定します。
パス・ルート・セットをリスナーに適用するには、パス・ルート・セットがロード・バランサの構成に含まれている必要があります。
既存のリスナーからパス・ルート・セットを削除するには、「パス・ルート・セット」オプションとして「なし」を選択します。このパス・ルート・セットは、このロード・バランサの他のリスナーでは使用可能なままです。
-
-
ルール・セット: (オプション)このリスナーのトラフィックに適用するルール・セットを選択します。ルール・セットをリスナーに適用するには、そのセットがロード・バランサの構成に含まれている必要があります。リストからルール・セットを削除するには、対応する赤いボックスをクリックします。このルール・セットは、このロード・バランサの他のリスナーでは使用可能なままです。
-
拡張オプションの表示: クリックすると、次のオプションが表示されます:
-
拡張SSL: (「証明書サービス管理対象証明書」証明書リソースが選択されている場合にのみ表示されます。)リスナーの証明書リソースの選択時に「証明書サービス管理対象証明書」を選択した場合は、次のいずれかのオプションを選択します。
CAバンドル: リストから、指定したコンパートメント内の認証局バンドルを選択します。「コンパートメントの変更」をクリックして、認証局バンドルを選択する別のコンパートメントを選択します。
認証局: リストから、指定したコンパートメント内の認証局を選択します。「コンパートメントの変更」をクリックして、認証局バンドルを選択する別のコンパートメントを選択します。
-
TLSバージョン: Transport Layer Security (TLS)バージョン(1.0、1.1、1.2 (推奨)および1.3)を指定します。
バージョンの任意の組合せを選択できます。必要なものをリストから選択します。TLSバージョンを指定しない場合、デフォルトのTLSバージョンは1.2のみです。
暗号化方式群の選択: リストから一連の暗号化方式群を選択します(デフォルト)。リストに表示されるすべての選択肢には、選択したTLSバージョンごとに少なくとも1つの暗号が関連付けられています。
セキュリティ・ポリシーに対して有効になっている暗号に基づく署名アルゴリズムを使用して、SSL証明書を作成します。
-
暗号スイート詳細の表示: クリックすると、選択した暗号スイートに含まれる個々の暗号が表示されます。
-
サーバー順序プリファレンス: 「有効化」を選択し、クライアントよりもサーバー暗号を優先します。
-
-
-
「リスナーの作成」をクリックします。
リスナーを作成する場合、そのリスナーへのトラフィックを許可するためにVCNのセキュリティ・リストのルールも更新する必要があります。
参照情報:
問題: ロード・バランサにバックエンド・セットがありません。この場合、ロード・バランサに着信データの分散先がなく、バックエンド・サーバーのヘルスをモニターする手段もありません。
基本:
- バックエンド・セットは、ロード・バランシング・ポリシー、ヘルス・チェック・ポリシーおよびバックエンド・サーバーのリストによって定義される論理エンティティです。
- バックエンド・セットによって、次のようなロード・バランサのトラフィック分散ポリシーが決まります:
- IPハッシュ
- 最少接続
- 重み付けラウンド・ロビン
- バックエンド・セットの作成時に、バックエンド・サーバーのヘルスを確認するテスト・パラメータを指定します。
- 既存のロード・バランサにバックエンド・セットがない場合は、バックエンド・セットの作成後にロード・バランサからトラフィックを受信するバックエンド・サーバーを指定できます。
- Oracle CASB Cloud Serviceで例外を構成すると、除外したロード・バランサのアラートを削減できます。
バックエンド・セットを作成するには:
次の手順は、Oracle Cloud Infrastructureコンソール用です。
通常は、ロード・バランサ作成ワークフローの一部としてバックエンド・セットを作成します。既存のロード・バランサのためにバックエンド・セットを作成するには:
-
ナビゲーション・メニューを開き、「ネットワーキング」、「ロード・バランサ」の順に選択します。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。
-
リストからコンパートメントを選択します。そのコンパートメント内のすべてのロード・バランサが表形式でリストされます。
-
リストから状態を選択して、表示されるロード・バランサをその状態のロード・バランサに制限します。
-
バックエンドを追加するロード・バランサをクリックします。ロード・バランサの「詳細」ページが表示されます。
-
「リソース」の下の「バックエンド・セット」をクリックします。「バックエンド・セット」リストが表示されます。すべてのバックエンド・セットが表形式でリストされます。
-
「バックエンド・セットの作成」をクリックします。「バックエンド・セットの作成」ダイアログ・ボックスが表示されます。
-
次を入力します:
-
名前: バックエンド・セットのフレンドリ名を入力します。これは、ロード・バランサ内で一意である必要があります。変更することはできません。有効なバックエンド・セット名には、英数字、ダッシュおよびアンダースコアのみを使用できます。バックエンド・セット名にスペースを含めることはできません。
-
トラフィック・ディストリビューション・ポリシー: バックエンド・セットのロード・バランサ・ポリシーを選択します。使用可能なオプションは:
-
IPハッシュ
-
最少接続
-
加重ラウンドロビン
バックアップとしてマークされたバックエンド・サーバーは、IPハッシュ・ポリシーを使用するバックエンド・セットに追加できません。これらのポリシーの詳細は、ロード・バランサ・ポリシーを参照してください。
-
-
SSLの使用: SSL証明書リソースをバックエンド・セットに関連付ける場合に選択します。
ロード・バランサは、変更を自動的に検出し、SSL構成で使用する証明書サービス・エンティティ(証明書、認証局およびCABundles)の現在のバージョンを使用します。証明書の自動ローテーションの詳細は、「証明書」を参照してください。
ロード・バランサにアタッチされた証明書リソースが存在しない場合、このオプションは無効です。
証明書リソース: リストから証明書リソース・タイプを選択します:
証明書をインポートする方法は、選択した証明書リソース・タイプによって異なります。ロード・バランサによるSSL証明書の使用方法の詳細は、ロード・バランサのSSL証明書を参照してください。
Webアプリケーション・ファイアウォール・ポリシーでのSSLの使用に関する一般的な情報は、証明書を参照してください。
-
証明書サービス管理対象証明書
「CAバンドル」または「認証局」オプションを選択し、関連するリストから選択します。CAバンドルまたは認証局を選択する別のコンパートメントを選択するには、「コンパートメントの変更」をクリックします。
この選択では拡張オプションを使用できます。「拡張オプションの表示」をクリックし、「拡張SSL」タブを選択します。このオプションについては、このトピックの後半で説明します。
-
ロード・バランサ管理証明書: 次のいずれかのオプションを選択して証明書をインポートします:
SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグします。または、「SSL証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接ペーストすることもできます。
バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
秘密キーの指定: (SSL終了に必要です。)証明書の非公開キーを指定する場合に選択します。
秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。
秘密キーのパスフレーズを入力します: 秘密キーのパスフレーズを指定します。または、「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
ピア証明書の検証: ピア証明書の検証を有効にする場合は、このオプションを選択します。詳細は、ロード・バランサの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を省略します。
-
-
-
ヘルス・チェック: バックエンド・サーバーのヘルスを確認するためのテスト・パラメータを指定します。
-
プロトコル: 使用するプロトコル(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バンドル: リストから、指定したコンパートメント内の認証局バンドルを選択します。「コンパートメントの変更」をクリックして、認証局バンドルを選択する別のコンパートメントを選択します。
認証局: リストから、指定したコンパートメント内の認証局を選択します。「コンパートメントの変更」をクリックして、認証局バンドルを選択する別のコンパートメントを選択します。
-
TLSバージョン:オプション。Transport Layer Security (TLS)バージョンの指定: 1.0、1.1、1.2 (推奨)および1.3
バージョンの任意の組合せを選択できます。必要なものをリストから選択します。TLSバージョンを指定しない場合、デフォルトのTLSバージョンは1.2のみです。
暗号スイートの選択: リストから暗号スイートのセットを選択します。リストに表示されるすべての選択肢には、選択したTLSバージョンごとに少なくとも1つの暗号が関連付けられています。
-
-
-
「作成」をクリックします。
バックエンド・セットがプロビジョニングされたら、セットのバックエンド・サーバーを指定する必要があります。詳細は、ロード・バランサのバックエンド・サーバーを参照してください。
参照情報:
問題: ロード・バランサのSSL証明書がまもなく期限切れになります。証明書の期限が切れると、データ・トラフィックが中断されて、セキュリティが侵害される可能性があります。
基本:
- 継続的なセキュリティとユーザビリティを実現するには、SSL証明書をタイミングよくローテーションする必要があります。
- Oracle CASB Cloud Serviceで例外を構成すると、除外したロード・バランサのアラートを削減できます。
ロード・バランサの証明書バンドルをローテーションするには:
次の手順は、Oracle Cloud Infrastructureコンソール用です。
-
新しい証明書バンドルで動作するように、クライアントまたはバックエンド・サーバーを更新します。
NOTE
クライアントまたはバックエンド・サーバーを更新するステップは、ご使用のシステムに固有です。
-
ロード・バランサへの新規SSL証明書バンドルのアップロード:
-
ナビゲーション・メニューを開き、「ネットワーキング」をクリックして、「ロード・バランサ」をクリックします。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。「ロード・バランサ」ページが表示されます。
-
変更するロード・バランサを含むコンパートメントの名前をクリックし、ロード・バランサの名前をクリックします。
-
構成するロード・バランサをクリックします。ロード・バランサの「詳細」ページが表示されます。
-
「リソース」の下の「証明書」をクリックし、「証明書の追加」をクリックします。「証明書の追加」ダイアログ・ボックスが表示されます。
-
次を入力します:
-
証明書名: 証明書バンドルのフレンドリ名を入力します。ロード・バランサ内で一意である必要があります。コンソールで変更することはできません。(APIを使用して変更できます。)
-
SSL証明書ファイルの選択: PEM形式の証明書ファイルを「SSL証明書」フィールドにドラッグ・アンド・ドロップします。
また、「SSL証明書のペースト」オプションを選択して、証明書をこのフィールドに直接ペーストすることもできます。
重要
バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
-
CA証明書の指定: (バックエンドSSL終了構成で推奨。)CA証明書を提供する場合に選択します。
-
CA証明書ファイルの選択: PEM形式のCA証明書ファイルを「CA証明書」フィールドにドラッグします。
「CA証明書の貼付け」オプションを選択して、証明書をこのフィールドに直接貼り付けることもできます。
-
-
秘密キーの指定: (SSL終了に必要です。)証明書の非公開キーを指定する場合に選択します。
-
秘密キー・ファイルの選択: PEM形式の秘密キーを「秘密キー」フィールドにドラッグします。
また、「秘密キーの貼付け」オプションを選択して、秘密キーをこのフィールドに直接貼り付けることもできます。
-
秘密キーのパスフレーズの入力: (オプション)秘密キーのパスフレーズを指定します。
-
-
-
「証明書の追加」を選択します。次に、適用可能な各リスナーまたはバックエンド・セットを必要に応じて編集し、新しい証明書バンドルを使用します:
-
-
リスナーを編集します。
- ナビゲーション・メニューを開き、「ネットワーキング」、「ロード・バランサ」の順に選択します。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。
-
変更するロード・バランサが含まれるコンパートメントを選択し、ロード・バランサの名前をクリックします。
-
「リソース」の下の「リスナー」をクリックします。「リスナー」リストが表示されます。すべてのリスナーが表形式でリストされます。
-
編集するリスナーの横にあるをクリックし、「リスナーの編集」をクリックします。
-
「証明書名」リストで、新しい証明書バンドルを選択します。
-
「送信」をクリックします。
-
バックエンド・セットを編集します。
重要
バックエンド・セットを更新すると、トラフィックが一時的に中断され、アクティブ接続が切断されることがあります。
-
ナビゲーション・メニューを開き、「ネットワーキング」、「ロード・バランサ」の順に選択します。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。
-
リストからコンパートメントを選択します。そのコンパートメント内のすべてのロード・バランサが表形式でリストされます。
-
リストから状態を選択すると、その状態のロード・バランサのみが表示されます。
-
バックエンド・セットを編集するロード・バランサを選択します。ロード・バランサの「詳細」ページが表示されます。
-
「リソース」の下の「バックエンド・セット」をクリックします。「バックエンド・セット」リストが表示されます。すべてのバックエンド・セットが表形式でリストされます。
-
編集するバックエンド・セットの名前をクリックします。バックエンド・セットの「詳細」ページが表示されます。
-
「バックエンド・セットの編集」をクリックします。「バックエンド・セットの編集」ダイアログ・ボックスが表示されます。
-
「SSLの使用」を選択します。
-
「証明書名」リストで、新しい証明書バンドルを選択します。
-
「変更の保存」をクリックします。
-
-
(オプション)期限切れになるSSL証明書バンドルの削除
NOTE
リスナーまたはバックエンド・セットに関連付けられているSSL証明書バンドルは削除できません。削除する前に、他のリスナーまたはバックエンド・セットからバンドルを削除してください。
-
ナビゲーション・メニューを開き、「ネットワーキング」、「ロード・バランサ」の順に選択します。「ロード・バランサ」をクリックします。「ロード・バランサ」ページが表示されます。
-
変更するロード・バランサを含むコンパートメントの名前をクリックし、ロード・バランサの名前をクリックします。
-
構成するロード・バランサをクリックします。
-
「リソース」メニューで、「証明書」をクリックします。
-
削除する証明書について、「アクション」メニュー()をクリックし、「削除」をクリックします。
-
プロンプトが表示されたら確認します。
-
参照情報:
オブジェクト・ストレージ
問題: テナンシでパブリック・バケットが検出されました。各パブリック・バケットの作成が意図的に行われ、許可されていることを確認します。バケットのパブリック・アクセスが許可されない場合は、バケットの可視性を変更する手順に従って、バケットを非公開にします。
基本:
- バケットのパブリック・アクセスのためのビジネス要件を慎重に評価します。バケットへの匿名アクセスを有効にすると、ユーザーがオブジェクト・メタデータを取得したり、バケット・オブジェクトをダウンロードしたり、オプションでバケットの内容をリスト表示したりできます。
- アクセス・タイプは双方向に変更できます。パブリックからプライベートまたはプライベートからパブリックにバケットのアクセス・タイプを変更できます。
- アクセス・タイプを変更しても、既存の事前認証済リクエストには影響しません。既存の事前認証済リクエストは引き続き動作します。
バケットの可視性(プライベートまたはパブリック)を変更するには:
次の手順は、Oracle Cloud Infrastructureコンソール用です。
-
ナビゲーション・メニューを開き、「ストレージ」をクリックします。「オブジェクト・ストレージおよびアーカイブ・ストレージ」で、「バケット」をクリックします。
- 「リスト範囲」の下のリストからコンパートメントを選択します。そのコンパートメント内のすべてのバケットが表形式でリストされます。
-
詳細を取得するバケットをクリックします。バケットの「詳細」ページが表示されます。
- 「可視性」を見つけて「編集」をクリックします。「表示の編集」ダイアログ・ボックスが表示されます。
-
「パブリック」または「プライベート」を選択します。
「パブリック」を選択してパブリック・アクセスを有効にする場合は、ユーザーにバケット・コンテンツのリスト表示を許可するかどうかを決定します。バケット・オブジェクト・リストの可視性を設定するには、「ユーザーにこのバケットのオブジェクトのリスト表示を許可」をクリックします。
- 「変更の保存」をクリックします。
参照情報: