forked from AFPy/infra
Update SSL config.
While proofreading the config, and checking if it was up to date according to: - Mozilla recommandations - SSLtest - testssl.sh I spotted an issue in the HSTS header: $ curl -I https://afpy.org [...] Strict-Transport-Security: max-age=63072000; always the `always` part is an nginx config token, not a cookie value. So I simplified the conf so we can more easily copy/paste from Mozilla generator, which obviously removed the bug.
This commit is contained in:
parent
27e9a4b749
commit
b2af1120f9
|
@ -17,12 +17,7 @@ Optional variables are:
|
|||
|
||||
- `nginx_owner`: If a unix user has to be created for this project.
|
||||
- `nginx_path`: To create a directory owned by `nginx_owner`.
|
||||
- `ssl_ciphers`: [Specifies the enabled ciphers](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers).
|
||||
- `ssl_protocols`: [Enables the specified protocols.](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols)
|
||||
- `ssl_prefer_server_ciphers`: [Specifies that server ciphers should be preferred over client ciphers when using the SSLv3 and TLS protocols.](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers)
|
||||
- `ssl_session_cache`: [Sets the types and sizes of caches that store session parameters.](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache).
|
||||
- `HSTS_header`: HTTP header to inject.
|
||||
|
||||
- `certbot_authenticator`: Defaults to `gandi`, can use `nginx`.
|
||||
|
||||
### Author Information
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
---
|
||||
ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
|
||||
ssl_protocols: "TLSv1.2 TLSv1.3"
|
||||
|
||||
certbot_authenticator: gandi
|
||||
ssl_prefer_server_ciphers: "off"
|
||||
ssl_session_cache: "shared:ssl_session_cache:10m"
|
||||
HSTS_header: 'Strict-Transport-Security "max-age=63072000; always"'
|
||||
|
||||
nginx_conf: |
|
||||
server
|
||||
{
|
||||
|
|
|
@ -1,21 +1,27 @@
|
|||
# Inspired from
|
||||
# https://ssl-config.mozilla.org/#server=nginx&version=1.14.2&config=intermediate&openssl=1.1.1d&guideline=5.6
|
||||
ssl_ciphers "{{ ssl_ciphers }}";
|
||||
ssl_protocols {{ ssl_protocols }};
|
||||
ssl_prefer_server_ciphers {{ ssl_prefer_server_ciphers }};
|
||||
# generated 2023-01-13, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration
|
||||
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6
|
||||
|
||||
ssl_session_cache {{ ssl_session_cache }};
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
|
||||
ssl_session_tickets off;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/{{ nginx_domain }}/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/{{ nginx_domain }}/privkey.pem;
|
||||
|
||||
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
|
||||
ssl_dhparam /etc/ssl/certs/dhparam.pem;
|
||||
|
||||
# intermediate configuration
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
||||
|
||||
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
|
||||
add_header Strict-Transport-Security "max-age=63072000" always;
|
||||
|
||||
# OCSP stapling
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
|
||||
|
||||
{% if HSTS_header %}
|
||||
add_header {{ HSTS_header }};
|
||||
{% endif %}
|
||||
# verify chain of trust of OCSP response using Root CA and Intermediate certs
|
||||
ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
|
||||
|
|
Loading…
Reference in New Issue