Automatické testy
Workflow Scan testuje hostované služby (kategorie s type: service), pokud jejich soubor s hodnocením obsahuje domain. Poskytovatelé e-mailu a služby pro přeposílání s mail_domain procházejí také e-mailovým testem.
| Test | Co kontroluje | Kritérium | Ano | Částečně | Ne |
|---|---|---|---|---|---|
| Qualys SSL Labs | Verze TLS, šifry, certifikáty a známé chyby TLS | tls |
A+ nebo A | A- nebo B | C nebo horší |
| Mozilla HTTP Observatory | Bezpečnostní hlavičky jako CSP, HSTS a X-Frame-Options a příznaky cookies | security_headers |
A+ nebo A | A-, B+ nebo B | B- nebo horší |
| Test webu Internet.nl | IPv6, DNSSEC, HTTPS a bezpečnostní volby | web_standards |
90 % a více | 70 % až 89 % | Pod 70 % |
| E-mailový test Internet.nl | IPv6, DNSSEC, DMARC, DKIM, SPF, STARTTLS a DANE pro poštovní doménu | mail_standards |
90 % a více | 70 % až 89 % | Pod 70 % |
| Hardenize | Konfigurace zabezpečení DNS, e-mailu a webu | Pouze odkaz |
E-mailové standardy
Poskytovatelé e-mailu a služby pro přeposílání s mail_domain procházejí také těmito testy, které spouští scripts/mail-tests.js:
| Test | Co kontroluje | Kritérium | Ano |
|---|---|---|---|
| DNS over HTTPS | SPF, politika DMARC, režim MTA-STS (RFC 8461), TLS-RPT (RFC 8460), validace DNSSEC, DANE TLSA na každém hostiteli MX (RFC 7672) a pro informaci také BIMI a záznamy SRV podle RFC 6186 | transport_security |
Všech šest vynuceno |
IMAP CAPABILITY |
Implicitní TLS na 993 (RFC 8314), IMAP4rev1 nebo IMAP4rev2, IDLE. Náhradně STARTTLS na 143 | imap_standards |
Implicitní TLS, IMAP4rev1/rev2 a IDLE |
POP3 CAPA |
Implicitní TLS na 995, CAPA (RFC 2449), UIDL. Náhradně STLS na 110 | pop3_standards |
Implicitní TLS, CAPA a UIDL |
SMTP EHLO |
Odesílání přes implicitní TLS na 465, SMTPUTF8, 8BITMIME, PIPELINING, AUTH. Náhradně STARTTLS na 587 | smtp_standards |
Implicitní TLS a všechna čtyři rozšíření |
Názvy serverů pocházejí z imap_host, pop3_host a smtp_host v souboru s hodnocením, nebo ze záznamů SRV poskytovatele podle RFC 6186. Pokud poskytovatel daný protokol nenabízí, nastavte hostitele na false. Schopnosti jsou to, co každý server nabízí před přihlášením, a úplné seznamy zobrazuje stránka každého hodnocení.
Sledovače na webu
Každá položka s webem, včetně aplikací, prochází testem sledovačů, který spouští scripts/trackers.js. Test načte domovskou stránku bez spuštění JavaScriptu a porovná hostitele všech skriptů, rámců, obrázků a stylů i vložený kód se seznamem známých sledovacích a analytických služeb.
| Nalezeno | Vliv na no_trackers |
|---|---|
| Sledovače třetích stran jako Google Analytics, Google Tag Manager, Meta Pixel, Hotjar nebo HubSpot | Odpověď bude „no“ bez ohledu na obsah souboru s hodnocením |
| Analytika bez cookies (Plausible, Fathom, Simple Analytics, Matomo Cloud, Cloudflare Web Analytics) | Z „yes“ se stane „partial“ |
| Písma, vložený obsah, hlášení chyb, chat podpory nebo nástroje pro souhlas | Uvedeno na stránce, nehodnotí se |
| Nic | Použije se odpověď ze souboru s hodnocením |
Test přeskakuje weby na hostingu kódu nebo v obchodě s aplikacemi (GitHub, GitLab, Codeberg, SourceForge, F-Droid, Google Play a podobně), protože tuto stránku projekt neprovozuje.
Test vidí jen sledovače zapsané přímo ve stránce. Sledovače přidané později skripty a telemetrie uvnitř aplikací stále potřebují důkazy v souboru s hodnocením, například zásady ochrany soukromí nebo zprávu Exodus Privacy.
Vnější test nemůže zjistit SRS a ARC bez odeslání pošty, takže hodnocení tato kritéria zodpovídají místo toho důkazy.
Automatické kontroly, které ještě neproběhly, se zobrazují jako „Zatím netestováno“ a do skóre se nezapočítávají, takže test, který se ještě neuskutečnil, nemůže snížit skóre poskytovatele.
Výsledek SSL Labs je nejhorší známka ze všech IP adres domény.
Hardenize už nenabízí veřejné API, takže každá stránka místo hodnocení odkazuje na jeho veřejnou zprávu.
Harmonogram
Workflow Scan běží každý den a testuje 40 položek s nejstaršími výsledky (Internet.nl se řídí vlastními limity, viz níže), takže každá služba je testována pravidelně bez přetěžování bezplatných API. Výsledky ukládá do scans/ jako JSON a commituje je a web je zveřejňuje. Každá stránka ukazuje, kdy její testy naposledy proběhly.
Neúspěšný test ponechá předchozí výsledek a zaznamená chybu, takže dočasný výpadek skóre nezmění.
Limity Internet.nl
Sken používá dávkové API Internet.nl v souladu s jeho podmínkami použití:
- Nejvýše 2 dávkové požadavky za libovolných 7 dní. Test webu a test e-mailu jsou samostatné požadavky, takže jedno úplné kolo využije oba.
- Nejvýše 5000 domén na jeden požadavek. Pokud se test týká více domén, mají přednost ty s chybějícími nebo nejstaršími výsledky a zbytek počká na pozdější požadavek.
- Žádné požadavky na jednu doménu, takže
--onlyInternet.nl přeskočí.
Sken zaznamenává každý požadavek do scans/internetnl-requests.json a commituje tento soubor spolu s výsledky, i když běh selže. Běh, který zjistí, že týdenní limit je vyčerpán, Internet.nl přeskočí a ponechá stávající výsledky. Dávky trvají hodiny, proto sken kontroluje stav požadavku každých 5 minut a pozdější běh převezme každý požadavek, který při skončení běhu stále probíhá, místo aby ho odeslal znovu. Internet.nl ignoruje --limit a přihlašovací údaje Internet.nl používají jen běhy na výchozí větvi, takže všechny běhy sdílejí jeden záznam.
Tento web znovu využívá výsledky testů poskytnuté testovacím nástrojem Internet.nl.
Konfigurace
Všechna nastavení jsou volitelné secrets repozitáře (Settings › Secrets and variables › Actions):
| Secret | Účel |
|---|---|
SSLLABS_EMAIL |
E-mail registrovaný pro SSL Labs API v4. Bez něj sken použije API v3. Registrace vyžaduje e-mailovou adresu organizace. |
INTERNETNL_USERNAME, INTERNETNL_PASSWORD |
Účet pro dávkové API Internet.nl. Bez nich stránky odkazují na veřejné testy Internet.nl a kritéria Internet.nl zůstávají „unknown“. |
INTERNETNL_API |
Základní URL dávkového API pro self-hosted instanci Internet.nl. Výchozí hodnota je https://batch.internet.nl/api/batch/v2. |
Mozilla HTTP Observatory nevyžaduje účet. Licenční data z GitHubu používají vestavěný token workflow.
Lokální spuštění testů
npm ci
node scripts/scan.js --only email-providers/forward-email
node scripts/scan.js --limit 5 --tests observatory
node scripts/scan.js --tests mail-dns # email DNS checks only
npm run test:unit # protocol probes against local mock servers
npm run build
Která doména se testuje
Pole domain má obsahovat hlavní web nebo webovou aplikaci, kde se lidé přihlašují, například mail.example.com, a ne marketingovou subdoménu na jiném hostiteli. Výrobci mohou přesnější doménu navrhnout v pull requestu.