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 명령어를 사용해보면 적용이 잘 된것을 확인할 수 있다.
추가) Nginx
사이트 설정에
add_header Strict-Transport-Security "max-age=15552000;
includeSubdomains;
preload";
추