X-Git-Url: https://git.tld-linux.org/?p=packages%2Flighttpd.git;a=blobdiff_plain;f=ssl.conf;fp=ssl.conf;h=e9c1a2108ed7accfda7d42304a6e812035df4ac3;hp=0000000000000000000000000000000000000000;hb=8239b3691d1ae536833b6d53a2efd289956ccbcd;hpb=2bc378a1b82f8e82ab66bd2a656282134a6d05e0 diff --git a/ssl.conf b/ssl.conf new file mode 100644 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 + } +}