mirror of
				https://github.com/mail-in-a-box/mailinabox.git
				synced 2025-11-03 19:30:54 +00:00 
			
		
		
		
	Reviewed again the Mozilla recommendations and fixed some cipher recommendations as well as updated a few settings
This commit is contained in:
		
							parent
							
								
									4da44603d0
								
							
						
					
					
						commit
						3d3bb6f328
					
				@ -1,12 +1,15 @@
 | 
				
			|||||||
# We track the Mozilla "intermediate" compatibility TLS recommendations.
 | 
					# We track the Mozilla "intermediate" compatibility TLS recommendations.
 | 
				
			||||||
# Note that these settings are repeated in the SMTP and IMAP configuration.
 | 
					# Note that these settings are repeated in the SMTP and IMAP configuration.
 | 
				
			||||||
# ssl_protocols has moved to nginx.conf in bionic, check there for enabled protocols.
 | 
					# ssl_protocols has moved to nginx.conf in bionic, check there for enabled protocols.
 | 
				
			||||||
ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256: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_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;
 | 
				
			||||||
 | 
					ssl_session_tickets off;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ssl_dhparam STORAGE_ROOT/ssl/ffdhe4096.pem;
 | 
					ssl_dhparam STORAGE_ROOT/ssl/ffdhe4096.pem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# as recommended by http://nginx.org/en/docs/http/configuring_https_servers.html
 | 
					# as recommended by http://nginx.org/en/docs/http/configuring_https_servers.html
 | 
				
			||||||
ssl_session_cache shared:SSL:50m;
 | 
					ssl_session_cache shared:MozSSL:10m;
 | 
				
			||||||
ssl_session_timeout 1d;
 | 
					ssl_session_timeout 1d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Buffer size of 1400 bytes fits in one MTU.
 | 
					# Buffer size of 1400 bytes fits in one MTU.
 | 
				
			||||||
 | 
				
			|||||||
@ -199,9 +199,9 @@ def make_domain_config(domain, templates, ssl_certificates, env):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	# Add the HSTS header.
 | 
						# Add the HSTS header.
 | 
				
			||||||
	if hsts == "yes":
 | 
						if hsts == "yes":
 | 
				
			||||||
		nginx_conf_extra += "\tadd_header Strict-Transport-Security \"max-age=15768000\" always;\n"
 | 
							nginx_conf_extra += "\tadd_header Strict-Transport-Security \"max-age=63072000\" always;\n"
 | 
				
			||||||
	elif hsts == "preload":
 | 
						elif hsts == "preload":
 | 
				
			||||||
		nginx_conf_extra += "\tadd_header Strict-Transport-Security \"max-age=15768000; includeSubDomains; preload\" always;\n"
 | 
							nginx_conf_extra += "\tadd_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\" always;\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Add in any user customizations in the includes/ folder.
 | 
						# Add in any user customizations in the includes/ folder.
 | 
				
			||||||
	nginx_conf_custom_include = os.path.join(env["STORAGE_ROOT"], "www", safe_domain_name(domain) + ".conf")
 | 
						nginx_conf_custom_include = os.path.join(env["STORAGE_ROOT"], "www", safe_domain_name(domain) + ".conf")
 | 
				
			||||||
 | 
				
			|||||||
@ -78,14 +78,14 @@ tools/editconf.py /etc/dovecot/conf.d/10-auth.conf \
 | 
				
			|||||||
	"auth_mechanisms=plain login"
 | 
						"auth_mechanisms=plain login"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Enable SSL, specify the location of the SSL certificate and private key files.
 | 
					# Enable SSL, specify the location of the SSL certificate and private key files.
 | 
				
			||||||
# Use Mozilla's "Intermediate" recommendations at https://ssl-config.mozilla.org/#server=dovecot&server-version=2.2.33&config=intermediate&openssl-version=1.1.1,
 | 
					# Use Mozilla's "Intermediate" recommendations at https://ssl-config.mozilla.org/#server=dovecot&server-version=2.3.16&config=intermediate&openssl-version=3.0.2,
 | 
				
			||||||
# except that the current version of Dovecot does not have a TLSv1.3 setting, so we only use TLSv1.2.
 | 
					# except that the current version of Dovecot does not have a TLSv1.3 setting, so we only use TLSv1.2.
 | 
				
			||||||
tools/editconf.py /etc/dovecot/conf.d/10-ssl.conf \
 | 
					tools/editconf.py /etc/dovecot/conf.d/10-ssl.conf \
 | 
				
			||||||
	ssl=required \
 | 
						ssl=required \
 | 
				
			||||||
	"ssl_cert=<$STORAGE_ROOT/ssl/ssl_certificate.pem" \
 | 
						"ssl_cert=<$STORAGE_ROOT/ssl/ssl_certificate.pem" \
 | 
				
			||||||
	"ssl_key=<$STORAGE_ROOT/ssl/ssl_private_key.pem" \
 | 
						"ssl_key=<$STORAGE_ROOT/ssl/ssl_private_key.pem" \
 | 
				
			||||||
	"ssl_min_protocol=TLSv1.2" \
 | 
						"ssl_min_protocol=TLSv1.2" \
 | 
				
			||||||
	"ssl_cipher_list=TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256: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_cipher_list=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=no" \
 | 
						"ssl_prefer_server_ciphers=no" \
 | 
				
			||||||
	"ssl_dh=<$STORAGE_ROOT/ssl/ffdhe4096.pem"
 | 
						"ssl_dh=<$STORAGE_ROOT/ssl/ffdhe4096.pem"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -142,7 +142,7 @@ tools/editconf.py /etc/postfix/main.cf \
 | 
				
			|||||||
tools/editconf.py /etc/postfix/main.cf \
 | 
					tools/editconf.py /etc/postfix/main.cf \
 | 
				
			||||||
	smtpd_tls_mandatory_protocols="!SSLv2,!SSLv3,!TLSv1,!TLSv1.1" \
 | 
						smtpd_tls_mandatory_protocols="!SSLv2,!SSLv3,!TLSv1,!TLSv1.1" \
 | 
				
			||||||
	smtpd_tls_mandatory_ciphers=high \
 | 
						smtpd_tls_mandatory_ciphers=high \
 | 
				
			||||||
	tls_high_cipherlist=TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256: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 \
 | 
						tls_high_cipherlist=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 \
 | 
				
			||||||
	smtpd_tls_mandatory_exclude_ciphers=aNULL,DES,3DES,MD5,DES+MD5,RC4
 | 
						smtpd_tls_mandatory_exclude_ciphers=aNULL,DES,3DES,MD5,DES+MD5,RC4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prevent non-authenticated users from sending mail that requires being
 | 
					# Prevent non-authenticated users from sending mail that requires being
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user