반응형



6
TLS 종료(TLS Termination, TLS termination) 위치는 한 줄로 말하면:
HTTPS 암호화를 어디까지 유지하고,
어느 장비에서 복호화할 것인가
를 결정하는 구조다.
먼저 HTTPS 흐름 이해
사용자 브라우저는:
HTTPS(TLS 암호화)
로 요청 보낸다.
그런데 서버 내부는?
실제로는:
- Load Balancer
- API Gateway
- Nginx
- Backend
여러 계층 존재.
문제
"어디에서 HTTPS를 해제할 것인가?"
이걸 TLS Termination이라고 함.
가장 기본 구조
Client
↓ HTTPS
Load Balancer
↓ HTTP
Backend
여기서
Load Balancer가:
TLS 복호화 수행
한다.
즉:
TLS 종료 위치 = LB
왜 이렇게 많이 쓰냐?
엄청 현실적 이유 때문.
TLS는 CPU 사용량 큼
특히:
- Handshake
- RSA/ECDHE
- 인증서 처리
비용 존재.
그래서 중앙 장비에서 처리
예:
- AWS ALB
- Nginx
- HAProxy
장점
1. Backend 단순화
Backend는 HTTP만 처리.
2. 인증서 중앙관리
모든 인증서 한 곳 관리
가능.
3. 성능 최적화
TLS 가속 가능.
그런데 문제
엄청 중요.
LB 이후 HTTP
즉 내부망에서는:
평문 전송
된다.
그래서 질문 발생
내부망은 안전한가?
옛날 방식
보통:
"내부망이니까 괜찮다"
가정.
하지만 현대는?
- 클라우드
- Kubernetes
- Zero Trust
환경.
즉:
내부망도 신뢰 안 함
추세.
그래서 등장
End-to-End TLS.
구조
Client
↓ HTTPS
LB
↓ HTTPS
Backend
즉 Backend까지 HTTPS 유지.
장점
내부 구간도 암호화
단점
- 인증서 관리 증가
- CPU 사용 증가
- 운영 복잡
TLS Passthrough도 존재
중요 개념.
구조
Client
↓ HTTPS
LB(복호화 안 함)
↓ HTTPS
Backend
즉 LB는:
TLS 내용을 못 봄
장점
완전한 종단간 암호화.
단점
LB가:
- WAF
- HTTP Routing
- Header 분석
못 하기 어려워짐.
왜냐면 복호화를 안 했으니까.
그래서 현실은 보통
LB Termination
+
내부 TLS 재암호화
많이 사용.
즉 구조
Client
↓ HTTPS
LB(복호화)
↓ HTTPS 재암호화
Backend
이걸 Re-encryption이라고도 함.
Kubernetes Ingress도 동일
예:
- NGINX Ingress
- Istio Gateway
Ingress가 TLS 종료 가능.
Istio/Service Mesh는 더 발전
Istio
핵심
서비스 간도:
mTLS 자동 적용
즉:
서비스 ↔ 서비스
도 HTTPS 느낌.
mTLS란?
Mutual TLS
일반 TLS
클라이언트가 서버 검증
mTLS
서버도 클라이언트 검증
즉 내부 서비스끼리도 인증.
AWS 예시
대표적 구조:
CloudFront
↓
ALB(TLS 종료)
↓
ECS/EKS
여기서 ALB가 보통 TLS 종료.
인증서는 어디 저장?
보통:
- ACM
- KMS
- Vault
등 사용.
Nginx TLS 종료 예시
server {
listen 443 ssl;
ssl_certificate cert.pem;
ssl_certificate_key key.pem;
}
옵션 설명
옵션의미
| listen 443 ssl | HTTPS 포트 |
| ssl_certificate | 인증서 |
| ssl_certificate_key | 개인키 |
TLS 종료 위치별 비교
구조장점단점
| LB 종료 | 단순/빠름 | 내부 평문 |
| End-to-End TLS | 내부 안전 | 복잡 |
| Passthrough | 완전 암호화 | 기능 제한 |
현재 트렌드
대규모/클라우드는:
Zero Trust
+
mTLS
방향.
즉 내부망도 암호화.
실무 추천
환경추천
| 소규모 | LB 종료 |
| 일반 기업 | LB + 내부 TLS |
| 금융/고보안 | End-to-End mTLS |
핵심 한 줄
TLS 종료 위치는:
HTTPS 암호화를 Load Balancer·Gateway·Backend 중 어디에서 복호화할지 결정하는 구조이며,
현대 시스템은 보통 LB에서 TLS를 종료한 뒤 내부망도 다시 TLS(mTLS 포함)로 보호하는 방향으로 발전하고 있다
이다.
반응형
'system_fundamentals > security_cryptography' 카테고리의 다른 글
| DB 암호화 전략 (0) | 2026.05.20 |
|---|---|
| Kubernetes Secret 문제 (0) | 2026.05.20 |
| API Gateway 인증 구조 (0) | 2026.05.20 |
| MSA 환경 JWT 문제 (0) | 2026.05.20 |
| 대규모 서비스의 인증 구조 (0) | 2026.05.20 |
댓글