HTST란? 워드프레스 htaccess 파일 간단 수정으로 적용하기
![덕후](/files/member_extra_info/profile_image/004/4.jpg?t=1549473804)
HTST란 무엇이고 어떻게 적용시키나
인터넷에서는 끝없는 창과 방패의 싸움이 벌어지고 있습니다. 정보는 곧 돈이 되는 시대라 누군가는 수단과 방법을 가리지 않고 긁어 모으려고 하고, 또 누군가는 그 반대편에서 벌레들이 집안으로 들어오지 않게 보안 기술을 개발하고 발전시키고 있습니다.
HTST는 HTTP Strict Transport Security의 약자로 간단하게 설명하면 접속자가 강제로 https 주소로 접속하게 만드는 것 입니다.
- HTTP는 보안이 되지 않아 주고 받는 내용을 누군가가 보기가 쉬워서
- 보안책으로 만든것이 HTTPS 입니다. 뒤에 S는 Secure 입니다.
- 만약 누군가가 덕도에 http://dukdo.com 으로 접속하게 되었다면 서버측에서 https://dukdo.com으로 접속하게 해주는 것.
워드프레스에 HTST 적용하기
조건이 있습니다.
- 우선 당연히 해당 블로그나 사이트는 SSL 인증서가 설치되어있어야 합니다. 무료에 가장 널리 쓰이는 보안 인증서는 Let's Encrypt가 있습니다.
- HTTP 에서 HTTPS으로 Redirection이 같은 호스트상에서 이루어져야 합니다.
- 기본 도메인에 HTST 헤더 적용하고
- 서브 도메인까지 모두 적용이 되어야함.
Apache를 이용하는 경우
htaccess 파일을 열어서
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
이 부분도 같이 넣어주시면 되는데 혹시나 적용이 안되신다면 http를 https로 리다이렉션하도록 설정이 되었는지 봐야합니다.
저의 경우는 아래의 내용이 추가되어있습니다. (도메인 부분은 본인의 도메인 주소로 바꾸세요.)
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) https://도메인.com/$1 [R=301,L]
NGINX의 경우
NGINX congif에 add_header Strict-Transport-Security max-age=31536000 추가 해줍니다.
저는 아파치 사용자라 NGINX는 확인해보진 못했기 때문에 적용시키고 아래 방법으로 확인해보세요.
HTST Preload
https://hstspreload.org/ 여기에서 사이트를 등록시키면 HSTS Preload List에 등록이 가능합니다. 구글 크롬이 주도하며 파이어폭스, 마이크로소프트 엣지, 사파리 등등 많은 브라우저들도 동일 DB를 사용하여 등록된 도메인은 반영구적으로 HTTPS 접속이 적용됩니다.
HTST 적용 확인하기
크롬의 경우에는 chrome://net-internals/#hsts 를 주소창에 넣고 접속해서 원하는 사이트 주소를 넣으면 확인할 수 있어요. 아니면 http://본인사이트주소.com 입력해서 접속해보고 https로 강제접속 되면 성공.