]> TLD Linux GIT Repositories - packages/lighttpd.git/blobdiff - ssl.conf
- merged 1.4.48 from PLD, TLDized
[packages/lighttpd.git] / ssl.conf
diff --git a/ssl.conf b/ssl.conf
new file mode 100644 (file)
index 0000000..e9c1a21
--- /dev/null
+++ b/ssl.conf
@@ -0,0 +1,55 @@
+# lighttpd support for SSLv2 and SSLv3
+#
+# Documentation: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL
+# https://www.ssllabs.com/projects/best-practices/index.html
+# https://cipherli.st/
+# https://wiki.mozilla.org/Security/Server_Side_TLS
+# https://mozilla.github.io/server-side-tls/ssl-config-generator/
+
+$SERVER["socket"] == ":443" {
+       protocol = "https://"
+       ssl.engine = "enable"
+       ssl.disable-client-renegotiation = "enable"
+
+       # ssl.pemfile: path to the PEM file for SSL support
+       # (Should contain both the private key and the certificate)
+       ## If you have a .crt and a .key file, cat them together into a single PEM file:
+       ## $ cat lighttpd.key lighttpd.crt > lighttpd.pem
+       ssl.pemfile = "/etc/lighttpd/ssl/server.pem"
+       # ssl.ca-file: path to the CA file for support of chained certificates
+#      ssl.ca-file = "/etc/lighttpd/ssl/chain.pem"
+
+       # for DH/DHE ciphers, dhparam should be >= 2048-bit
+       # Generate with:
+       # openssl dhparam -out dh2048.pem -outform PEM -2 2048
+#      ssl.dh-file = "/etc/lighttpd/ssl/dhparam.pem"
+       # ECDH/ECDHE ciphers curve strength (see `openssl ecparam -list_curves`)
+#      ssl.ec-curve = "secp384r1"
+       # Compression is by default off at compile-time, but use if needed
+#      ssl.use-compression = "disable"
+
+       # Environment flag for HTTPS enabled
+#      setenv.add-environment = (
+#              "HTTPS" => "on"
+#      )
+
+       # intermediate configuration, tweak to your needs
+       ssl.use-sslv2 = "disable"
+       ssl.use-sslv3 = "disable"
+       ssl.honor-cipher-order = "enable"
+       # If you know you have RSA keys (standard), you can use:
+       #ssl.cipher-list = "aRSA+HIGH !3DES +kEDH +kRSA !kSRP !kPSK"
+       # The more generic version (without the restriction to RSA keys) is
+       #ssl.cipher-list = "HIGH !aNULL !3DES +kEDH +kRSA !kSRP !kPSK"
+       # List from https://mozilla.github.io/server-side-tls/ssl-config-generator/
+       ssl.cipher-list = "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"
+
+       # HSTS(15768000 seconds = 6 months)
+#      setenv.add-response-header = (
+#              "Strict-Transport-Security" => "max-age=15768000;"
+#      )
+
+       $HTTP["useragent"] =~ "MSIE" {
+               server.max-keep-alive-requests = 0
+       }
+}