설명
--peer-client-cert-auth=false만으로 etcd 피어의 인증서 인증이 꺼졌다고 판단할 수는 없습니다. etcd 3.4에서는 --peer-trusted-ca-file을 지정해도 HTTPS 피어 연결의 인증서 인증이 활성화됩니다. 실제 피어 CA와 HTTPS 구성을 함께 확인해야 합니다.
etcd 피어 통신은 데이터 복제와 클러스터 합의에 직접 영향을 주므로 상호 인증이 중요합니다. 클라이언트 API용 인증과 피어 인증은 각각 구성해야 합니다.
잠재적 영향
피어 네트워크에 접근한 비인가 주체를 인증서로 구분하지 못할 수 있습니다. 다른 통제도 부족하면 복제 데이터와 클러스터 운영이 위험해질 수 있습니다.
해결 방법
--peer-client-cert-auth=true와--peer-trusted-ca-file을 설정하세요.- 각 피어의 인증서·키와 HTTPS 피어 주소를 구성하고 파일 권한 및 인증서 갱신을 관리하세요.
- 피어 네트워크 접근을 제한하고 변경 후 정상 피어 연결과 신뢰하지 않는 인증서의 거부를 확인하세요.
예시
기존 etcd 버전의 인자 비교입니다. 실제 배포에는 피어 인증서·키, 신뢰할 CA와 HTTPS 주소 등 나머지 설정이 필요합니다.
변경 전
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-client-cert-auth=false"]
인자는 false이지만 피어 CA와 HTTPS 설정에 따라 인증서 인증이 활성화될 수 있습니다. 실제 연결에서 신뢰할 피어 인증서를 요구하는지 확인해야 합니다.
변경 후
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-client-cert-auth=true"]
피어 인증서 검증을 요구합니다. 피어 CA와 인증서·키를 준비해야 하며, 이 설정을 켜는 것만으로 전체 피어 TLS 구성이 완성되지는 않습니다.