웹사이트가 브라우저에 항상 HTTPS를 사용하라고 알리는 HSTS 헤더를 보내지 않습니다. 이 헤더가 없으면 방문자의 첫 요청이 일반 HTTP로 전송될 수 있으며, 공용 Wi-Fi 등에서 가로채질 수 있습니다.
의미
HSTS(HTTP Strict Transport Security)는 Strict-Transport-Security: max-age=31536000 같은 응답 헤더입니다. 브라우저가 이 헤더를 한 번 확인하면, 누군가 http:// 주소를 입력하거나 클릭해도 지정된 초 동안 해당 웹사이트에 HTTPS를 사용합니다.
발생 조건
보안 헤더 점검은 일주일에 한 번 HTTPS로 홈페이지를 로드합니다. max-age가 0보다 큰 Strict-Transport-Security 헤더가 없으면 이 보통 이슈가 발생합니다. 앱에 표시되며 이메일로는 보내지 않습니다.
HSTS는 보안 헤더 등급을 구성하는 6개 헤더 중 하나이기도 합니다. 취약한 보안 헤더을(를) 참고하세요.
일반적인 원인
- 웹 서버, 호스팅 요금제 또는 CDN이 기본적으로 이 헤더를 보내지 않습니다.
- 웹사이트를 HTTPS로 이전할 때 빠뜨린 뒤 추가하지 않은 경우.
- max-age=0으로 전송되어 HSTS가 꺼집니다.
해결 방법
- 웹사이트 전체가 HTTPS로 작동하고 일반 HTTP가 HTTPS로 리디렉션되는지 확인하세요. HTTPS가 제대로 설정되지 않음을(를) 참고하세요.
- 웹 서버, CDN 또는 호스팅 설정에 Strict-Transport-Security: max-age=31536000을 추가하세요. 예를 들어 Cloudflare에서는 SSL/TLS → Edge Certificates에 있습니다.
- 모든 하위 도메인이 HTTPS로 작동할 때만 includeSubDomains나 preload를 추가하세요. 그러면 브라우저가 하위 도메인에 대해서도 일반 HTTP를 거부하며, preload는 되돌리기 어렵습니다.
해소 시점
점검이 매주 실행되므로, 더 이상 문제를 발견하지 않는 다음 주간 점검에서 이슈가 사라지고, 그 7일 후 조치가 실행 계획에서 사라집니다.
조치를 완료로 표시했는데 14일 후에도 문제가 여전히 발견되면 “수정이 효과가 없었습니다”로 다시 나타납니다. 실행 계획 사용을(를) 참고하세요.