summaryrefslogtreecommitdiff
path: root/roles/nginx/base
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-11-08 23:28:20 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-11-08 23:28:20 +0100
commit965497e2653fcf39f2082cc23d12b764c5c0dca1 (patch)
tree86c5977dcbeaee2a10dc76da4603eb283e460ecf /roles/nginx/base
parentminor formatting fix (diff)
nginx: do some tls hardening
Diffstat (limited to 'roles/nginx/base')
-rw-r--r--roles/nginx/base/defaults/main.yml5
-rw-r--r--roles/nginx/base/files/snippets/hsts.conf2
-rw-r--r--roles/nginx/base/files/snippets/tls-legacy.conf (renamed from roles/nginx/base/files/snippets/ssl.conf)1
-rw-r--r--roles/nginx/base/files/snippets/tls.conf9
-rw-r--r--roles/nginx/base/tasks/main.yml2
5 files changed, 15 insertions, 4 deletions
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/tls-legacy.conf
index d187a7c0..3dc4caf3 100644
--- a/roles/nginx/base/files/snippets/ssl.conf
+++ b/roles/nginx/base/files/snippets/tls-legacy.conf
@@ -2,7 +2,6 @@ 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;
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