ssllabs.com를 통해 SSL Server Test를 한 결과 B등급이 나왔다. 해당 결과에 만족스럽지 못한 나는 Protocal Support에 문제가 있다는 것을 발견했다.
cerbot + let’s encrypt를 이용해 HTTPS 설정을 하게 될 경우 ssl 관련 설정들이 /etc/letsencrypt/options-ssl-nginx.conf
에 저장된다.
해당 파일을 살펴보면 ssl_protocols TLSv1 TLSv1.1 TLSv1.2
라고 적혀 있는걸 볼 수 있는데, 2020년부터 TLSv1.0 TLSv1.1에 대한 지원을 중단했다.
그 때문에 SSL Server Test에서 B등급이 나왔다는 것을 알 수 있었다. 단순히 TLSv1
와 TLSv1.1
을 삭제하는 것만으로도 A등급이 나오며 문제를 해결 할 수 있었다.
하지만 최신 버전인 TLSv1.3도 적용할려고 할 경우
nginx: [warn] invalid value "TLSv1.3" in /etc/letsencrypt/options-ssl-nginx.conf:10
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx/1.10
버전을 다운하게 된다.nginx/1.10
버전의 경우 TLSv1.3을 지원하지 않기 때문에 Nginx를 따로 업그레이드를 해줄 필요가 있다.nginx/1.16
으로 수동으로 업그레이드를 진행했다.options-ssl-nginx.conf
파일의 ssl_protocols
에 TLSv1.3을 추가해주었다.1.0.2
버전에서는 TLSv1.3을 지원하지 않기 때문에 openssl 또한 1.1.1
버전으로 수동으로 업그레이드를 진행했다. (How to Install OpenSSL from source code on Ubuntu 16.04)
업그레이드 후에 정상적으로 TLSv1.3을 지원하는 것을 확인 할 수 있다.