インターネット・ゲートウェイのセキュリティ・ルールの確立

IGWの作成後、ゲートウェイへの不正アクセスを防ぐために、正しいセキュリティ設定を確立する必要があります。たとえば、外部のすべてのHTTPSアクセスは、セキュアなWebページ・アクセスのデフォルト・ポートであるポート443にのみ許可する必要があります。この明示的なルールがないと、標準ポートに到達できません。

この項では、セキュリティ・リストを使用してこの目標を達成しますが、ネットワーク・セキュリティ・グループ(NSG)のセキュリティ・ルールを使用して同様の結果を達成できます。

セキュリティ・リストおよびNSGの詳細は、セキュリティ・リストを使用したトラフィックの制御およびネットワーク・セキュリティ・グループを使用したトラフィックの制御を参照してください。

重要

デフォルトのセキュリティ・リストを使用するようにパブリック・サブネットを構成した場合、デフォルトには、すべての宛先へのイングレスSSHやエグレス・アクセスなど、基本的なアクセスを有効にするための複数のルールが含まれていることに注意してください。この基本アクセス・セットのルールに精通しておくことをお薦めします。デフォルト・セキュリティ・リストを使用しない場合は、基本アクセスが、カスタマイズされたセキュリティ・ルールまたはそれらの変更されたルールを含むNSGで提供されていることを確認してください。

この例では、イングレス・ルールをデフォルトのセキュリティ・リストに追加して、HTTP暗号化トラフィックの標準ポートであるTCPポート443でのHTTPS接続のイングレス接続を許可します。

このイングレス・ルールがない場合、インバウンドHTTPS接続は許可されません。新しいルールstatefulを作成します。これにより、レスポンスの明示的なルールを作成せずにHTTPSリクエストへの応答が可能になります。

デフォルトを変更するか、既存のセキュリティ・リストにルールを追加するかわりに、新しいセキュリティ・リストを作成する方法の詳細は、セキュリティ・リストの作成を参照してください。

    1. 「Compute Cloud@Customerコンソール」ナビゲーション・メニューで、「ネットワーキング」「Virtual Cloudネットワーク」の順に選択します。

    2. 必要な場合は、コンパートメントを変更して必要なリソースを探します。
    3. セキュリティ・リストにルールを追加するVCNの名前を選択します。VCNの詳細ページが表示されます。

    4. 「リソース」で、「セキュリティ・リスト」を選択します。

    5. 次のように新しいルールを更新または追加します。

      • ルールを追加するセキュリティ・リストに対して、「アクション」メニュー(3つのドット・アイコンのイメージです。)を選択し、「編集」を選択します。次のように変更します。

      • 新しいルールを追加するには、「ルールの許可」セクションで、+Newルールを選択します。セキュリティ・リストの名前およびタグを更新することもできます。次のように変更します。

    6. 「変更の保存」を選択します。

    TCPポート443イングレス・ルールを使用するHTTPSの例では、次の情報を入力します。

    • ステートレス:受信HTTPSリクエストへのレスポンスを許可するには、新しいルールがステートフルである必要があります。ステートレス・ボックスの選択が解除されていることを確認します。ステートレス・ルールおよびステートフル・ルールの詳細は、セキュリティ・リストを使用したトラフィックの制御を参照してください。

    • CIDR: 例0.0.0.0/0のCIDRブロック。このブロックは、ルールをすべてのIPソース・アドレスに適用します。

    • IPプロトコル:ドロップダウン・リストからTCPプロトコルを選択します。

    • ポート範囲:

      • ソース・ポート範囲: 空白のままにします。

      • 「Destination Port Range (宛先ポート範囲)」: 443と入力します。

    • 説明:ルールのオプションの説明(TCPポート443でのHTTPSのステートフル・トラフィックを許可するなど)。

    新しいルールはいつでも編集できます。

  • 指定されたセキュリティ・リストの表示名またはルールを更新するには、oci network security-list updateコマンドと必要なパラメータを使用します。機密情報を入力しないでください。

    ノート

    指定するrouteRulesオブジェクトは、既存のルール・セット全体を置き換えます。

    oci network security-list update --security-list-id <security_list_OCID> [OPTIONS]

    CLIコマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    プロシージャ

    1. 更新するVCNのデフォルト・セキュリティ・リストのOCIDを取得します(oci network vcn list --compartment-id compartment_OCID)

    2. ルールを更新するには、「セキュリティ・リストの作成」の説明に従って、--ingress-security-rulesおよび--egress-security-rulesオプションの引数を作成します。これらのルール・オプションに指定する引数は、既存のルールを上書きします。既存のルールを保持する場合は、次のコマンドを使用して現在のルールを表示し、保持するルールを新しいオプション引数にコピーします。

      oci network security-list get --security-list-id ocid1.securitylist.unique_ID

      例(ファイルIGW_ingress_rule.jsonに次の内容を記述します):

      [
        {
          "description": null,
          "icmp-options": null,
          "is-stateless": false,
          "protocol": "6",
          "source": "0.0.0.0/0",
          "source-type": "CIDR_BLOCK",
          "tcp-options": {
            "destination-port-range": {
              "max": 22,
              "min": 22
            },
            "source-port-range": null
          },
          "udp-options": null
        },
        {
          "description": null,
          "icmp-options": null,
          "is-stateless": false,
          "protocol": "6",
          "source": "0.0.0.0/0",
          "source-type": "CIDR_BLOCK",
          "tcp-options": {
            "destination-port-range": {
              "max": 443,
              "min": 443
            },
            "source-port-range": null
          },
          "udp-options": null
        }
      ]
    3. セキュリティ・リスト更新コマンドを実行して、HTTPSおよびTCPポート443トラフィックのルールを追加します。

      例:

      oci network security-list update  --security-list-id ocid1.securitylist.unique_ID --ingress-security-rules file:///home/flast/IGW_ingress_rule.json
      
      WARNING: Updates to defined-tags and egress-security-rules and freeform-tags and 
       ingress-security-rules will replace any existing values. 
       Are you sure you want to continue? [y/N]: y
  • UpdateSecurityList操作を使用して、指定したセキュリティ・リストの表示名またはルールを更新します。

    APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。