|
@@ -45,6 +45,10 @@ SSL_PROTOCOLS="TLSv1 TLSv1.1 TLSv1.2"
|
45
|
45
|
# See https://wiki.mozilla.org/Security/Server_Side_TLS
|
46
|
46
|
SSL_CIPHERS="ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS"
|
47
|
47
|
|
|
48
|
+# some mobile apps (eg. NextCloud) have not very good cipher compatibility.
|
|
49
|
+# These ciphers can be used for those cases
|
|
50
|
+SSL_CIPHERS_MOBILE="ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA"
|
|
51
|
+
|
48
|
52
|
NGINX_ENSITE_REPO="https://github.com/perusio/nginx_ensite"
|
49
|
53
|
NGINX_ENSITE_COMMIT='fa4d72ce1c0a490442c8474e9c8dc21ed52c93d0'
|
50
|
54
|
|
|
@@ -123,6 +127,7 @@ function nginx_http_redirect {
|
123
|
127
|
function nginx_ssl {
|
124
|
128
|
# creates the SSL/TLS section for a website
|
125
|
129
|
domain_name=$1
|
|
130
|
+ mobile_ciphers=$2
|
126
|
131
|
filename=/etc/nginx/sites-available/$domain_name
|
127
|
132
|
|
128
|
133
|
echo ' ssl_stapling off;' >> $filename
|
|
@@ -136,7 +141,12 @@ function nginx_ssl {
|
136
|
141
|
echo ' ssl_session_timeout 60m;' >> $filename
|
137
|
142
|
echo ' ssl_prefer_server_ciphers on;' >> $filename
|
138
|
143
|
echo " ssl_protocols $SSL_PROTOCOLS;" >> $filename
|
139
|
|
- echo " ssl_ciphers '$SSL_CIPHERS';" >> $filename
|
|
144
|
+ if [ $mobile_ciphers ]; then
|
|
145
|
+ echo " # Mobile compatible ciphers" >> $filename
|
|
146
|
+ echo " ssl_ciphers '$SSL_CIPHERS_MOBILE';" >> $filename
|
|
147
|
+ else
|
|
148
|
+ echo " ssl_ciphers '$SSL_CIPHERS';" >> $filename
|
|
149
|
+ fi
|
140
|
150
|
echo " add_header Content-Security-Policy \"default-src https:; script-src https: 'unsafe-inline'; style-src https: 'unsafe-inline'\";" >> $filename
|
141
|
151
|
echo ' add_header X-XSS-Protection "1; mode=block";' >> $filename
|
142
|
152
|
echo ' add_header X-Robots-Tag none;' >> $filename
|