HSTS(HTTP 엄격한 전송 보안)

이메일 및 보안
브라우저가 오직 HTTPS를 통해서만 웹사이트에 연결하도록 강제하는 보안 헤더로, 다운그레이드 공격을 방지합니다.
← 용어집으로 돌아가기

HSTS는 무엇입니까?

HSTS (HTTP Strict Transport Security)는 브라우저가 HTTPS를 통해 웹 사이트와 상호 작용하는 웹 보안 메커니즘입니다, 절대 HTTP. 브라우저가 HSTS 헤더를 볼 때, 자동으로 HTTPS에 대한 모든 미래 요청을 업그레이드하고 사용자가 명시적으로 http://.를 입력하더라도 일반 HTTP를 통해 연결할 수 없습니다

HSTS 매트릭스

유효한 SSL 인증서도 있지만 취약점은 다음과 같습니다.

SSL 스트리핑 공격

1. 사용자 유형 "example.com"(https://)

2. 공격자는 초기 HTTP 요청을 방해합니다.

3. HTTPS에 대한 공격 프록시, HTTP를 사용자에게 제공합니다

4. 사용자는 그들이 안전하다고 생각하지만 공격자는 모든 것을 볼

HSTS는 브라우저가 초기 HTTP 요청을 만들지 못하는 것을 방지합니다.

HSTS의 장점

HSTS 헤더 증후군

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

채용 정보

제품 정보이름 *
최대 일HSTS를 기억하는 두 번째 (31536000 = 1 년)
하위 도메인모든 하위 도메인에 HSTS 적용
기타 제품브라우저 사전 로드 목록 포함

HSTS 구축

# # # # Nginx를

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

아파치

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

₢ 킹

SSL/TLS → Edge 인증서 → HTTP Strict Transport Security에서 사용 가능

# # # # Express.js

const helmet = require('helmet');

app.use(helmet.hsts({

maxAge: 31536000,

includeSubDomains: true,

preload: true

}));

HSTS 사전 로드 목록

HSTS 사전 로드 목록은 HTTPS에서만 접근해야하는 브라우저로 하드 코딩 된 도메인 목록입니다. 이것은 첫번째 HTTP 요구 취약점을 삭제합니다.

# # # # # 사전 로드 요구 사항

1. 유효한 SSL 인증서

2. 모든 HTTP를 HTTPS로 리디렉션

3. HSTS 헤더:

-SubDomains 지시어 4. 모든 하위 도메인은 HTTPS를 지원해야합니다.

Preload List에 제출

1. 요구 사항: hstspreload.org를 사용하여 확인

2. 도메인 등록 : hstspreload.org에서 도메인 등록

3. 포함에 대한 보증: 브라우저 업데이트에 대한 몇 달 소요

공지사항

Preload는 영구 (실행적으로). 목록에서 제거는 달이 걸리고 브라우저 업데이트를 요구합니다. 모든 하위 도메인이 HTTPS를 무한하게 지원할 경우에만 사전 로드됩니다.

HSTS 검사

Browser DevTools :

1. DevTools → 네트워크 탭 열기

2. 사이트로드

3. Strict-Transport-Security에 대한 응답 헤더 확인

컬을 사용 :
curl -I https://example.com | grep -i strict
DomScan 사용 :
curl "https://domscan.net/v1/health?domain=example.com"

# Reports hasHSTS in security details

사전 로드 상태:

hstspreload.org 를 확인하여 도메인이 사전 로드되는지 확인하십시오.

HSTS 배포 전략

단계 1: 짧은 최대 나이

시험에 짧은 최대 나이로 시작:

Strict-Transport-Security: max-age=300
무언가가 깨지면 사용자가 5 분 동안 캐시됩니다.

단계 2: 증가 기간

HTTPS를 확인 한 후는 어디에 있습니까?

Strict-Transport-Security: max-age=86400

단계 3: Subdomains를 추가하십시오

모든 하위 도메인 지원 HTTPS :

Strict-Transport-Security: max-age=2592000; includeSubDomains

단계 4: 가득 차있는 배치 + Preload

안정되어 있는 가동의 달 후에:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
다음 목록 제출.

일반적인 HSTS 문제

HTTPS없이 하위 도메인 : includeSubDomains는 하위 도메인을 깰 개발 환경 : HSTS는 생산에서 시렁이는 로컬 dev CDN/Proxy 헤더: HSTS 헤더는 중간에 의해 벗겨지지 않습니다 혼합 내용: 모든 리소스는 HTTPS이어야합니다. HSTS는 임베디드 HTTP 리소스를 수정하지 않습니다.

HSTS는 모든 웹 사이트가 민감한 데이터를 처리하고 모든 HTTPS 사이트를 위해 강력하게 권장합니다.

이 지식을 활용하세요

DomScan의 API를 사용하여 도메인 가용성, 상태 등을 확인하세요.