Teknisk Audit

Lager i skyen, der kan læses udefra

Lager i skyen, der kan læses udefra

Lager i skyen, der kan læses udefra, findes bedst indefra: en liste over alle lagerbeholdere i alle konti og regioner, holdt op mod de indstillinger, der blokerer offentlig adgang. Beviset for, at det er lukket, er indstillingen på konto- og beholderniveau og resultatet af den kontrol, der måler den.

Lagerbeholdere oprettes hurtigt, ofte til et enkelt formål: et udtræk til en samarbejdspartner, billeder til en hjemmeside, en midlertidig kopi af en database. Formålet forsvinder, beholderen bliver. Står den åben, kan alle med adressen læse indholdet.

Ét kontrolpunkt, læst på AWS

Artiklen bruger AWS som eksempel, fordi det er den platform, hvor benchmarkens punkter er læst. Kilden er version 5.0.0 af CIS’ benchmark for AWS, gengivet af AWS i dokumentationen til Security Hub CSPM. Selve CIS-dokumentet er ikke læst. Bruger I andre platforme, gælder samme tankegang, men indstillingernes navne og standardværdier skal slås op hos den udbyder, I bruger. De er ikke gengivet her.

Punkterne i benchmarken

AWS’ tabel har fire kontroller, der handler om lager og data, der kan nås udefra:

  • S3.1 · CIS v5.0.0: 2.1.4 · Indhold: S3-beholdere har indstillingen “block public access” slået til
  • S3.8 · CIS v5.0.0: 2.1.4 · Indhold: S3-beholdere blokerer offentlig adgang
  • S3.5 · CIS v5.0.0: 2.1.1 · Indhold: S3-beholdere kræver krypteret forbindelse (TLS)
  • RDS.2 · CIS v5.0.0: 2.2.3 · Indhold: Databaseinstanser i RDS er ikke offentligt tilgængelige

To af kontrollerne, S3.1 og S3.8, dækker det samme CIS-krav. Det står i AWS’ tabel. Det betyder, at et krav kan måles to steder, og at gennemgangen bør se på begge. Er den ene grøn og den anden rød, er der en beholder eller en indstilling, der skiller sig ud.

Opgørelsen indefra

Første skridt er en komplet liste. Den laves indefra med læseadgang til alle konti, og ikke ved at lede efter åbne beholdere udefra. En liste indefra viser også de beholdere, ingen kender adressen på.

Listen bør for hver beholder have:

  • Navn og konto · (eksport-partner, konto til drift)
  • Region · (eu-north-1)
  • Ejer i virksomheden · (salgsafdelingen)
  • Formål · (udtræk til en samarbejdspartner)
  • Blokering af offentlig adgang · (slået til på konto og beholder)
  • Krav om krypteret forbindelse · (ja)
  • Seneste aktivitet · (dato fra loggen)

Felterne er almindelig praksis. Ejer og formål kan ikke trækkes fra platformen. De skal spørges ind til, og her viser opgørelsen ofte, at nogle beholdere ingen ejer har. Så er spørgsmålet, om de skal lukkes, tømmes eller slettes. Den beslutning tages af forretningen, ikke af den, der gennemgår.

Databaser hører med på listen. En database med offentlig adresse er samme type fund som en åben beholder, og RDS.2 måler den.

Når noget skal være offentligt

Nogle beholdere skal kunne læses udefra, fx filer til en hjemmeside. Det er ikke i sig selv en fejl. Kontrolpunktet er, at undtagelsen er besluttet, begrundet og afgrænset til netop den beholder, og at beholderen kun indeholder det, der må være offentligt. Undtagelsen skrives på listen over afvigelser fra baselinen med ejer og dato, som beskrevet i undtagelseslisten.

Det er almindelig praksis at samle offentligt indhold i en konto for sig. Så kan blokeringen på kontoniveau stå slået til i alle andre konti, og undtagelsen er let at finde. Benchmarken har ikke noget punkt om det.

Krypteret forbindelse som det andet spørgsmål

S3.5 handler om noget andet end offentlig adgang. Den måler, om beholderen afviser forbindelser, der ikke er krypteret. En beholder kan være lukket for offentligheden og alligevel tillade, at interne systemer henter data over en ukrypteret forbindelse. Kontrolpunktet er derfor med på listen som et selvstændigt felt. Fund her rettes i beholderens egen opsætning, og det bør testes, at de systemer, der henter data, stadig virker bagefter.

Nye konti og nye beholdere

En opgørelse er et øjebliksbillede. Nye beholdere oprettes løbende, ofte af udviklere eller af automatiske udrulninger. Det er almindelig praksis, at kontrollerne fra benchmarken er slået til i alle konti, også nye, så en ny åben beholder giver et rødt resultat med det samme. Gennemgangen kontrollerer derfor også, at kontrollerne er slået til i hver konto, og hvem der modtager et rødt resultat. Et resultat, ingen læser, er ikke en kontrol. Er beholderne bygget fra skabeloner, kan indstillingen også fanges i skabelonen før udrulning, som beskrevet i infrastruktur som kode.

Beviset for, at det er lukket

Et skærmbillede af én beholder beviser ikke meget. Beviset er udtrækket af indstillingen på kontoniveau, udtrækket for hver beholder og resultatet af kontrollerne S3.1, S3.8, S3.5 og RDS.2 med dato. Gemmes de tre ting ved hver gennemgang, kan I vise, at et fund er lukket og forblevet lukket. Hvordan et udtræk bliver brugbart som bevis, står i bevis for et konfigurationsfund.

Hvad det kræver, og hvad det koster at lade være

Det kræver læseadgang til alle konti og en halv dag til at få ejere på listen. De automatiske kontroller kører, når de er slået til, og giver et nyt resultat, hver gang noget ændres.

Uden opgørelsen ved ingen, hvad der ligger tilgængeligt. En beholder med et gammelt kundeudtræk kan stå åben i årevis, og det er ofte en udenforstående, der finder den først.

Det skal I lade være med

  • At lede efter åbent lager udefra i stedet for at lave listen indefra · listen indefra er komplet.
  • At slette beholdere uden ejer på stedet · få forretningen til at beslutte det.
  • At lade en offentlig undtagelse stå uden begrundelse · den hører på afvigelseslisten.

Det skal gennemgangen kunne vise

  • ☐ En liste over alle lagerbeholdere og databaser i alle konti og regioner.
  • ☐ Ejer og formål for hver beholder.
  • ☐ Blokering af offentlig adgang på konto- og beholderniveau.
  • ☐ Resultatet af S3.1, S3.8, S3.5 og RDS.2 med dato.
  • ☐ Begrundede undtagelser for det, der skal være offentligt.

Kilder

Senest gennemgået: november 2026.

Næste skridt

Træk en liste over alle lagerbeholdere i alle konti, og sæt en ejer på hver.

Læs også: Nøgler og hemmeligheder i skyen · Det, der står åbent mod internettet

→ Kontakt · Tlf. 70 13 63 23 · Teknisk sikkerhedsgennemgang hos Nielco IT

Skrevet af John Nielsen, indehaver af Nielco IT. Selvstændig siden 2009 og mere end 30 års erfaring med IT‑sikkerhed. Om John Nielsen · LinkedIn

John Nielsen, Nielco IT

Skal jeres opsætning gennemgås?

Skriv kort, hvilke dele af miljøet det drejer sig om, og hvad der sætter det i gang. Så vender jeg tilbage. Gennemgangen er uvildig og uafhængig, og Nielco IT har ingen forhandleraftaler.

Tak for din henvendelse. Jeg vender tilbage hurtigst muligt.