HSTS 소개
HSTS는 HTTP Strict-Transport-Security의 약자로, 웹 보안 정책 메커니즘입니다. HSTS는 2015년 ThoughtWorks Technology Radar에 처음 포함되었고, 2016년 최신 호에서는 "시험" 단계에서 바로 "채택" 단계로 넘어갔습니다. 이는 ThoughtWorks가 업계가 이 보안 방어 조치를 적극적으로 도입할 것을 강력히 지지하며, 자체 프로젝트에도 적용했음을 의미합니다. HSTS의 핵심은 HTTP 응답 헤더입니다. 이 기능은 현재 도메인 이름이 다음 기간 동안 HTTPS로만 접근 가능하며, 현재 연결이 안전하지 않다고 판단되면 사용자의 후속 접근 요청을 강제로 거부한다는 것을 알려줍니다.
HSTS 정책을 가진 웹사이트는 브라우저가 항상 HTTPS 암호화된 버전에 연결되어 있어 사용자가 URL 주소 표시줄에 암호화된 주소를 수동으로 입력할 필요가 없어져 세션 하이재킹 위험을 줄입니다.
HTTPS(SSL 및 TLS)는 사용자와 웹사이트가 안전하게 통신하도록 보장하여 공격자가 가로채거나 조작하거나 사칭하는 것을 어렵게 만듭니다. 사용자가 될 때도메인 이름이나 링크를 수동으로 입력 http://, 웹사이트의첫 번째 요청은 암호화되지 않았습니다, 일반 http를 사용한다. 가장 안전한 웹사이트들은 즉시 사용자를 https 연결로 안내하는 리디렉션을 보냅니다.중간자 공격자는 초기 HTTP 요청을 가로채고 사용자의 후속 응답을 제어하기 위해 공격할 수 있습니다。
HSTS 원칙
HSTS는 주로 서버에서 응답 헤더를 전송하여 브라우저 작업을 제어합니다: 클라이언트가 HTTPS를 통해 요청을 할 때, 서버는 반환하는 HTTP 응답 헤더에 Strict-Transport-Security 필드를 포함시킵니다. 브라우저가 이러한 정보를 받은 후,일정 시간 내에 사이트에 대한 모든 요청은 HTTPS에서 시작됩니다HTTP로 시작된 서버가 HTTPS로 리디렉션하지 않고도 가능합니다.
HSTS 응답 헤더 형식
매개변수 설명:
최대 연령(초 단위): 브라우저에 HTTPS 프로토콜을 통해 웹사이트에 접속해야 한다고 알려주는 데 사용됩니다. 즉, 이 웹사이트의 HTTP 주소는 요청을 보내기 전에 로컬에서 HTTPS로 교체해야 합니다. includeSubDomains (선택 사항): 이 매개변수가 지정되어 있으면, 사이트의 모든 하위 도메인도 HTTPS 프로토콜을 통해 접근해야 함을 나타냅니다. preload: 브라우저에 내장된 HTTPS를 사용하는 도메인 이름 목록입니다.
HSTS 전부 목록
HSTS는 HTTPS 저하 공격에 대한 좋은 해결책이지만, HSTS첫 번째 HTTP 요청이 적용되기 전 여전히피할 수 없는 일이에요납치。 이 문제를 해결하기 위해 브라우저 제조사들은 HSTS 프리로드 리스트 솔루션을 제안했습니다. (생략됨)
IIS 구성
구성 전에 아래에 표시된 웹사이트를 방문하세요:
이를 IIS7+에서 구현하려면, web.config에서 HSTS에 대한 CustomHeader 요구사항을 추가하면 됩니다. 구성은 다음과 같습니다:
수정 후에는 아래에 표시된 대로 웹사이트를 다시 방문하세요:
Nginx 구성
웹사이트가 nginx 리버스 프록시를 사용한다면, nginx를 직접 설정하여 구현할 수도 있습니다. 다음과 같습니다:
크롬 보기 규칙
현재 HSTS 규칙을 보려면 구글 크롬 크롬을 사용해 타이핑하세요chrome://net-internals/#hsts아래 그림과 같이 차량에 탑승하세요:
참조
HTTP 엄격한 전송 보안:하이퍼링크 로그인이 보입니다.
(끝)
|