Spring til indhold
Maleri: ved den lukkede, udskårne dør til tingets langhus sidder ulven som dørvogter og gransker en lysende runepind, som en hætteklædt gæst rækker frem, mens gåsen kigger mistænksomt op gennem en lem i gulvet.

Tingets dør

Ingen kommer ind på et tillidsfuldt ansigt.

Et gammelt net er bygget som en borg: en voldgrav udenom, en vindebro ind, og er man først inde, stoler alle på en. Zero Trust har ingen inderside. Hver eneste forespørgsel skal vise, hvem den er, hver gang, ved den dør den vil ind ad. Tinget har én dør, der er låst på den måde: administrationen. Den står midt på siden, og du må gerne banke på.

Borgen og døren

Borgen

Firewall og VPN rundt om det hele. Indenfor er man betroet, og det er netop problemet: én stjålet VPN-adgang eller én inficeret bærbar, og angriberen går frit fra rum til rum. Jo større borgen bliver, jo flere vinduer står på klem.

Døren

Zero Trust kontrollerer ved hver enkelt dør, tæt på det, der skal beskyttes. Hvem er du, er din adgang stadig gyldig, og må netop du komme ind netop her? Svaret gælder kun denne forespørgsel. Næste gang spørges der igen. Cloudflare kalder det never trust, always verify.

Bank på

Døren fører til tingets administration, hvor gæstebogen, ravneposten og avisen styres. Du kommer ikke ind. Det er hele pointen.

Bank på tingets dør (administrationen, kræver login via Cloudflare Access)

Kun for høvdingen · låst med Cloudflare Access

Det sker der, når du banker på

  1. Kanten. Din forespørgsel rammer Cloudflares datacenter tættest på dig. Før tingets Worker overhovedet vågner, kigger Cloudflare Access på den.
  2. Billetten. Access leder efter en gyldig adgangsbillet: et signeret JWT i cookien CF_Authorization. Har du ingen, sendes du videre til tingets login-side hos Cloudflare. Tingets kode ser dig aldrig.
  3. Hvem er du? Login sker med en metode, Access stoler på, og politikken siger præcis, hvem der må komme ind: kun tingets administrator. Det er ligegyldigt, hvor du sidder, eller hvilket net du er på.
  4. Den anden lås. Slipper man igennem Access, tjekker tingets egen kode billetten en gang til: signaturen mod Cloudflares offentlige nøgler, hvem billetten er udstedt til og af, om den er udløbet, og om e-mailen står på listen over administratorer. Skulle Access-reglen en dag mangle, eller en preview-adresse stå uden den, er døren stadig låst.
  5. Sporet. Access logger hvert login. Tinget tæller kun, hvor mange gange døren blev prøvet, og hvad der skete, aldrig hvem.

Døren i tal

Talt hver time fra Cloudflares GraphQL Analytics API: forespørgsler på /admin/ og den statuskode, kanten svarede med. Ingen IP-adresser, ingen navne – og kun ugesummer, så siden ikke røber hvornår administratoren går ind.

Resten af Zero Trust-familien

Access er den del, tinget bruger. Cloudflare Zero Trust (Cloudflare One) har flere, og der findes en gratis plan til små teams.

I brug her

Access

Sætter login og politik foran en webside eller et program, uden VPN. Det er låsen på tingets dør.

Forbind

Tunnel

Forbinder en server bag en firewall til Cloudflare udefra og ind, uden åbne porte. Serveren har ingen offentlig adresse at angribe.

Filtrér

Gateway

Filtrerer de ansattes DNS- og webtrafik ud mod nettet, fx mod phishing og malware, uanset hvor de sidder.

Enheden

Cloudflare One Client

Programmet på computeren (tidligere WARP). Sender trafikken gennem Cloudflare og fortæller, om enheden er opdateret og krypteret, så politikken kan kræve det.

Isolér

Browser Isolation

Åbner risikable sider i en browser hos Cloudflare og viser kun resultatet. Skadelig kode når aldrig computeren.

Data

CASB og DLP

Overblik over SaaS-programmer og regler for, hvilke data der ikke må forlade huset.

Sådan låser man selv en dør

  1. Åbn Zero Trust i Cloudflare-dashboardet, og opret en organisation. Vælg den gratis plan, hvis den rækker.
  2. Under Access controls → Applications vælges Add an application → Self-hosted, og adressen sættes til fx tingsvad.dk/admin.
  3. Tilføj en Allow-politik, der kun omfatter din egen e-mail, og vælg en login-metode (fx engangskode pr. e-mail eller GitHub). En applikation uden politik afviser alle.
  4. Lad din egen kode tjekke billetten igen, så en manglende regel ikke åbner døren:
// Anden lås: tingets egen kode tjekker Access-billetten igen (functions/_lib/access.js, forkortet)
const token = request.headers.get('cf-access-jwt-assertion');         // eller cookien CF_Authorization
const [hoved, krop, sig] = token.split('.');
const noegler = await fetch(`https://${TEAM}/cdn-cgi/access/certs`);  // Cloudflares offentlige nøgler
// 1. signaturen skal passe til en af nøglerne (RS256)
// 2. aud skal være tingets Access-applikation, iss tingets team
// 3. billetten må ikke være udløbet (exp)
// 4. e-mailen skal stå på listen over administratorer (ADMIN_EMAILS)
if (!gyldig) return new Response('Kun for tingets administrator.', { status: 403 });

Hele tjekket ligger i functions/_lib/access.js på GitHub. Rå tal som JSON: /api/ting-ai/doeren.

Familien: Værnet · Crawlerne · Hastigheden · Danmark lige nu · Arkivskabet · Tingets dør · Infrastrukturkortet · Tilbage til maskinrummet