SSL 등급
단순히 "인증서가 유효한가?"가 아니라 "TLS 설정 전체가 최신인가?"를 묻습니다. 이 페이지는 각 프로토콜 버전을 따로 프로빙하고, 인증서의 키와 서명을 읽고, 전방 비밀성과 HSTS를 확인한 뒤 결과를 문자 등급으로 바꿉니다 — 모든 감점에 설명이 붙으므로, B나 C를 받으면 정확히 무엇을 고쳐야 할지 알 수 있습니다.
계속 지켜보고 싶으신가요? myeventwatch로 무료 모니터링 — 만료 및 다운타임 알림, 카드 불필요.
등급이 측정하는 것
인증서 검사는 하나의 문서가 유효한지를 답합니다. 설정은 그 검사를 통과하고도 여전히 약할 수 있습니다: 묻는 누구에게든 TLS 1.0으로 응답하는 서버, 향후 키가 유출되면 오늘 기록한 트래픽을 복호화할 수 있게 하는 암호, 첫 방문을 다운그레이드 가능하게 만드는 HSTS 헤더의 부재. 그래서 등급 도구는 네 가지를 측정하고, 각각 결과에 전용 섹션이 있습니다. 프로토콜 매트릭스는 TLS 1.0, 1.1, 1.2, 1.3 각각에 고정한 핸드셰이크를 한 번씩 수행합니다 — 어떤 버전에 고정한 핸드셰이크가 실제로 완료될 때만 그 버전을 지원으로 셉니다. 따라서 "지원"은 측정된 것이지, 우연히 협상된 버전에서 추론한 것이 아닙니다. 인증서 섹션은 검증에 실패하는 경우에도 서버가 제시하는 것을 보고합니다: 발급자, 포함 이름, 유효 기간, 키 유형과 크기, 서명 알고리즘. 전방 비밀성은 협상된 암호에서 읽습니다: TLS 1.3 스위트는 구조상 전방 비밀성을 가지며, 이전 스위트는 임시 키 교환을 사용할 때만 그렇습니다. 그리고 HSTS는 도메인 루트 응답에서 max-age와 플래그와 함께 읽습니다.
의도적인 누락이 하나 있습니다: OCSP 스테이플링은 확인하지 않습니다. 이 서비스가 사용하는 TLS 라이브러리는 스테이플링된 응답을 노출하지 않으므로 등급 도구는 이를 관찰할 수 없고, 추측하는 대신 그렇다고 명시합니다. 스테이플링은 등급에 도움이 되지도 해가 되지도 않습니다; 중요하다면 자신의 컴퓨터에서 openssl로 확인하세요. 등급 기준 자체는 아래에 전문을 적어 두었습니다. 감사할 수 없는 등급은 그저 배지에 불과하기 때문입니다.
등급 기준, 쉬운 말로
모든 사이트는 A+에서 시작하고, 감점이 등급에 상한을 겁니다 — 적용 가능한 가장 엄한 상한이 이기고, 각각 결과에 발견 사항으로 나타납니다. F는 브라우저가 사이트를 거부하거나 사용할 수 있는 TLS가 아예 없다는 뜻입니다: 만료된 인증서, 자체 서명 인증서, 호스트 이름을 포함하지 않는 인증서, MD5 서명, 또는 443 포트에서 핸드셰이크가 하나도 성공하지 못한 경우. C는 시대에 뒤떨어졌거나 신뢰할 수 없다는 뜻입니다: 검증되지 않는 체인(보통 중간 인증서 누락), 약한 키(2048비트 미만의 RSA, 또는 작은 타원 곡선), SHA-1 서명, 또는 지원되는 최고 프로토콜이 TLS 1.1 이하인 경우. B는 실제이지만 견딜 수 있는 약점입니다: 최신 프로토콜과 함께 여전히 켜져 있는 레거시 프로토콜, 또는 전방 비밀성이 없는 협상된 암호. A는 사소한 문제 하나입니다: HSTS 헤더 없음, 6개월 미만의 HSTS max-age, 또는 30일 갱신 기간 안에 든 인증서. 발견 사항을 순서대로 고치세요 — 먼저 F와 C, 그다음 B, 마지막으로 A — 그리고 변경할 때마다 다시 등급을 매기세요; 1시간 캐시가 있으므로 수정 사항을 다시 확인하기 전에 기다리는 편이 나을 수 있습니다. 내부적으로 이 페이지는 sysosx 서버의 GET /api/check/ssl-grade를 호출하고, 서버가 프로빙을 실행해 등급을 한 시간 동안 캐시합니다.
관련 도구: 인증서를 빠르게 보고 만료 카운트다운을 확인하려면 SSL 검사기, 도달 가능성·인증서·만료·레코드를 함께 보려면 웹사이트 상태 검사, TLS 설정은 괜찮지만 리디렉션 경로가 문제라면 HTTP 상태 체인, 443 포트 외에 호스트에서 무엇이 더 듣고 있는지 보려면 포트 스캐너를 사용하세요. 도메인이 오늘 제시하는 것이 아니라 지금까지 발급된 적이 있는 것을 보려면 Certificate Transparency 검색을 사용하세요.
더 읽을거리: TLS 등급은 어떻게 얻고 잃는가 — 각 상한 뒤에 있는 흔한 실패와 그 해결책을, 손댈 가치가 있는 순서대로 정리했습니다.
자주 묻는 질문
SSL 검사기와 무엇이 다른가요?
SSL 검사기는 하나의 질문에 답합니다: 이 서버가 어떤 인증서를 제시하며, 그것은 유효한가? 등급 도구는 TLS 설정 전체를 감사합니다: 서버가 여전히 제공하는 프로토콜 버전(TLS 1.0부터 1.3까지, 각각 따로 프로빙), 협상된 암호가 전방 비밀성을 제공하는지, 인증서의 키 크기와 서명 알고리즘, 그리고 HSTS가 설정되어 있는지. 만료 카운트다운을 빠르게 보려면 검사기를, 설정 자체가 최신인지 알고 싶으면 등급 도구를 사용하세요.
각 등급은 무엇을 뜻하나요?
A+는 깨끗한 결과입니다: 최신 프로토콜만, 전방 비밀성, 이 호스트 이름을 포함하는 유효한 체인, 그리고 장기간의 HSTS. A는 사소한 문제 하나를 뜻하며, 보통 HSTS가 없거나 짧거나, 인증서가 30일 갱신 기간 안에 든 경우입니다. B는 실제이지만 견딜 수 있는 약점입니다: 여전히 켜져 있는 레거시 프로토콜, 또는 전방 비밀성이 없는 암호. C는 시대에 뒤떨어졌거나 신뢰할 수 없는 무언가입니다: 검증되지 않는 체인, 약한 키 또는 SHA-1 서명, 또는 최고 프로토콜이 TLS 1.1 이하인 경우. F는 브라우저가 사이트를 거부하거나 사용할 수 있는 TLS가 아예 없다는 뜻입니다: 만료되었거나 자체 서명되었거나 일치하지 않는 인증서, 또는 MD5 서명.
TLS 1.0을 지원한다는 이유만으로 서버가 B로 제한되는 이유는 무엇인가요?
"지원"은 방문자가 아니라 서버에 관한 사실이기 때문입니다. 오늘날 어떤 최신 소프트웨어도 TLS 1.0을 협상하지 않으므로, 이를 켜 두는 것은 호환성을 전혀 사지 못하고 가장 약한 암호들을 계속 제공하게 합니다. 이 상한은 1999년의 프로토콜이 여전히 응답하고 있는 한 설정을 최신이라고 부르지 않겠다는 등급 도구의 입장입니다. 끄는 것은 보통 설정 한 줄이면 되고, 등급은 즉시 회복됩니다.
등급 도구가 OCSP 스테이플링을 확인하지 않는 이유는 무엇인가요?
페이지에 명시된 솔직한 한계입니다: 이 서비스가 사용하는 TLS 라이브러리는 스테이플링된 OCSP 응답을 노출하지 않으므로 등급 도구는 이를 관찰할 수 없습니다. 추측하는 대신 스테이플링을 "확인 안 함"으로 보고하며, 등급에 도움이 되지도 해가 되지도 않게 합니다. 스테이플링이 중요하다면 자신의 컴퓨터에서 openssl s_client -connect host:443 -status로 확인하세요.
결과가 한 시간 동안 캐시되는 이유는 무엇인가요?
등급은 서버의 TLS 설정이 바뀔 때만 바뀌며, 그런 일은 드물고 의도적입니다 — 답 자체가 목적인 DNS 전파와는 다릅니다. 새 검사는 다른 서버 측 검사와 마찬가지로 방문자별로 제한되며(시간당 약 스무 번, 짧은 버스트 허용량 포함), 캐시된 결과에는 그 표시가 붙습니다. 방금 무언가를 고쳤다면 한 시간을 기다리거나, 캐시가 만료된 뒤 다시 확인하세요.