콘텐츠로 건너뛰기

🔐 TLS / 암호 분석

호스트명을 입력하여 TLS 협상을 수행하고 협상된 버전, 암호 스위트, TLS 버전 지원, 인증서 정보를 표시.

완전 무료 가입 불필요 서버 처리 로그 · DB 없음 레이트 리밋 5 개 언어 다크 모드

⚠️ 요청은 DevLab 서버에서 이루어집니다. 사설 IP 주소와 localhost는 허용되지 않습니다.

📖 이 진단으로 알 수 있는 것

TLS 핸드셰이크에서는 클라이언트가 지원 가능한 암호 스위트 목록을 제시하고 서버가 그중 하나를 고릅니다. 이 진단은 실제로 접속해 서버가 받아들이는 프로토콜 버전과 암호 스위트를 나열합니다. 인증서가 유효해도 선택되는 암호가 약하면 통신은 보호되지 않습니다. 자물쇠 표시는 암호 강도를 판정하지 않으므로 여기는 따로 확인해야 합니다.

판정 항목 무엇을 보는가 걸렸을 때의 대처
TLS 1.0 / 1.1 활성 주요 브라우저는 2020년에 지원을 끊었고 PCI DSS에서도 금지합니다. 활성 상태로 두면 다운그레이드 공격의 여지가 남습니다. nginx라면 ssl_protocols TLSv1.2 TLSv1.3;, Apache는 SSLProtocol -all +TLSv1.2 +TLSv1.3. 끊기 전에 액세스 로그의 User-Agent를 보고 실제로 구형 단말이 오는지 확인하세요.
전방 비밀성(PFS) 없는 키 교환 RSA 키 교환은 서버의 개인키가 나중에 유출되면 과거에 기록된 통신을 한꺼번에 복호화할 수 있습니다. ECDHE는 세션마다 일회용 키를 쓰므로 그런 피해가 생기지 않습니다. 암호 스위트를 ECDHE 계열로 좁힙니다. ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...처럼 나열하고 ssl_prefer_server_ciphers off;로 클라이언트 우선순위를 존중하는 것이 현재 권장입니다.
CBC 모드 / RC4 / 3DES 모두 알려진 공격이 있습니다. CBC는 BEAST / Lucky13, RC4는 통계적 편향, 3DES는 Sweet32. 현행은 AES-GCM이나 ChaCha20-Poly1305의 AEAD 계열만 사용합니다. 직접 암호 스위트를 나열하기보다 Mozilla SSL Configuration Generator의 Intermediate 설정을 그대로 붙여넣는 것이 확실합니다. 대상 버전을 고르면 그 시점에서 안전한 조합이 출력됩니다.

CDN이나 로드밸런서를 끼고 있다면 브라우저가 실제로 대화하는 상대는 그쪽입니다. 오리진 nginx를 아무리 굳혀도 엣지가 옛 설정이면 의미가 없으므로 공개된 FQDN에 대해 진단하세요.

🔗 관련 도구