From 965497e2653fcf39f2082cc23d12b764c5c0dca1 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 8 Nov 2019 23:28:20 +0100 Subject: nginx: do some tls hardening --- roles/nginx/base/defaults/main.yml | 5 ++++- roles/nginx/base/files/snippets/hsts.conf | 2 +- roles/nginx/base/files/snippets/ssl.conf | 10 ---------- roles/nginx/base/files/snippets/tls-legacy.conf | 9 +++++++++ roles/nginx/base/files/snippets/tls.conf | 9 +++++++++ roles/nginx/base/tasks/main.yml | 2 +- 6 files changed, 24 insertions(+), 13 deletions(-) delete mode 100644 roles/nginx/base/files/snippets/ssl.conf create mode 100644 roles/nginx/base/files/snippets/tls-legacy.conf create mode 100644 roles/nginx/base/files/snippets/tls.conf (limited to 'roles/nginx/base') diff --git a/roles/nginx/base/defaults/main.yml b/roles/nginx/base/defaults/main.yml index f460fa91..2cd84e5a 100644 --- a/roles/nginx/base/defaults/main.yml +++ b/roles/nginx/base/defaults/main.yml @@ -5,7 +5,10 @@ nginx_conf_d_files: - connection-upgrade nginx_snippets: - - ssl + - tls + - tls-legacy - hsts - proxy-nobuff - proxy-forward-headers + +nginx_dhparam_size: 2048 diff --git a/roles/nginx/base/files/snippets/hsts.conf b/roles/nginx/base/files/snippets/hsts.conf index 4ca8396e..e0723502 100644 --- a/roles/nginx/base/files/snippets/hsts.conf +++ b/roles/nginx/base/files/snippets/hsts.conf @@ -1 +1 @@ -add_header Strict-Transport-Security max-age=15768000; +add_header Strict-Transport-Security max-age=15768000 always; diff --git a/roles/nginx/base/files/snippets/ssl.conf b/roles/nginx/base/files/snippets/ssl.conf deleted file mode 100644 index d187a7c0..00000000 --- a/roles/nginx/base/files/snippets/ssl.conf +++ /dev/null @@ -1,10 +0,0 @@ -ssl_protocols TLSv1 TLSv1.1 TLSv1.2; -ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AES:!ADH:!AECDH:!MD5; -ssl_prefer_server_ciphers on; - -# openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048 -ssl_dhparam /etc/ssl/dhparams.pem; - -ssl_session_cache shared:SSL:10m; -ssl_session_timeout 10m; -ssl_session_tickets off; diff --git a/roles/nginx/base/files/snippets/tls-legacy.conf b/roles/nginx/base/files/snippets/tls-legacy.conf new file mode 100644 index 00000000..3dc4caf3 --- /dev/null +++ b/roles/nginx/base/files/snippets/tls-legacy.conf @@ -0,0 +1,9 @@ +ssl_protocols TLSv1 TLSv1.1 TLSv1.2; +ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AES:!ADH:!AECDH:!MD5; +ssl_prefer_server_ciphers on; + +ssl_dhparam /etc/ssl/dhparams.pem; + +ssl_session_cache shared:SSL:10m; +ssl_session_timeout 10m; +ssl_session_tickets off; diff --git a/roles/nginx/base/files/snippets/tls.conf b/roles/nginx/base/files/snippets/tls.conf new file mode 100644 index 00000000..46d43ecb --- /dev/null +++ b/roles/nginx/base/files/snippets/tls.conf @@ -0,0 +1,9 @@ +ssl_protocols TLSv1.2 TLSv1.3; +ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES128:!RSA:!ADH:!AECDH:!MD5; +ssl_prefer_server_ciphers on; + +ssl_dhparam /etc/ssl/dhparams.pem; + +ssl_session_cache shared:SSL:10m; +ssl_session_timeout 10m; +ssl_session_tickets off; diff --git a/roles/nginx/base/tasks/main.yml b/roles/nginx/base/tasks/main.yml index a975ce52..a434b708 100644 --- a/roles/nginx/base/tasks/main.yml +++ b/roles/nginx/base/tasks/main.yml @@ -27,5 +27,5 @@ - name: generate Diffie-Hellman parameters openssl_dhparam: path: /etc/ssl/dhparams.pem - size: 2048 + size: "{{ nginx_dhparam_size }}" notify: restart nginx -- cgit v1.2.3