mTLS
목차
mTLS 개요
Identity 기반 보안
mTLS 모드
STRICT 모드 (권장)
PERMISSIVE 모드 (마이그레이션용)
DISABLE 모드
인증서 관리
Istio 기본 CA 인증서
인증서 확인
사용자 정의 CA 인증서 사용
1단계: CA 인증서 및 키 생성
2단계: Kubernetes Secret 생성
3단계: Istio 재시작
4단계: 검증
AWS Certificate Manager (ACM) 통합
1단계: ACM Private CA 생성
2단계: Cert-Manager + AWS PCA Issuer 설치
3단계: AWSPCAIssuer 생성
4단계: Istio에서 사용
인증서 갱신 정책
인증서 순환 (Rotation)
PeerAuthentication 설정
전역 설정
네임스페이스별 설정
워크로드별 설정
포트별 설정
AWS 서비스와 mTLS 통합
AWS Application Load Balancer (ALB)와 mTLS
1단계: ALB에 mTLS 설정
2단계: AWS Load Balancer Controller 설정
3단계: Istio Gateway에서 클라이언트 인증서 검증
4단계: 클라이언트 인증서 정보 전달
Amazon CloudFront와 mTLS
1단계: CloudFront 배포 생성
2단계: CloudFront Function으로 인증서 검증
3단계: Istio에서 CloudFront 헤더 검증
End-to-End mTLS 아키텍처
외부 서비스와 mTLS
Legacy 시스템 통합
외부 API mTLS 클라이언트 인증
Egress Gateway를 통한 외부 mTLS
마이그레이션 전략
1단계: 현재 상태 확인
2단계: PERMISSIVE 모드로 전환
3단계: 모니터링
4단계: STRICT 모드로 전환
일반적인 문제와 해결
1. mTLS 연결 실패
2. 인증서 만료 문제
3. Clock Skew (시간 동기화 문제)
4. 순환 참조 (Circular Dependency)
5. Mixed Protocol (mTLS + 평문)
6. Headless Service mTLS
7. mTLS와 네트워크 정책 충돌
성능 및 모니터링
mTLS 성능 영향
지표
평문
mTLS
증가율
Prometheus 메트릭
Grafana 대시보드
인증서 만료 알림
로깅 및 디버깅
베스트 프랙티스
참고 자료
마지막 업데이트