インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Kubernetes)etcdをkubebenchに従って最強にする

kube-benchのチェック観点

$ kube-bench run --targets=etcd

と行うとチェックされる観点は以下。

  • --cert-file and --key-file argumentsが設定されているか
  • --client-cert-authがtrueかどうか
  • --auto-tls argumentがtrueかどうか
  • --peer-cert-fileと--peer-key-fileが適切かどうか
  • --peer-client-cert-authがtrueかどうか
  • --peer-auto-tlsがfalseかどうか
  • unique Certificate Authorityが使われているかどうか

|

etcdのセキュリティ

これで動かすと全てPASSになりました。

    - etcd
    - --advertise-client-urls=https://172.30.1.2:2379
    - --cert-file=/etc/kubernetes/pki/etcd/server.crt
    - --client-cert-auth=true
    - --data-dir=/var/lib/etcd
    - --initial-advertise-peer-urls=https://172.30.1.2:2380
    - --initial-cluster=controlplane=https://172.30.1.2:2380
    - --key-file=/etc/kubernetes/pki/etcd/server.key
    - --listen-client-urls=https://127.0.0.1:2379,https://172.30.1.2:2379
    - --listen-metrics-urls=http://127.0.0.1:2381
    - --listen-peer-urls=https://172.30.1.2:2380
    - --name=controlplane
    - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
    - --peer-client-cert-auth=true
    - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
    - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
    - --snapshot-count=10000
    - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt