SSL/TLS는 무엇입니까?
SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security)는 네트워크상의 통신을 확보하는 암호화 프로토콜입니다. TLS는 SSL에 현대의 성공자이지만 "SSL"은 일반적으로 두 가지를 참조하는 데 사용됩니다. 이 프로토콜은 HTTPS를 활성화하고 브라우저와 서버간에 데이터를 암호화합니다.
SSL vs TLS: 짧은 역사
| 이름 * | 1 년 | 주요연혁 |
|---|---|---|
| SSL 1.0 | 1994년 | 출시되지 않음 (flawed) |
| SSL 2.0 | 1995년 | (초록) |
| SSL 3.0 | 1996년 | (POODLE 취약점) |
| 사이트맵 | 1999년 | 인기 있는 |
| 사이트맵 | 2006년 | 인기 있는 |
| 사이트맵 | 2008년 | 현재 기준 |
| 사이트맵 | 2018년 | 최근, 추천 |
현대 시스템은 TLS 1.2 또는 TLS 1.3 전용을 사용해야합니다.
TLS는 어떻게 작동합니까?
TLS 핸드샤크
1. 클라이언트 Hello: 브라우저는 지원된 TLS 버전과 cipher 스위트를 보냅니다
2. 서버 안녕하세요 : 서버는 TLS 버전과 cipher Suite를 선택합니다
3. 증명서: 서버는 SSL 인증서를 보냅니다
4. Key Exchange: 보안 키 교환(예: cipher Suite)
5. Finished: 암호화된 세션
Client Server
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificate ---------------|
|<-- Key Exchange --------------|
|-- Key Exchange -------------->|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Encrypted Session ===>|
TLS 1.3는 단 하나 왕복으로, 성과를 개량합니다.
SSL/TLS 인증서
인증서는 무엇입니까?
- Subject: 도메인 이름(s) 인증서 커버
- Issuer: 인증 기관 (CA) 발급
- Validity Period: 시작 및 만료일
- 공개 키: 암호화 연결 설정
- Signature: CA의 암호화 서명
인증서 유형
Domain 검증 (DV): Proves 도메인 소유권 만- 몇 분 안에 발행
- 무료 (Let's Encrypt) 또는 저렴한 비용
- 쇼 통제, 조직 정보 없음
- 사업 검증
- 인증서 세부의 조직 이름 표시
- 높은 신뢰, 온건한 비용
- 엄격한 정체 검증
- 이전에 녹색 바를 보여 (브라우저가 제거)
- 가장 높은 비용, 높은 신뢰
증명서 적용
단일 도메인 : 한 도메인 (example.com) 커버 Wildcard: 모든 하위 도메인 커버 (*.example.com) 멀티 도메인 (SAN) : 여러 특정 도메인 커버SSL/TLS 구현
Let's Encrypt 무료 인증서
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Cloud Provider 인증서
대부분의 클라우드 플랫폼은 무료, 자동 갱신 인증서를 제공합니다:
- Cloudflare: proxied 도메인 자동
- AWS: 인증서 관리자 (ACM)
- Google Cloud: SSL 인증서 관리
인증서 검증
브라우저는 인증서를 확인합니다 :
1. 신뢰할 수있는 루트 CA에 인증서 체인 확인
2. 인증서가 만료되지 않는 검증
3. 도메인 일치 확인
4. 재직 상태 확인 (CRL/OCSP)
SSL/TLS 모범 사례
Server 구성
TLS 1.2+ 사용 : SSL 3.0, TLS 1.0, TLS 1.1 사용ssl_protocols TLSv1.2 TLSv1.3;
Strong Cipher Suites : Prefer 현대, 안전한 ciphers
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: 힘 HTTPS (HSTS 광택 항목 참조)
인증서 관리
- 자동화 : 인증서가 만료됩니다 ( Let's Encrypt의 90 일)
- Monitor 만료 : 인증서 만료 전에 경고 설정
- CAA 레코드 사용 : CA가 인증서를 발급할 수 있는 제한
SSL/TLS 확인
DomScan 사용 :curl "https://domscan.net/v1/health?domain=example.com"
# Returns SSL validity, issuer, expiration
OpenSSL 사용 :
openssl s_client -connect example.com:443 -servername example.com
Online Tools: SSL Labs (ssllabs.com/sssltest)는 종합적인 분석을 제공합니다.
일반적인 SSL 문제
Mixed Content: HTTPS 페이지 로딩 HTTP 리소스 (브라우저로 차단) Certificate Mismatch: 인증서는 도메인과 일치하지 않습니다. Expired Certificate: 인증 유효기간 종료 Incomplete Chain: 중간 인증서를 소싱SSL/TLS는 더 이상 선택이 없습니다. 모든 웹 사이트는 보안 및 SEO 혜택을 위해 HTTPS를 사용해야합니다.