HSTS 보안 헤더 설정은 HTTPS를 사용하는 사이트에서 한 단계 더 나아간 보안 조치입니다. HTTPS가 설정돼 있어도 사용자가 처음 http://로 접속하면 잠깐이나마 암호화되지 않은 연결이 발생합니다. 공격자는 바로 이 순간을 노려 중간자 공격(MITM)을 시도할 수 있습니다. HSTS는 브라우저에게 “이 사이트는 앞으로 항상 HTTPS만 쓰겠다”는 약속을 심어두어 이 취약한 순간을 없애줍니다. 병원처럼 환자 개인정보가 오가는 사이트에서는 반드시 설정해야 하는 헤더입니다.
브라우저가 사이트에 처음 접속할 때 서버에서 Strict-Transport-Security 헤더를 받습니다. 이 헤더를 받은 브라우저는 지정된 기간 동안 해당 도메인에 대해 무조건 HTTPS로만 접속합니다. http://로 입력해도 브라우저 자체에서 https://로 변환합니다.
덕분에 다음 공격이 차단됩니다.
server {
listen 443 ssl;
server_name 병원도메인.com;
# HSTS 헤더 추가
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# ... 나머지 설정
}
max-age=31536000: 1년간 유지 (초 단위)includeSubDomains: 서브도메인에도 적용always: 모든 응답 코드(오류 페이지 포함)에 헤더 추가적용 후 테스트:
curl -I https://병원도메인.com | grep -i strict
Strict-Transport-Security: max-age=31536000; includeSubDomains 가 출력되면 정상입니다.
preload 옵션을 추가하면 크롬, 파이어폭스의 HSTS 프리로드 목록에 등록해서 첫 접속부터 HTTPS를 강제할 수 있습니다.
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
단, 프리로드 등록 전 반드시 확인해야 할 점이 있습니다.
주의사항:
처음에는 preload 없이 먼저 적용하고, 사이트 전체가 HTTPS로 안정적으로 운영되는 것을 확인한 다음 추가하는 것을 권장합니다.
AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.
작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)