Guest session
Check Detail

berlin.de · DNS

Passed Grade A
100.0%
Hostname berlin.de
Check name DNS
last run 06/11/2025 16:20
Result
Incomplete Grade B 84.6%

Result Detail

DNS
Host Type Answer TTL
109.68.230.145
2a00:13c8:f5::393:8a4d:2

Result Detail

HEADER
Alerts
  • Strict-Transport-Security: HSTS active but add includeSubDomains; consider preload
  • Permissions-Policy: Permissions-Policy missing
  • Cross-Origin-Opener-Policy: Header missing
  • Cross-Origin-Embedder-Policy: Header missing
  • Cross-Origin-Resource-Policy: Header missing
  • Cache-Control: Cache-Control missing restrictive directives
  • Expect-CT: Expect-CT missing
  • X-Permitted-Cross-Domain-Policies: Header missing
  • Access-Control-Allow-Origin: Access-Control-Allow-Origin missing
  • Origin-Agent-Cluster: Header missing
Normalized headers
date Thu, 06 Nov 2025 15:18:41 GMT
content-type text/html; charset=UTF-8
content-security-policy default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests; upgrade-insecure-requests
vary Accept-Encoding
age 88
referrer-policy strict-origin-when-cross-origin
x-content-type-options nosniff
x-frame-options SAMEORIGIN
x-xss-protection 1; mode=block
strict-transport-security max-age=31536000
accept-ranges bytes
Transport
Check name Status Actual Expected Detail Severity Recommendation
Strict-Transport-Security ⚠️ Warning max-age=31536000 max-age>=15768000; includeSubDomains; preload HSTS active but add includeSubDomains; consider preload Critical Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Expect-CT ❌ Missing enforce; max-age>=86400 Expect-CT missing Medium Expect-CT: enforce, max-age=86400, report-uri="https://report.example.com"
Content Security
Check name Status Actual Expected Detail Severity Recommendation
Content-Security-Policy ✅ Passed default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests; upgrade-insecure-requests default-src 'self'; frame-ancestors 'none' default-src 'self'; frame-ancestors 'none' Critical Content-Security-Policy: default-src 'self'; frame-ancestors 'none'
MIME
Check name Status Actual Expected Detail Severity Recommendation
X-Content-Type-Options ✅ Passed nosniff nosniff Value matches recommendation High X-Content-Type-Options: nosniff
Framing
Check name Status Actual Expected Detail Severity Recommendation
X-Frame-Options ✅ Passed SAMEORIGIN DENY or SAMEORIGIN Value accepted High X-Frame-Options: DENY
Privacy
Check name Status Actual Expected Detail Severity Recommendation
Referrer-Policy ✅ Passed strict-origin-when-cross-origin strict-origin-when-cross-origin / same-origin strict-origin-when-cross-origin Medium Referrer-Policy: strict-origin-when-cross-origin
Browser Features
Check name Status Actual Expected Detail Severity Recommendation
Permissions-Policy ❌ Missing camera=(); geolocation=(); microphone=() Permissions-Policy missing Medium Permissions-Policy: camera=(), geolocation=(), microphone=()
Cross-Origin
Check name Status Actual Expected Detail Severity Recommendation
Cross-Origin-Opener-Policy ❌ Missing same-origin Header missing High Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy ❌ Missing require-corp Header missing High Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy ❌ Missing same-origin Header missing Medium Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster ❌ Missing ?1 Header missing Low Origin-Agent-Cluster: ?1
Caching
Check name Status Actual Expected Detail Severity Recommendation
Cache-Control ❌ Missing no-store, private, max-age=0 Cache-Control missing restrictive directives High Cache-Control: no-store, private, max-age=0
Legacy
Check name Status Actual Expected Detail Severity Recommendation
X-Permitted-Cross-Domain-Policies ❌ Missing none Header missing Low X-Permitted-Cross-Domain-Policies: none
CORS
Check name Status Actual Expected Detail Severity Recommendation
Access-Control-Allow-Origin ❌ Missing Scoped origin (no wildcard) Access-Control-Allow-Origin missing Medium Access-Control-Allow-Origin: https://app.example.com
Information Disclosure
Check name Status Actual Expected Detail Severity Recommendation
Server ✅ Passed Header removed or generic Header not exposed High Remove Server header or set to a generic token
X-Powered-By ✅ Passed Header removed Header not exposed High Remove X-Powered-By header
X-AspNet-Version ✅ Passed Header removed Header not exposed Medium Remove framework version headers
Raw headers
HTTP/2 200 
date: Thu, 06 Nov 2025 15:18:41 GMT
content-type: text/html; charset=UTF-8
content-security-policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests
vary: Accept-Encoding
age: 88
content-security-policy: upgrade-insecure-requests
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
strict-transport-security: max-age=31536000
accept-ranges: bytes

Result Detail

SSL
Check name Status Value
certificate chain is complete ✅ Passed 3
root CA is trusted ✅ Passed Trusted
cert valid for ✅ Passed 24
chain certs are valid until ✅ Passed 30.11.2025
CN matches Domainname ✅ Passed berlin.de
certificate subject ✅ Passed CN=berlin.de
certificate issuer ✅ Passed C=US, O=Let's Encrypt, CN=E8
signature algorithm ✅ Passed ecdsa-with-SHA384
TLS protocol ✅ Passed TLSv1.3 TLS_CHACHA20_POLY1305_SHA256
Subject Alternative Names ✅ Passed *.berlin.de, *.berlinonline.de, *.berlinonline.net, *.prod.kube11.berlinonline.net, *.service.berlin.de, *.styleguide.berlin.de, berlin.de, berlinonline.net
Public Key ✅ Passed EC 256
Certificate chain
# Common name Issuer Valid until CA
0 berlin.de C=US, O=Let's Encrypt, CN=E8 30.11.2025 11:45:53 No
1 berlin.de C=US, O=Let's Encrypt, CN=E8 30.11.2025 11:45:53 No
2 E8 C=US, O=Internet Security Research Group, CN=ISRG Root X1 13.03.2027 00:59:59 Yes
TLS details
Negotiated protocol TLSv1.3
Cipher suite TLS_CHACHA20_POLY1305_SHA256 (256 bit)
Cipher version TLSv1.3
Perfect Forward Secrecy Attention
Earliest chain expiry 30.11.2025 11:45
Fingerprints
SHA-256 B7:9E:7E:38:05:0C:11:03:42:1E:6A:17:C3:55:70:8E:0F:C4:F9:01:82:03:1E:4C:35:47:63:8A:78:BC:67:18
SHA-1 17:04:E8:96:91:DD:A7:00:B0:01:CA:4A:DC:8D:48:00:F5:24:1C:7C
Revocation
OCSP URLs
CRL URLs
Full Name: URI:http://e8.c.lencr.org/35.crl
Issuer URLs (AIA)
http://e8.i.lencr.org/
OCSP Must-Staple No
Trust evaluation

Attempted: Yes

Trusted: Yes

OpenSSL diagnostic command
openssl s_client -connect berlin.de:443 -servername berlin.de

Result Detail

WAF
Sign up to use!
Ownership verification required

Real WAF results become available after signing up. Until then we show you a small teaser from the imagination department.

  • Shield level Mythisch
  • Watchers Gremlins im Standby
  • Last attack Story folgt nach Registrierung