検索

25.9. IPsec 暗号化の設定

download PDF

IPsec を有効にすると、OVN-Kubernetes クラスターネットワーク上のノード間のすべての Pod 間ネットワークトラフィックが IPsec トランスポートモード で暗号化されます。

IPsec はデフォルトで無効にされています。クラスターのインストール中またはインストール後に有効にできます。クラスターのインストールの詳細は、OpenShift Container Platform インストールの概要 を参照してください。クラスターのインストール後に IPsec を有効にする必要がある場合は、IPsec ESP IP ヘッダーのオーバーヘッドを考慮して、まずクラスター MTU のサイズを変更する必要があります。

次のドキュメントでは、クラスターのインストール後に IPSec を有効または無効にする方法について説明します。

25.9.1. 前提条件

  • クラスター MTU のサイズを 46 バイト減らして、IPsec ESP ヘッダーにオーバーヘッドを追加している。クラスターが使用する MTU のサイズ変更の詳細は クラスターネットワークの MTU 変更 を参照してください。

25.9.2. IPsec で暗号化したネットワークトラフィックフローのタイプ

IPsec を有効にすると、Pod 間の以下のネットワークトラフィックフローのみが暗号化されます。

  • クラスターネットワーク上の複数の異なるノードの Pod 間のトラフィック
  • ホストネットワークの Pod からクラスターネットワーク上の Pod へのトラフィック

以下のトラフィックフローは暗号化されません。

  • クラスターネットワーク上の同じノードの Pod 間のトラフィック
  • ホストネットワーク上の Pod 間のトラフィック
  • クラスターネットワークの Pod からホストネットワークの Pod へのトラフィック

暗号化されていないフローと暗号化されていないフローを以下の図に示します。

IPsec の暗号化および暗号化されていないトラフィックフロー

25.9.2.1. IPsec が有効になっている場合のネットワーク接続要件

OpenShift Container Platform クラスターのコンポーネントが通信できるように、マシン間のネットワーク接続を設定する必要があります。すべてのマシンではクラスターの他のすべてのマシンのホスト名を解決できる必要があります。

表25.11 すべてのマシンからすべてのマシンへの通信に使用されるポート
プロトコルポート説明

UDP

500

IPsec IKE パケット

4500

IPsec NAT-T パケット

ESP

該当なし

IPsec Encapsulating Security Payload (ESP)

25.9.3. 暗号化プロトコルおよび IPsec モード

使用する暗号化は AES-GCM-16-256 です。整合性チェック値 (ICV) は 16 バイトです。鍵の長さは 256 ビットです。

使用される IPsec モードは トランスポートモード です。これは、元のパケットの IP ヘッダーに Encapsulated Security Payload (ESP) ヘッダーを追加して、パケットデータを暗号化することで、エンドツーエンドの通信を暗号化するモードです。OpenShift Container Platform は現在、Pod 間通信に IPsec トンネルモード を使用およびサポートしていません。

25.9.4. セキュリティー証明書の生成およびローテーション

Cluster Network Operator (CNO) は、暗号化用に IPsec によって使用される自己署名の X.509 認証局 (CA) を生成します。各ノードの証明書署名要求 (CSR) は、CNO によって自動的に満たされます。

この CA は 10 年間有効です。個別のノード証明書は 5 年間有効で、4 年半が経過すると自動的にローテーションされます。

25.9.5. IPsec 暗号化の有効化

クラスター管理者は、クラスターのインストール後に IPsec 暗号化を有効にできます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてクラスターにログインする。
  • クラスター MTU のサイズを 46 バイト減らして、IPsec ESP ヘッダーにオーバーヘッドを設けている。

手順

  • IPsec 暗号化を有効にするには、次のコマンドを入力します。

    $ oc patch networks.operator.openshift.io cluster --type=merge \
    -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"ipsecConfig":{ }}}}}'

検証

  1. OVN-Kubernetes コントロールプレーン Pod の名前を見つけるには、次のコマンドを入力します。

    $ oc get pods -l app=ovnkube-master -n openshift-ovn-kubernetes

    出力例

    NAME                   READY   STATUS    RESTARTS   AGE
    ovnkube-master-fvtnh   6/6     Running   0          122m
    ovnkube-master-hsgmm   6/6     Running   0          122m
    ovnkube-master-qcmdc   6/6     Running   0          122m

  2. 次のコマンドを実行して、クラスターで IPsec が有効になっていることを確認します。

    $ oc -n openshift-ovn-kubernetes rsh ovnkube-master-<XXXXX> \
      ovn-nbctl --no-leader-only get nb_global . ipsec

    ここでは、以下のようになります。

    <XXXXX>
    前の手順の Pod の文字のランダムなシーケンスを指定します。

    出力例

    true

25.9.6. IPsec 暗号化の無効化

クラスター管理者は、クラスターのインストール後に IPsec を有効にした場合にのみ、IPsec 暗号化を無効にできます。

注記

クラスターのインストール時に IPsec を有効にした場合、この手順では IPsec を無効化できません。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてクラスターにログインする。

手順

  1. IPsec 暗号化を無効にするには、次のコマンドを入力します。

    $ oc patch networks.operator.openshift.io/cluster --type=json \
      -p='[{"op":"remove", "path":"/spec/defaultNetwork/ovnKubernetesConfig/ipsecConfig"}]'
  2. オプション: IP パケットの IPsec ESP ヘッダーからのオーバーヘッドがなくなるため、クラスター MTU のサイズを 46 バイト増やすことができます。
  3. クラスターで IPsec が無効になっていることを確認します。

    $ oc -n openshift-ovn-kubernetes -c nbdb rsh ovnkube-master-<XXXXX> \
      ovn-nbctl --no-leader-only get nb_global . ipsec

    ここでは、以下のようになります。

    <XXXXX>
    前の手順の Pod の文字のランダムなシーケンスを指定します。

    出力例

    false

25.9.7. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.