HSTS 설정방법

HSTS는 기존 HTTPS 프로토콜을 사용하면서 보안을 한층 강화한 방식입니다.

1. HSTS 설정방법

HSTS 설정방법은 리눅스 서버에서 설정하는 방법과 사용하는 CDN 서비스에서 지원하는 경우 CDN에서 설정하는 방법 등이 있습니다. 리눅스 서버에서 설정하는 방법과 CDN 서버 설정방법, 그리고 https://hstspreload.org/에서 hsts preload 설정 방법에 대해 순차적으로 진행해 보겠습니다.

1.1 리눅스 서버 설정방법

리눅스 서버의 root 권한이 있다면 httpd.conf나 가상호스트 쪽 ssl 설정에서 설정을 할 수 있습니다. 루트 권한이 없는 웹호스팅(공유호스팅)을 사용할 경우에는 .htaccess에서 설정이 가능합니다. 아래는 hsts herder를 설정하는 각각의 방법입니다.

## httpd.conf 설정 ## 버전에 따른 헤더 모듈이 활성화 되어 있어야 합니다. 
<IfModule mod_headers.c> 
Header add Strict-Transport-Security "max-age=31536000;includeSubDomains" env=HTTPS
</IfModule>

##  ssl.conf 도메인 별 설정 ## 
<VirtualHost *:443>
...
Header always set Strict-Transport-Security "max-age=31536000; preload"
...
</VirtualHost>

## .htaccess 설정 ## 
Header always set Strict-Transport-Security "max-age=31536000; preload"

max-age 헤더 값은 3153600이 1년입니다.

SSL - HSTS 설정방법

1.2 CDN: 클라우드플레어 설정방법

HSTS 설정방법-클라우드플레어

클라우드플레어에서는 SSL 에지인증서를 제공합니다. CDN 무료버전부터 지원을 하며, HSTS 설정 변경 버튼을 통해서 설정을 할 수 있습니다.

HSTS 설정방법 클라우드플레어2 •

hsts herder의 기본 설정 기간은 6개월로 되어 있으며 hts preload 승인을 받기 위해서는 1년으로 설정을 해야 합니다.

hsts header 클라우드플레어3 •

1.1 또는 1.2의 방법 중에 하나로 설정이 완료 되었다면, 크롬 preload 등록을 해야 합니다.

2. Chrome Preload 목록 등록하기

HSTS Preload 등록 •
성공
uknew.co 현재 HSTS 사전로드 목록에 포함 대기 중입니다!

uknew.co 계속해서 모든 사전로드 요구 사항을 충족 
하는지 확인하십시오 
. 그렇지 않으면 제거됩니다. 
도메인 상태를 확인하려면 앞으로 몇 주 동안이 사이트를 다시 방문하세요.
또한 
SSL Labs를 사용하여 TLS 문제 스캔을 고려하십시오 
>> https://www.ssllabs.com/ssltest

2.1 등록 전 체크 사항

아래 내용은 등록 전 미리 관련 내용에 대해 체크할 수 있는 부분을 구글번역기로 번역한 내용입니다. 사전로드 등록 이전에 관련 내용을 꼭 한번 읽어 보시기를 권장합니다.

정보
이 양식은 Chrome의 
HSTS (HTTP Strict Transport Security) 사전로드 목록 
에 포함 할 도메인을 제출하는 데 사용됩니다 
. 
이것은 HTTPS 전용으로 Chrome에 하드 코딩 된 사이트 목록입니다.
대부분의 주요 브라우저 (Chrome, 
Firefox , Opera, Safari, 
IE 11 및 Edge )에도 Chrome 목록을 기반으로하는 HSTS 사전로드 목록이 있습니다. 
( 
HSTS 호환성 매트릭스를 참조하십시오 
.)
제출 요건
사이트 
preload가 HSTS 헤더에 지시문을 
보내는 경우 
사전로드 목록에 포함을 요청하는 것으로 간주되며이 사이트의 양식을 통해 제출할 수 있습니다.
이 양식을 통해 HSTS 사전로드 목록에 등록 되려면 사이트가 다음 요구 사항을 충족해야합니다.
유효한 
인증서를 제공합니다 
.
포트 80에서 수신하는 경우 동일한 호스트의 HTTP에서 HTTPS로 
리디렉션 합니다.
HTTPS를 통해 
모든 
하위 도메인 을 
제공합니다 
.
특히 해당 
www하위 도메인에 대한 DNS 레코드가있는 경우 하위 도메인에 
대해 HTTPS를 지원해야 
합니다.
HTTPS 요청을 위해 기본 도메인에서 
HSTS 헤더 를 
제공 
합니다.
은 
max-age최소한이어야 
31536000초 (1 년).

includeSubDomains지시어를 지정해야합니다.

preload지시어를 지정해야합니다.
HTTPS 사이트에서 추가 리디렉션을 제공하는 경우 해당 리디렉션에는 리디렉션되는 페이지가 아닌 HSTS 헤더가 있어야합니다.
HSTS에 대한 자세한 내용은 
RFC 6797을 참조하십시오 
. 
다음은 유효한 HSTS 헤더의 예입니다.
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
위의 양식에 도메인 이름을 다시 입력하여 요청 상태를 확인하거나 
chrome://net-internals/#hsts브라우저에서 
방문하여 현재 Chrome 사전로드 목록을 참조 할 
수 있습니다. 
새 항목은 Chrome 소스 코드에 하드 코딩되며 안정적인 버전에 도달하기까지 몇 달이 걸릴 수 있습니다.
계속되는 요구 사항
사이트가 항상 제출 요건을 계속 충족하는지 확인해야합니다. 
preload헤더 
에서 
지시문 
을 제거하면 
사이트가 즉시 
제거 양식을 받을 
수있게되며 요구 사항을 충족하지 못할 경우 향후 사이트가 자동으로 제거 될 수 있습니다.
특히, 
 의 
요구 사항 은 2017 년 10 월 11 일
hstspreload.org 이후에 
제출 된 모든 도메인에 적용됩니다 
(예 : Chrome 63 이후에 사전로드 됨).


2016 년 2 월 29 일 또는 그 이후에 제출 된 이전 도메인 
(예 : Chrome 50 이후 사전로드 됨) 
에도 동일한 요구 사항이 적용됩니다 
. 단, 해당 도메인에 필요한 최대 연령은 
10886400몇 초 
밖에되지 않습니다 
.
배포 권장 사항
사이트가 HTTPS로 커밋되고 HSTS를 미리로드하려면 다음 단계를 따르는 것이 좋습니다.
사이트의 모든 하위 도메인 (및 중첩 된 하위 도메인)을 검사하고 HTTPS를 통해 제대로 작동하는지 확인합니다.
다음 헤더 값을 사용하여 
Strict-Transport-Security모든 HTTPS 응답에 헤더를 
추가하고 
max-age단계적으로 
증가시킵니다 
.
5 분:

max-age=300; includeSubDomains
일주:

max-age=604800; includeSubDomains
1 개월:

max-age=2592000; includeSubDomains
각 단계에서 깨진 페이지를 확인하고 사이트의 통계 (예 : 트래픽, 수익)를 모니터링합니다. 
발생하는 문제를 해결 한 다음 
max-age계속 진행하기 전에 무대 
전체를 기다립니다 
. 
예를 들어 마지막 단계에서 한 달을 기다립니다.
더 이상 문제가 없다고 확신 
max-age하면 2 년으로 
늘리고 
사이트를 사전로드 목록에 제출하십시오.
2 년, 사전로드 요청 :

max-age=63072000; includeSubDomains; preload
배포를 베타 테스트 할 수있는 직원 또는 사용자 그룹이있는 경우 해당 사용자에 대해 처음 몇 개의 램프 업 단계를 시도해보십시오. 
그런 다음 모든 사용자의 모든 단계를 처음부터 다시 시작해야합니다.
상담 호 
모질라 웹 보안 가이드 라인 과 
보안에 대한 Google 웹 기본 페이지에 HTTPS에 대한보다 구체적인 조언을 배포합니다.
미리로드를 선택해야합니다.
HTTPS 구성 조언을 제공하거나 HSTS 사용 옵션을 제공하는 프로젝트를 유지 관리하는 경우 
기본적으로 지시문을 
포함하지 마십시오
preload . 
이러한 방식으로 HSTS를 시도한 사이트 운영자로부터 정기적 인 이메일을 받고 특정 하위 도메인에 액세스하기 위해 HSTS를 제거해야 할 때에 만 사전로드 목록에 포함됩니다. 
제거 는 이러한 부위에 대해 느리고 고통스러운 경향이 있습니다.
HSTS 사전로드를 모범 사례로 지원하고 프로젝트에서이를 활성화하는 간단한 옵션을 제공하는 것이 좋습니다. 
그러나 HSTS를 활성화하는 사이트 운영자는 주어진 도메인에 대해 미리로드하기 전에 사전로드의 장기적인 결과에 대해 알아야합니다. 
또한 추가 요구 사항을 충족하고 사이트를 
hstspreload.org 에 
제출하여 
성공적으로 사전로드되었는지 확인해야합니다 (예 : 의도 한 구성을 완전히 보호하기 위해).
제거
사전로드 목록에 포함 된 것은 쉽게 취소 할 수 없습니다. 
도메인을 삭제할 수 있지만 변경 사항이 Chrome 업데이트를 통해 사용자에게 도달하는 데 수개월이 걸리며 다른 브라우저에 대해서는 보장 할 수 없습니다. 
장기적으로 
전체 사이트 및 모든 하위 도메인 에 
HTTPS를 지원할 수 있다고 확신하지 않는 한 포함을 요청하지 마십시오 
.
그러나 강력한 기술 또는 비용 이유로 HTTPS를 통해 제공 할 수없는 하위 도메인이있는 경우 일반적으로 Chrome의 사전로드 목록에서 삭제 요청을 수락합니다. 
삭제를 요청하려면 
삭제 양식을 방문하세요 
.
TLD 사전로드
gTLD, ccTLD 또는 기타 
공용 접미사 도메인의 
소유자는 
등록 가능한 모든 도메인에 HSTS를 미리로드 할 수 있습니다. 
이는 전체 TLD에 대한 강력한 보안을 보장하며 각 개별 도메인을 미리로드하는 것보다 훨씬 간단합니다. 
제발 
저희에게 연락 당신이 관심, 또는 좀 더 배우고 싶은 경우.
접촉
도메인을 제거 하시겠습니까? 
제거 양식을 방문하십시오 
.
그렇지 않으면,이 사이트에서 다루지 않는 질문이나 요청이 
있는 경우 적절한 제목을 사용하여 
여기로 이메일을 보내 주시면 
사전로드 목록 관리자 중 한 명이 곧 연락을 드릴 것입니다.

Leave a Comment