etcd Peer Auto TLS が有効

etcd ピアの自動生成証明書だけに依存せず、ピアの身元の検証を構成してください。

説明

--peer-auto-tls=true は、etcd ピア接続用の自己署名証明書を自動生成します。通信を暗号化できますが、この方式自体は信頼するピアを認証しません。

ピア通信はデータ複製とクラスター運用に使われます。認証が必要な環境では、管理された CA とピア証明書で相手の身元を検証してください。

想定される影響

  • ピアを検証しないと、接続可能なネットワークからなりすましを試みられるおそれがあります。
  • 代替の TLS 設定を準備せず自動 TLS を切ると、暗号化やピア接続が中断する可能性があります。

対処方法

  • 管理されたピア証明書・鍵、--peer-trusted-ca-file、HTTPS のピアアドレスを先に準備してください。
  • --peer-client-cert-auth=true で信頼する証明書を要求し、準備した設定に切り替える際に自動 TLS を無効にしてください。
  • メンバー間通信と証明書の拒否を試験し、証明書の更新手順を用意してください。

例

etcd 3.2.18 の引数を示す過去の部分例です。実環境では、サポート対象のバージョンと完全なピア TLS 設定が必要です。

変更前

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-etcd-deployment
spec:
  template:
    spec:
      containers:
        - name: database
          image: gcr.io/google_containers/etcd:v3.2.18
          command: ["etcd"]
          args: ["--peer-auto-tls=true"]

ピア接続に自動生成された自己署名証明書を使用します。この設定だけではピアの身元を認証できません。

変更後

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-etcd-deployment
spec:
  template:
    spec:
      containers:
        - name: database
          image: gcr.io/google_containers/etcd:v3.2.18
          command: ["etcd"]
          args: []

自動 TLS の引数だけを削除しています。保護された接続を維持するには、証明書・鍵・CA の信頼と HTTPS のピアアドレスを別途設定してください。

参考資料