| 1. General Results, most used to calculate the result |
| A | name "vpbx.sasag.ch" is subdomain, public suffix is ".ch", top-level-domain is ".ch", top-level-domain-type is "country-code", Country is Switzerland, tld-manager is "SWITCH The Swiss Education & Research Network", num .ch-domains preloaded: 2356 (complete: 276475)
|
| A | Good: All ip addresses are public addresses
|
| Warning: Only one ip address found: vpbx.sasag.ch has only one ip address.
|
| Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: vpbx.sasag.ch has no ipv6 address.
|
| A | Good: No asked Authoritative Name Server had a timeout
|
| A | DNS: "Name Error" means: No www-dns-entry defined. This isn't a problem
|
| A | https://vpbx.sasag.ch/ 185.150.5.2
| https://vpbx.sasag.ch/portal/
| Correct redirect https to https
|
| 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: every cookie sent via https is marked as secure
|
| A | Good: HSTS has preload directive
|
| HSTS-Preload-Status: unknown. Domain never included in the Preload-list. 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)
|
| B | Warning: HSTS max-age is too short - minimum 31536000 = 365 days required, 16000000 seconds = 185 days found
|
| B | https://vpbx.sasag.ch/ 185.150.5.2
| max-age=16000000; includeSubDomains; preload;
| Critical: HSTS-Header has Parse-Errors. Empty entry, remove the semicolon at the end., Value of max-age is too small. Should be minimal one year = 31536000., Unknown directive found. Only max-age (with value), includeSubdomains or preload allowed.
|
| B | https://vpbx.sasag.ch/portal/
| max-age=16000000; includeSubDomains; preload;
| Critical: HSTS-Header has Parse-Errors. Empty entry, remove the semicolon at the end., Value of max-age is too small. Should be minimal one year = 31536000., Unknown directive found. Only max-age (with value), includeSubdomains or preload allowed.
|
| B | https://vpbx.sasag.ch/portal/
| JSESSIONID=node0xpmtnfth0z8m1sgbcac90c79b887715.node0; Path=/portal; Secure; HttpOnly
| Cookie without a SameSite-Attribute. Possible values are: Strict/Lax/None. Cookie may not work as expected, if "None" is wanted, but browsers use "Lax" as default value.
|
| N | https://185.150.5.2/ 185.150.5.2
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
| O | vpbx.sasag.ch / 185.150.5.2 / 443
|
| Old connection: Cipher Suites without Forward Secrecy (FS) found. Remove all of these Cipher Suites, use only Cipher Suites with Forward Secrecy: Starting with ECDHE- or DHE - the last "E" says: "ephemeral". Or use Tls.1.3, then all Cipher Suites use FS. 8 Cipher Suites without Forward Secrecy found
|
| Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are different. So that domain requires Server Name Indication (SNI), so the server is able to select the correct certificate.: Domain vpbx.sasag.ch, 1 ip addresses.
|
| B | No _mta-sts TXT record found (mta-sts: Mail Transfer Agent Strict Transport Security - see RFC 8461). Read the result of server-daten.de (Url-Checks, Comments, Connections and DomainServiceRecords) to see a complete definition. Domainname: _mta-sts.vpbx.sasag.ch
|
| 2. Header-Checks |
| A | vpbx.sasag.ch
| Content-Security-Policy
| Ok: Header without syntax errors found: object-src 'none'; style-src 'self' 'unsafe-inline'; manifest-src 'self'; connect-src 'self'; frame-src 'self' ; font-src 'self'; media-src 'self'; img-src 'self'; form-action 'self'; base-uri 'self'; frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.office.com *.microsoft365.com vpbx.riiseeznet.ch vpbx2.m4b1.ch vpbx.v-ucc.cloud vpbx.sasag.ch,script-src 'self' 'nonce-ZjhhM2FhN2ItY2YyYi00NTdhLWJlOTctY2MzYTk3MTY3ODQz'
|
| E |
|
| Critical: Duplicated entries found frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.office.com *.microsoft365.com vpbx.riiseeznet.ch vpbx2.m4b1.ch vpbx.v-ucc.cloud vpbx.sasag.ch,script-src 'self' 'nonce-ZjhhM2FhN2ItY2YyYi00NTdhLWJlOTctY2MzYTk3MTY3ODQz'
Duplicated entries: 'self' |
| F |
|
| Bad: Missing default-src directive. A default-src directive is used if one of the specialized fetch directives (child-src, connect-src, font-src, frame-src, img-src, manifest-src, media-src, object-src, prefetch-src, script-src, style-src, worker-src) isn't defined. Missing default-src, all sources are allowed, that's bad. A default-src with 'none' or 'self' blocks that.
|
| 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.
|
| F |
|
| Critical: No script-src and no default-src as fallback defined. So scripts are unlimited. That's fatal.
|
| 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.
|
| A |
|
| Ok: Nonce found.
|
| A |
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
| A |
| X-Frame-Options
| Ok: Header without syntax errors found: DENY
|
| B |
|
| Info: Header is deprecated. May not longer work in modern browsers. DENY. Better solution: Use a Content-Security-Policy Header with a frame-ancestors directive. DENY - use 'none', SAMEORIGIN - use 'self'. If you want to allow some domains to frame your page, add these urls.
|
| A |
| X-Xss-Protection
| Ok: Header without syntax errors found: 1; mode=block
|
| B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 1; mode=block
|
| F | vpbx.sasag.ch
| Referrer-Policy
| Critical: Missing Header:
|
| F | vpbx.sasag.ch
| Permissions-Policy
| Critical: Missing Header:
|
| B | vpbx.sasag.ch
| Cross-Origin-Embedder-Policy
| Info: Missing Header
|
| B | vpbx.sasag.ch
| Cross-Origin-Opener-Policy
| Info: Missing Header
|
| B | vpbx.sasag.ch
| Cross-Origin-Resource-Policy
| Info: Missing Header
|
| F |
|
| Critical: Different combinations of domain names and ip addresses checked, Content-Security-Policy - Header with a nonce declaration sent: Different combinations domain + ip with the same nonce. Nonces must be unique!
|
| 3. DNS- and NameServer - Checks |
| A | Info:: 2 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 2 Name Servers.
|
| A | Info:: 2 Queries complete, 2 with IPv6, 0 with IPv4.
|
| A | Good: All DNS Queries done via IPv6.
|
| A | Good: Some ip addresses of name servers found with the minimum of two DNS Queries. One to find the TLD-Zone, one to ask the TLD-Zone.nsa1.as35518.net (2a00:d80:1101:ffff::101, 88.213.190.101), nsa2.as35518.net (2a00:d80:1101:ffff::102, 88.213.190.102)
|
| A | Good (1 - 3.0):: An average of 1.0 queries per domain name server required to find all ip addresses of all name servers.
|
| A | Info:: 2 different Name Servers found: nsa1.as35518.net, nsa2.as35518.net, 2 Name Servers included in Delegation: nsa1.as35518.net, nsa2.as35518.net, 2 Name Servers included in 1 Zone definitions: nsa1.as35518.net, nsa2.as35518.net, 1 Name Servers listed in SOA.Primary: nsa1.as35518.net.
|
| A | Good: Only one SOA.Primary Name Server found.: nsa1.as35518.net.
|
| A | Good: SOA.Primary Name Server included in the delegation set.: nsa1.as35518.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: nsa1.as35518.net, nsa2.as35518.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: as35518.net
|
| Warning: All Name Servers from the same Country / IP location.: 2 Name Servers, 1 Countries: CH
|
| A | Info: Ipv4-Subnet-list: 2 Name Servers, 1 different subnets (first Byte): 88., 1 different subnets (first two Bytes): 88.213., 1 different subnets (first three Bytes): 88.213.190.
|
| X | Fatal: All Name Server IPv4 addresses from the same subnet. Check https://www.iana.org/help/nameserver-requirements to learn some basics about name server configurations. If you manage these name servers, fix it. If it's your provider, change your provider.:
|
| A | Info: IPv6-Subnet-list: 2 Name Servers with IPv6, 1 different subnets (first block): 2a00:, 1 different subnets (first two blocks): 2a00:0d80:, 1 different subnets (first three blocks): 2a00:0d80:1101:, 1 different subnets (first four blocks): 2a00:0d80:1101:ffff:
|
| Fatal: All Name Server IPv6 addresses from the same subnet.
|
| A | Good: Nameserver supports TCP connections: 2 good Nameserver
|
| A | Good: Nameserver supports Echo Capitalization: 2 good Nameserver
|
| A | Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 2 good Nameserver
|
| A | Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 2 good Nameserver
|
| Nameserver doesn't pass all EDNS-Checks: nsa1.as35518.net: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result.
|
| A | Good: All SOA have the same Serial Number
|
| A | Good: CAA entries found, creating certificate is limited: comodoca.com is allowed to create certificates
|
| A | Good: CAA entries found, creating certificate is limited: digicert.com is allowed to create certificates
|
| A | Good: CAA entries found, creating certificate is limited: letsencrypt.org is allowed to create certificates
|
| 4. Content- and Performance-critical Checks |
| http://vpbx.sasag.ch/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 185.150.5.2
|
| Fatal: Check of /.well-known/acme-challenge/random-filename has a timeout. Creating a Letsencrypt certificate via http-01 challenge can't work. You need a running webserver (http) and an open port 80. If it's a home server + ipv4, perhaps a correct port forwarding port 80 extern ⇒ working port intern is required. Port 80 / http can redirect to another domain port 80 or port 443, but not other ports. If it's a home server, perhaps your ISP blocks port 80. Then you may use the dns-01 challenge. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask.
|
| A | Good: No https + http status 200 with inline CSS / JavaScript found
|
| A | Good: Every https result with status 200 has a minified Html-Content with a quota lower then 110 %.
|
| https://vpbx.sasag.ch/portal/
|
| Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space.
|
| A | Good: Every https connection via port 443 supports the http/2 protocol via ALPN.
|
| A | Good: All checked attribute values are enclosed in quotation marks (" or ').
|
| A | Info: No img element found, no alt attribute checked
|
| 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://vpbx.sasag.ch/ 185.150.5.2
| Strict-Transport-Security: max-age=16000000; includeSubDomains; preload;
| Parse Error - Header can't be parsed
|
| https://vpbx.sasag.ch/portal/
| Strict-Transport-Security: max-age=16000000; includeSubDomains; preload;
| Parse Error - Header can't be parsed
|
| A | Duration: 177840 milliseconds, 177.840 seconds
|