OpenBSD httpd configuration for perfect TLS SSL Labs score A+ with Let's Encrypt (acme-client). Use this httpd config file. Tested on OpenBSD 6.8.
Server Key and Certificate #1
Setting | Variable |
---|---|
Subject | cryptsus.com |
Fingerprint SHA256 | a4b481ad06b99a4a32919f2d5c8f48291bdc4d15878261963aad5a5a2b6595ba |
Pin SHA256 | E9PiW8ARazeW5CmILoXgcvU3nbF2Ylj4U0HU4nm2rXc= |
Common names | cryptsus.com |
Alternative names | cryptsus.com www.cryptsus.com |
Serial Number | 03f4b8b6ae311dc8bc877674695719379e07 |
Valid from | Wed, 20 Jan 2021 22:01:02 UTC |
Valid until | Tue, 20 Apr 2021 22:01:02 UTC (expires in 30 days, 9 hours) |
Key | RSA 4096 bits (e 65537) |
Weak key (Debian) | No |
Issuer | R3 AIA http://r3.i.lencr.org/ |
Signature algorithm | SHA256withRSA |
Extended Validation | No |
Certificate Transparency | Yes (certificate) |
OCSP Must Staple | No |
Revocation information | OCSP http://r3.o.lencr.org |
Revocation status | Good (not revoked) |
DNS CAA | Yes letsencrypt.org flags:0 |
Trusted | Yes Mozilla Apple Android Java Windows |
Additional Certificates (if supplied)
Setting | Variable |
---|---|
Subject R3 Fingerprint SHA256 | 730c1bdcd85f57ce5dc0bba733e5f1ba5a925b2a771d640a26f7a454224dad3b |
Pin SHA256 | jQJTbIh0grw0/1TkHSumWb+Fs0Ggogr621gT3PvPKG0= |
Valid until | Wed, 29 Sep 2021 19:21:40 UTC (expires in 6 months and 8 days) |
Key RSA | 2048 bits (e 65537) |
Issuer | DST Root CA X3 |
Signature algorithm | SHA256withRSA |
Protocols
Setting | Variable |
---|---|
TLS 1.3 | Yes |
TLS 1.2 | Yes |
TLS 1.1 | No |
TLS 1.0 | No |
SSL 3 | No |
SSL 2 | No |
Cipher Suites
TLS 1.3 (suites in server-preferred order)
TLS_AES_256_GCM_SHA384 (0x1302) ECDH secp384r1 (eq. 7680 bits RSA) FS 256
TLS_CHACHA20_POLY1305_SHA256 (0x1303) ECDH secp384r1 (eq. 7680 bits RSA) FS 256
TLS_AES_128_GCM_SHA256 (0x1301) ECDH secp384r1 (eq. 7680 bits RSA) FS 128
TLS 1.2 (suites in server-preferred order)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp384r1 (eq. 7680 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) ECDH secp384r1 (eq. 7680 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp384r1 (eq. 7680 bits RSA) FS 128
Handshake Simulation
Android 4.4.2 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Android 5.0.0 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDH secp384r1 FS
Android 6.0 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDH secp384r1 FS
Android 7.0 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Android 8.0 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Android 8.1 - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Android 9.0 - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
BingPreview Jan 2015 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Chrome 49 / XP SP3 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ECDH secp384r1 FS
Chrome 69 / Win 7 R - TLS 1.2 TLS_AES_256_GCM_SHA384 FS
Chrome 70 / Win 10 - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Chrome 80 / Win 10 R - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Firefox 31.3.0 ESR / Win 7 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDH secp384r1 FS
Firefox 47 / Win 7 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ECDH secp384r1 FS
Firefox 49 / XP SP3 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Firefox 62 / Win 7 R - TLS 1.2 TLS_AES_256_GCM_SHA384 FS
Firefox 73 / Win 10 R - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Googlebot Feb 2018 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
IE 11 / Win 7 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
IE 11 / Win 8.1 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
IE 11 / Win Phone 8.1 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDH secp384r1 FS
IE 11 / Win Phone 8.1 Update R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
IE 11 / Win 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Edge 15 / Win 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Edge 16 / Win 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Edge 18 / Win 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Edge 13 / Win Phone 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Java 8u161 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Java 11.0.3 - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Java 12.0.1 - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
OpenSSL 1.0.1l R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
OpenSSL 1.0.2s R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
OpenSSL 1.1.0k R - TLS 1.2 TLS_AES_256_GCM_SHA384 FS
OpenSSL 1.1.1c R - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 6 / iOS 6.0.1 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
Safari 7 / iOS 7.1 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
Safari 7 / OS X 10.9 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
Safari 8 / iOS 8.4 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
Safari 8 / OS X 10.10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDH secp384r1 FS
Safari 9 / iOS 9 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 9 / OS X 10.11 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 10 / iOS 10 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 10 / OS X 10.12 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 12.1.2 / MacOS 10.14.6 Beta R - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Safari 12.1.1 / iOS 12.3.1 R - TLS 1.3 TLS_AES_256_GCM_SHA384 ECDH secp384r1 FS
Apple ATS 9 / iOS 9 R RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Yahoo Slurp Jan 2015 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
YandexBot Jan 2015 RSA 4096 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDH secp384r1 FS
Protocol Details
Setting | Variable |
---|---|
DROWN | No, server keys and hostname not seen elsewhere with SSLv2 |
Secure Renegotiation | Supported |
Secure Client-Initiated Renegotiation | No |
Insecure Client-Initiated Renegotiation | No |
BEAST attack | Mitigated server-side |
POODLE (SSLv3) | No, SSL 3 not supported |
POODLE (TLS) | No |
Zombie POODLE | No TLS 1.2 : 0xc014 |
GOLDENDOODLE | No TLS 1.2 : 0xc014 |
OpenSSL 0-Length | No TLS 1.2 : 0xc014 |
Sleeping POODLE | No TLS 1.2 : 0xc014 |
Downgrade attack prevention | Yes, TLS_FALLBACK_SCSV supported |
SSL/TLS compression | No |
RC4 | No |
Heartbeat (extension) | No |
Heartbleed (vulnerability) | No |
Ticketbleed (vulnerability) | No |
OpenSSL CCS vuln. (CVE-2014-0224) | No |
OpenSSL Padding Oracle vuln. (CVE-2016-2107) | No |
ROBOT (vulnerability) No (more info) | No |
Forward Secrecy | Yes (with most browsers) ROBUST |
ALPN | No |
NPN | No |
Session resumption (caching) | No (IDs empty) |
Session resumption (tickets) | Yes |
OCSP stapling | Yes |
Strict Transport Security (HSTS) | Yes max-age=31536000; includeSubDomains; preload |
HSTS Preloading | Chrome Edge Firefox IE |
Public Key Pinning (HPKP) | No |
Public Key Pinning Report-Only | No |
Public Key Pinning (Static) | No |
Long handshake intolerance | No |
TLS extension intolerance | No |
TLS version intolerance | No |
Incorrect SNI alerts | No |
Uses common DH primes | No, DHE suites not supported |
DH public server param (Ys) reuse | No, DHE suites not supported |
ECDH public server param reuse | No |
Supported Named Groups | secp384r1 |
SSL 2 handshake compatibility | No |
0-RTT enabled | Yes |
Miscellaneous
Setting | Variable |
---|---|
Test date | Sun, 21 Mar 2021 12:41:30 UTC |
Test duration | 81.946 seconds |
HTTP status code | 200 |
HTTP server signature | OpenBSD httpd |
Server hostname | cryptsus.com |
Berkeley Software Distribution (BSD)
Jeroen van Kessel | cryptsus.com - we craft cyber security solutions