서버가 HTTPS 요청만 허용함을 클라이언트에 공시할 수 있도록 응답 헤더에 HSTS(HTTP Strict Transport Security)를
지정할 수 있습니다. 비HTTPS 요청을 SSL 사용 가능 가상 호스트로 경로 재지정할 수 있습니다.
시작하기 전에
- HSTS 정책이 도메인에만 적용되는지 또는 서브도메인을 포함하는지 여부를 판별하십시오.
- 도메인이 클라이언트의 사전 설치된 알려진 HSTS 호스트 목록의 일부일 수 있는지 여부를 판별하십시오.
- 클라이언트에서 도메인이 HSTS 호스트임을 나타내는 정보를 캐시할 수 있는 기간을 판별하십시오.
프로시저
- 응답 헤더의 수정이 가능하도록 설정하십시오.
httpd.conf 파일에 있는 mod_headers 모듈에 대한 다음 로드 모듈 지시문을 주석 해제하십시오.
LoadModule headers_module modules/mod_headers.so
- 클라이언트에 대한 HSTS 정책을 정의하십시오.
httpd.conf 파일에서 다음과 같이 업데이트하십시오.
- 헤더 지시문을 코딩하십시오.
다음 예제 헤더는 HSTS 정책을 정의하는 데 유용한 옵션을 지정합니다. 지시문은 서버에서 항상
HTTPS 연결을 요구하도록 지정합니다. HTTPS 연결은 도메인 및 서브도메인 모두에
적용됩니다. 클라이언트는 최대 1년간(31536000초) 도메인을 해당 사전 설치된 HSTS 도메인 목록에 유지할 수 있습니다.
Header always set Strict-Transport-Security "max-age=31536000;
includeSubDomains; preload"
- SSL(Secure Sockets Layer)이 사용 가능한 각 가상 호스트 섹션 <virtualhost>에 헤더 지시문을
추가하십시오.
- SSL이 사용 불가능한 가상 호스트의 요청을 SSL이 사용 가능한 가상 호스트로 경로 재지정하십시오.
RewriteEngine on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]
- httpd.conf 파일의 각 가상 호스트 섹션에 스탠자를 한 번 추가하십시오.
- 글로벌 httpd.conf 파일(단, 가상 호스트 섹션 외부)에 스탠자를 한 번 추가하십시오.
결과
클라이언트에 HTTPS를 통해서만 지정된 도메인 및 서브도메인에 연결하게 지시하도록
IBM® HTTP Server를 설정합니다. IBM
HTTP Server가 비SSL을 통한 비HTTPS 요청을 처리하지 않도록 하기 위해 이러한 요청을 SSL 사용 가능 가상 호스트로
경로 재지정하도록 설정합니다.
다음에 수행할 작업
애플리케이션 서버와 클라이언트가 HTTPS를 통해 연결되도록 애플리케이션 서버 환경에 서버를 프론트 엔드로
추가하십시오.