| 1. General Results, most used to calculate the result |
| A | name "fabercityshop.de" is domain, public suffix is ".de", top-level-domain is ".de", top-level-domain-type is "country-code", Country is Germany, tld-manager is "DENIC eG", num .de-domains preloaded: 11085 (complete: 276475)
|
| A | Good: All ip addresses are public addresses
|
| A | Good: Minimal 2 ip addresses per domain name found: fabercityshop.de has 2 different ip addresses (authoritative).
|
| A | Good: Minimal 2 ip addresses per domain name found: www.fabercityshop.de has 2 different ip addresses (authoritative).
|
| A | Good: Ipv4 and Ipv6 addresses per domain name found: fabercityshop.de has 1 ipv4, 1 ipv6 addresses
|
| A | Good: Ipv4 and Ipv6 addresses per domain name found: www.fabercityshop.de has 1 ipv4, 1 ipv6 addresses
|
| A | Good: No asked Authoritative Name Server had a timeout
|
| A | Good: destination is https
|
| A | Good - only one version with Http-Status 200
|
| A | Good: one preferred version: non-www is preferred
|
| A | Good: No cookie sent via http.
|
| A | Good: HSTS has preload directive
|
| Warning: HSTS preload sent, but not in Preload-List. Never send a preload directive if you don't know what preload means. Check https://hstspreload.org/ to learn the basics about the Google-Preload list. If you send a preload directive, you should **immediately** add your domain to the HSTS preload list via https://hstspreload.org/ . If Google accepts the domain, so the status is "pending": Note that new entries are hardcoded into the Chrome source code and can take several months before they reach the stable version. So you will see this message some months. If you don't want that or if you don't understand "preload", but if you send a preload directive and if you have correct A-redirects, everybody can add your domain to that list. Then you may have problems, it's not easy to undo that. So if you don't want your domain preloaded, remove the preload directive.
|
| A |
|
| HSTS-Preload-Status: Pending. Submission of the domain successful, domain is pending. Check https://hstspreload.org/ to learn some basics about the Google-Preload-List.
|
| A | Good: All urls with http status 200/404 have a complete Content-Type header (MediaType / MediaSubType + correct charset)
|
| A | http://fabercityshop.de/ 87.106.29.61
| https://fabercityshop.de/
| Correct redirect http - https with the same domain name
|
| A | http://fabercityshop.de/ 2a02:2479:2d:9a00::1
| https://fabercityshop.de/
| Correct redirect http - https with the same domain name
|
| A | http://www.fabercityshop.de/ 87.106.29.61
| https://www.fabercityshop.de/
| Correct redirect http - https with the same domain name
|
| A | http://www.fabercityshop.de/ 2a02:2479:2d:9a00::1
| https://www.fabercityshop.de/
| Correct redirect http - https with the same domain name
|
| N | www.fabercityshop.de:25
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
| N | www.fabercityshop.de:587
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
| X | Fatal error: Nameserver doesn't support TCP connection: f.nic.de: Fatal error (-14). Details: Unable to read data from the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen.. - Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
|
| A | Good: More then one ip address per domain name found, checking all ip addresses the same http status and the same certificate found: Domain fabercityshop.de, 2 ip addresses.
|
| A | Good: More then one ip address per domain name found, checking all ip addresses the same http status and the same certificate found: Domain www.fabercityshop.de, 2 ip addresses.
|
| Info: Checking the ip addresses of that domain name not exact one certificate found. So it's impossible to check if that domain requires Server Name Indication (SNI).: Domain fabercityshop.de, 2 ip addresses.
|
| Info: Checking the ip addresses of that domain name not exact one certificate found. So it's impossible to check if that domain requires Server Name Indication (SNI).: Domain www.fabercityshop.de, 2 ip addresses.
|
| A | Good: _mta-sts TXT record found (mta-sts: Mail Transfer Agent Strict Transport Security - see RFC 8461). Domainname: _mta-sts.fabercityshop.de
|
| A | Good: _mta-sts TXT record is valid.
|
| A | Good: Subdomain mta-sts found: Subdomain-name: mta-sts.fabercityshop.de, ip : 87.106.29.61
|
| A | Good: Subdomain mta-sts found: Subdomain-name: mta-sts.fabercityshop.de, ip : 2a02:2479:2d:9a00::1
|
| A | Good: Certificate of subdomain is valid. mta-sts.fabercityshop.de, ip : 87.106.29.61
|
| A | Good: Certificate of subdomain is valid. mta-sts.fabercityshop.de, ip : 2a02:2479:2d:9a00::1
|
| A | Good: /.well-known/mta-sts.txt with http status 200 found. Complete path: https://mta-sts.fabercityshop.de/.well-known/mta-sts.txt - ip : 87.106.29.61
|
| A | Good: /.well-known/mta-sts.txt with http status 200 found. Complete path: https://mta-sts.fabercityshop.de/.well-known/mta-sts.txt - ip : 2a02:2479:2d:9a00::1
|
| A | Good: mta-sts.txt has the required names "version", "mode", "max_age". mta-sts.fabercityshop.de, ip : 87.106.29.61
|
| A | Good: mta-sts.txt has the required names "version", "mode", "max_age". mta-sts.fabercityshop.de, ip : 2a02:2479:2d:9a00::1
|
| A | Good: Minimal one mx definition found. mta-sts.fabercityshop.de, ip : 87.106.29.61
|
| A | Good: Minimal one mx definition found. mta-sts.fabercityshop.de, ip : 2a02:2479:2d:9a00::1
|
| A | Excellent: Complete and valid MTA-STS found!
|
| 2. Header-Checks |
| A | fabercityshop.de 87.106.29.61
| Content-Security-Policy
| Ok: Header without syntax errors found: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'
|
| A |
|
| Good: default-src directive only with 'none' or 'self', additional sources are blocked. connect-src, script-src
|
| A |
|
| Good: default-src without 'unsafe-inline' or 'unsave-eval'. connect-src, script-src
|
| A |
|
| Good: form-action directive found. That reduces the risk sending data to unwanted domains. form-action is a navigation-directive, so default-src isn't used.
|
| A |
|
| Good: frame-ancestors directive found. That limits pages who are allowed to use this page in a frame / iframe / object / embed / applet. frame-ancestors is a navigation-directive, so default-src isn't used.
|
| A |
|
| Good: base-uri directive found. That limits the URLs which can be used in a document's <base> element. Because it's a document directive, default-src isn't used, so an own directive is required.
|
| A |
|
| Good: object-src only with 'none' or 'self' found, no scheme, no other urls. That blocks object / embed / applet - elements.
|
| A |
|
| Good: script-src without 'unsafe-inline' and 'unsafe-eval' found. That's the recommended configuration.
|
| A |
|
| Good: script-src without * and a scheme found.
|
| A |
|
| Good: script-src without data: schema found. Why is this important? The data: schema allows hidden code injection. Insert <script src='data:application/javascript;base64,YWxlcnQoJ1hTUycpOw=='></script> in your page and see what happens.
|
| A |
|
| Good: frame-src without data: defined or frame-src missing and the default-src used as fallback not allows the data: schema. That blocks hidden code injection. Insert <iframe src="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PHA+YmVmb3JlPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmFsZXJ0KCdYU1MnKTwvc2NyaXB0PjxwPmFmdGVyPC9ib2R5PjwvaHRtbD4="></iframe> in your page and see what happens.
|
| C |
|
| Info: default-src and some other fetch directives have the same list of values. Remove the other fetch directive, default-src is used as fallback. Directives to remove: connect-src, script-src
|
| A |
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
| A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
| A |
| Permissions-Policy
| Ok: Header without syntax errors found: geolocation=(), microphone=(), camera=()
|
| A |
| Cross-Origin-Opener-Policy
| Ok: Header without syntax errors found: same-origin
|
| A |
| Cross-Origin-Resource-Policy
| Ok: Header without syntax errors found: same-origin
|
| A | fabercityshop.de 2a02:2479:2d:9a00::1
| Content-Security-Policy
| Ok: Header without syntax errors found: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'
|
| A |
|
| Good: default-src directive only with 'none' or 'self', additional sources are blocked. connect-src, script-src
|
| A |
|
| Good: default-src without 'unsafe-inline' or 'unsave-eval'. connect-src, script-src
|
| A |
|
| Good: form-action directive found. That reduces the risk sending data to unwanted domains. form-action is a navigation-directive, so default-src isn't used.
|
| A |
|
| Good: frame-ancestors directive found. That limits pages who are allowed to use this page in a frame / iframe / object / embed / applet. frame-ancestors is a navigation-directive, so default-src isn't used.
|
| A |
|
| Good: base-uri directive found. That limits the URLs which can be used in a document's <base> element. Because it's a document directive, default-src isn't used, so an own directive is required.
|
| A |
|
| Good: object-src only with 'none' or 'self' found, no scheme, no other urls. That blocks object / embed / applet - elements.
|
| A |
|
| Good: script-src without 'unsafe-inline' and 'unsafe-eval' found. That's the recommended configuration.
|
| A |
|
| Good: script-src without * and a scheme found.
|
| A |
|
| Good: script-src without data: schema found. Why is this important? The data: schema allows hidden code injection. Insert <script src='data:application/javascript;base64,YWxlcnQoJ1hTUycpOw=='></script> in your page and see what happens.
|
| A |
|
| Good: frame-src without data: defined or frame-src missing and the default-src used as fallback not allows the data: schema. That blocks hidden code injection. Insert <iframe src="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PHA+YmVmb3JlPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmFsZXJ0KCdYU1MnKTwvc2NyaXB0PjxwPmFmdGVyPC9ib2R5PjwvaHRtbD4="></iframe> in your page and see what happens.
|
| C |
|
| Info: default-src and some other fetch directives have the same list of values. Remove the other fetch directive, default-src is used as fallback. Directives to remove: connect-src, script-src
|
| A |
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
| A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
| A |
| Permissions-Policy
| Ok: Header without syntax errors found: geolocation=(), microphone=(), camera=()
|
| A |
| Cross-Origin-Opener-Policy
| Ok: Header without syntax errors found: same-origin
|
| A |
| Cross-Origin-Resource-Policy
| Ok: Header without syntax errors found: same-origin
|
| B | fabercityshop.de 87.106.29.61
| Cross-Origin-Embedder-Policy
| Info: Missing Header
|
| B | fabercityshop.de 2a02:2479:2d:9a00::1
| Cross-Origin-Embedder-Policy
| Info: Missing Header
|
| 3. DNS- and NameServer - Checks |
| A | Info:: 7 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 2 Name Servers.
|
| A | Info:: 7 Queries complete, 3 with IPv6, 4 with IPv4.
|
| Warning: Only some DNS Queries done via ipv6. IPv6 is the future, so the name servers of your name servers should have ipv6 addresses.
|
| Ok (4 - 8):: An average of 3.5 queries per domain name server required to find all ip addresses of all name servers.
|
| A | Info:: 2 different Name Servers found: ns3.stratoserver.net, ns4.stratoserver.net, 2 Name Servers included in Delegation: ns3.stratoserver.net, ns4.stratoserver.net, 2 Name Servers included in 1 Zone definitions: ns3.stratoserver.net, ns4.stratoserver.net, 1 Name Servers listed in SOA.Primary: ns4.stratoserver.net.
|
| A | Good: Only one SOA.Primary Name Server found.: ns4.stratoserver.net.
|
| A | Good: SOA.Primary Name Server included in the delegation set.: ns4.stratoserver.net.
|
| A | Good: Consistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone. Ordered list of name servers: ns3.stratoserver.net, ns4.stratoserver.net
|
| A | Good: All Name Server Domain Names have a Public Suffix.
|
| A | Good: All Name Server Domain Names ending with a Public Suffix have minimal one IPv4- or IPv6 address.
|
| A | Good: All Name Server ip addresses are public.
|
| A | Good: Minimal 2 different name servers (public suffix and public ip address) found: 2 different Name Servers found
|
| A | Good: All name servers have ipv4- and ipv6-addresses.: 2 different Name Servers found
|
| Warning: All Name Servers have the same Top Level Domain / Public Suffix. If there is a problem with that Top Level Domain, your domain may be affected. Better: Use Name Servers with different top level domains.: 2 Name Servers, 1 Top Level Domain: net
|
| Warning: All Name Servers have the same domain name. If there is a problem with that domain name (or with the name servers of that domain name), your domain may be affected. Better: Use Name Servers with different domain names / different top level domains.: Only one domain name used: stratoserver.net
|
| A | Good: Name servers with different Country locations found: 2 Name Servers, 2 Countries: DE, US
|
| A | Info: Ipv4-Subnet-list: 2 Name Servers, 2 different subnets (first Byte): 185., 217., 2 different subnets (first two Bytes): 185.132., 217.160., 2 different subnets (first three Bytes): 185.132.34., 217.160.80.
|
| A | Excellent: Every Name Server IPv4-address starts with an unique Byte.
|
| A | Info: IPv6-Subnet-list: 2 Name Servers with IPv6, 2 different subnets (first block): 2001:, 2607:, 2 different subnets (first two blocks): 2001:08d8:, 2607:f1c0:, 2 different subnets (first three blocks): 2001:08d8:00fe:, 2607:f1c0:00fe:, 2 different subnets (first four blocks): 2001:08d8:00fe:0053:, 2607:f1c0:00fe:0053:
|
| A | Excellent: Every Name Server IPv6-address starts with an unique Hex-block
|
| A | Good: Nameserver supports TCP connections: 4 good Nameserver
|
| A | Good: Nameserver supports Echo Capitalization: 4 good Nameserver
|
| A | Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 4 good Nameserver
|
| A | Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 4 good Nameserver
|
| A | Good: All SOA have the same Serial Number
|
| Warning: No CAA entry with issue/issuewild found, every CAA can create a certificate. Read https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization to learn some basics about the idea of CAA. Your name server must support such an entry. Not all dns providers support CAA entries.
|
| 4. Content- and Performance-critical Checks |
| A | Good: All checks /.well-known/acme-challenge/random-filename without redirects answer with the expected http status 404 - Not Found. Creating a Letsencrypt certificate via http-01 challenge should work. If it doesn't work: Check your vHost configuration (apachectl -S, httpd -S, nginx -T). Every combination of port and ServerName / ServerAlias (Apache) or Server (Nginx) must be unique. Merge duplicated entries in one vHost. If you use an IIS, extensionless files must be allowed in the /.well-known/acme-challenge subdirectory. Create a web.config in that directory. Content: <configuration><system.webServer><staticContent><mimeMap fileExtension="." mimeType="text/plain" /></staticContent></system.webServer></configuration>. If you have a redirect http ⇒ https, that's ok, Letsencrypt follows such redirects to port 80 / 443 (same or other server). There must be a certificate. But the certificate may be expired, self signed or with a not matching domain name. Checking the validation file Letsencrypt ignores such certificate errors. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask.
|
| A | Good: Every https result with status 200 and greater 1024 Bytes is compressed (gzip, deflate, br checked).
|
| A | Good: Every https result with status 200 has a minified Html-Content with a quota lower then 110 %.
|
| A | Good: Every https connection via port 443 supports the http/2 protocol via ALPN.
|
| A | Good: All script Elements (type text/javascript) and src-Attribute have a defer / async - Attribute. So loading and executing these JavaScripts doesn't block parsing and rendering the Html-Output.
|
| A | Good: All CSS / JavaScript files are sent compressed (gzip, deflate, br checked). That reduces the content of the files. 10 external CSS / JavaScript files found
|
| A | Good: All svg-Images greater 1024 Bytes without internal compression are compressed. Svg is an Xml-Application, so Compression reduces the size of the file. 6 images (type image/svg+xml, image/x-icon, image/vnd.microsoft.icon) found with compression.
|
| A | Good: All images with internal compression not compressed. Some Images (.png, .jpg, .jpeg, .webp, .gif) are already compressed, so an additional compression isn't helpful. 8 images (type image/png, image/jpg, image/jpeg, image/webp, image/gif) found without additional Compression. Not required because these images are already compressed
|
| A | Good: All CSS / JavaScript files are sent with a long Cache-Control header (minimum 7 days). So the browser can re-use these files, no download is required. 10 external CSS / JavaScript files with long Cache-Control max-age found
|
| A | Good: All images are sent with a long Cache-Control header (minimum 7 days). So the browser can reuse these files, no download is required. 18 image files with long Cache-Control max-age found
|
| A | Good: All checked attribute values are enclosed in quotation marks (" or ').
|
| A | Good: All img-elements have a valid alt-attribute.: 18 img-elements found.
|
| A | Good: Domainname is not on the "Specially Designated Nationals And Blocked Persons List" (SDN). That's an US-list of individuals and companies owned or controlled by, or acting for or on behalf of, targeted countries. It also lists individuals, groups, and entities, such as terrorists and narcotics traffickers designated under programs that are not country-specific. Collectively, such individuals and companies are called "Specially Designated Nationals" or "SDNs." Their assets are blocked and U.S. persons are generally prohibited from dealing with them. So if a domain name is on that list, it's impossible to create a Letsencrypt certificate with that domain name. Check the list manual - https://www.treasury.gov/resource-center/sanctions/sdn-list/pages/default.aspx
|
| https://fabercityshop.de/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
| 2.094 seconds
| Warning: 404 needs more then one second
|
| A | Duration: 550140 milliseconds, 550.140 seconds
|