최대 1 분 소요

https://www.ssllabs.com 에서 SSL 테스트를 해봤는데 DROWN 취약점이 있다고 F 등급을 먹인다.

DROWN 공격 취약점에 대한 내용

  • https://sarc.io/index.php/httpd/581-openssl-suites
  • http://blog.alyac.co.kr/554

줄여서 얘기하자면, SSL v1, v2, v3와 TLS 1.0은 사용하지 않도록 하는 것이 목표이다.

그렇게 설정했는데도 아무리해도 되질 않았다.

  • https://serverfault.com/questions/704376/disable-tls-1-0-in-nginx

에서 답을 찾았다. default_server 설정이 있어야 한다는 것.

nginx virtualhost 설정에서

server {
        listen                  443 ssl default_server;
        root                    /opt/bitnami/apps/blog.dongbumkim.com/htdocs/;
        server_name             blog.dongbumkim.com;
        ssl_certificate         /etc/letsencrypt/live/blog.dongbumkim.com/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/blog.dongbumkim.com/privkey.pem;
        include                 "/opt/bitnami/nginx/conf/ssl_param.conf";
        include                 "/opt/bitnami/apps/blog.dongbumkim.com/conf/nginx-app.conf";
}

default_server 를 꼭 넣어줘야한다.

이 default_server 설정은 하나만 있어야하므로 여러 가상호스트를 쓰고 있다면 그 중 한 곳의 server 블록에만 넣어줘야한다. 만약 여러곳에 넣으면 nginx 실행시 에러난다.

SSL 설정은 다음 사이트에서도 만들 수 있다.

  • https://mozilla.github.io/server-side-tls/ssl-config-generator/