HSTS(HTTP Strict Transport Security)란?

웹에서 HTTPS사용을 강제하도록 하는 보안기능이다. HSTS를 활성화 시키면 이후의 HTTP 요청은 모두 HTTPS로 전환된다.

여기서는 현재 운영중인 Apache2 웹서버에 HSTS를 활성화 시켜보도록 진행 할 예정이다.

Nextcloud 에서는 “Strict-Transport-Security” HTTP 헤더가 “15552000”초 이상로 설정되어 있지 않습니다. 보안 팁에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천한다.

Apache HSTS 설정

HSTS에는 3가지 옵션이 있는데 아래와 같다.

  • max-age HSTS가 브라우저에 실행될 시간 값 (초단위로 설정)
  • includeSubdomains HSTS가 서브도메인에 적용 될것인지.
  • preload HSTS가 브라우저 측에서 Preload 적용여부.

먼저 내 서버에 값이 설정되어있나 curl 명령어로 확인해보자.

당연히 안되있지.

이제 설정값을 집어넣어보자.

vi /etc/apache2/apache2.conf

Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains; preload"

이제 service apache2 restart 로 재시작을 하자

재시작 후에 다시 curl 명령어를 사용해보면 적용이 잘 된것을 확인할 수 있다.