Opsio - Cloud and AI Solutions

Beste praksis for containersikkerhet for produksjonsmiljøer

Publisert: ·Oppdatert: ·Gjennomgått av Opsios ingeniørteam
Fredrik Karlsson

Er containerne dine sikre nok for produksjon?Beholdere gir utmerket isolasjon mellom applikasjoner, men feilkonfigurasjoner, sårbare bilder og usikre kjøretidsinnstillinger kan gjøre beholdere fra en sikkerhetsfordel til et ansvar. Denne veiledningen dekker sikkerhetspraksisen som produksjonsbeholdermiljøer krever.

Viktige takeaways

  • Start med minimale bilder:Distroless og alpine bilder reduserer angrepsoverflaten med 90 % sammenlignet med full OS-bilder.
  • Skann på alle trinn:Bygg, push, distribuer og kontinuerlig i registeret. Sårbarheter oppdages etter distribusjon.
  • Kjør aldri som root:Rotbeholdere kan rømme til verten. Ikke-root-beholdere er inneholdt selv om kompromittert.
  • Skrivebeskyttede filsystemer:Hvis beholderen ikke trenger å skrive, gjør filsystemet skrivebeskyttet for å forhindre skadelig programvare.
  • Kjøretidsovervåking fanger opp hva skanningen går glipp av:Nulldagers utnyttelser, forsyningskjedeangrep og innsidetrusler krever gjenkjenning av kjøretid.

Bildesikkerhet

Bruk minimalt med basisbilder

Hver pakke i et beholderbilde er potensiell angrepsoverflate. Et typisk Ubuntu-bilde inneholder 100+ pakker; et distroless bilde inneholder bare programmets kjøretid. Bruk Google Distroless for Java, Python, Node.js og Go applikasjoner. Bruk Alpine (5MB) når du trenger et skall for feilsøking. Bruk aldri fullstendige OS-bilder (Ubuntu, Debian, CentOS) i produksjon – de inneholder hundrevis av unødvendige pakker med kjente sårbarheter.

Bygger i flere trinn

Bruk flertrinns dockerfiler for å skille byggeavhengigheter fra kjøretidsbilder. Byggestadiet inkluderer kompilatorer, pakkeadministratorer og utviklingsverktøy. Den siste fasen inneholder bare den kompilerte applikasjonen og minimale kjøretidsavhengigheter. Dette forhindrer byggeverktøy (som ofte har CVE-er med høy alvorlighetsgrad) fra å vises i produksjonsbilder.

Bildeskanning pipeline

  • Byggetid:Skann i CI pipeline før du skyver til registret. Blokkbygg med kritiske sårbarheter.
  • Register:Kontinuerlig skanning i ECR, ACR eller Harbor fanger opp nyoppdagede CVE-er i eksisterende bilder.
  • Inngang:Kubernetes adgangskontrollører bekrefter bildeskanningsresultater før de tillater distribusjon.
  • Kjøretid:Overvåk for unormal containeratferd som kan indikere utnyttelse av uopprettede sårbarheter.

Runtime Security

Beholderherding

InnstillingAnbefalt verdiHvorfor
runAsNonRootsantForhindrer beholderescape gjennom root-privilegier
readOnlyRootFilesystemsantHindrer skadelig programvare fra å skrive til filsystemet
allowPrivilegeEscalationusantHindrer prosesser fra å få ytterligere privilegier
muligheterdrop: ["ALL"]Fjerner alle Linux-funksjoner, legg bare til det som trengs
secompProfilRuntimeDefaultBegrenser systemanrop tilgjengelig for containeren
resources.limitsSett CPU og minneForhindrer ressursmisbruk (crypto-mining, DoS)

Kjøretidsovervåking med Falco

Falco overvåker containeradferd mot sikkerhetsregler og varsler om brudd. Standardregler oppdager: skall skapt inne i en beholder, sensitiv filtilgang (/etc/shadow, /etc/passwd), uventede nettverkstilkoblinger, rettighetseskaleringsforsøk, kjøring av pakkebehandler i produksjonsbeholdere og kryptogruveprosesser. Egendefinerte regler kan legges til for din spesifikke applikasjonsatferd.

Supply Chain Security

Bildesignering og verifisering

Signer beholderbilder ved byggetidspunkt med cosign (Sigstore) eller Docker Content Trust. Bekreft signaturer ved distribusjon gjennom Kubernetes opptakskontrollere. Dette sikrer at bare bilder bygget av CI/CD-pipelinen din kan distribueres – og forhindrer forsyningskjedeangrep der angripere skyver skadelige bilder til registeret ditt.

Programvareliste (SBOM)

Generer SBOM-er for hvert containerbilde ved å bruke Syft eller Trivy. En SBOM viser hver komponent (OS-pakker, biblioteker, avhengigheter) i bildet. Når en ny sårbarhet avsløres, kan du umiddelbart identifisere hvilke bilder som er berørt uten å skanne alt på nytt. SBOM-er kreves i økende grad av forskrifter og bedriftskunder.

Hvordan Opsio sikrer beholdere

  • Bildeledning:Vi implementerer skanning, signering og håndheving av retningslinjer på tvers av livssyklusen for beholderbildet.
  • Kjøretidssikkerhet:Vi distribuerer og administrerer Falco/Sysdig for kontinuerlig overvåking av containerkjøring.
  • Kubernetes herding:Vi hardner klyngekonfigurasjoner i henhold til CIS-standarder med løpende overvåking av samsvar.
  • Hendelsesvar:Vårt SOC-team reagerer på containersikkerhetshendelser med inneslutning og rettsmedisinsk kapasitet.

Ofte stilte spørsmål

Er containere sikrere enn virtuelle datamaskiner?

Beholdere gir isolasjon på prosessnivå gjennom Linux navnerom og cgroups, mens VM-er gir isolasjon på maskinvarenivå gjennom hypervisorer. VM-er har sterkere isolasjonsgrenser. Beholdere tilbyr raskere distribusjon og mindre angrepsoverflate (ved bruk av minimale bilder). I praksis er riktig konfigurerte beholdere med kjøretidssikkerhetsovervåking sikre nok for de fleste produksjonsarbeidsbelastninger. Svært sensitive arbeidsbelastninger kan dra nytte av VM-nivåisolasjon eller containersandboxing (gVisor, Kata Containers).

Hva er den største containersikkerhetsrisikoen?

Kjøre containere som root med ubegrensede muligheter. En rotbeholder med alle funksjoner kan flykte til vertssystemet, få tilgang til andre beholdere, vertsressurser og potensielt Kubernetes API-serveren. Løsningen er enkel: sett runAsNonRoot: true, slipp alle funksjoner og bruk skrivebeskyttede filsystemer. Disse tre innstillingene eliminerer det meste av containersikkerhetsrisikoen.

Hvordan håndterer jeg hemmeligheter i containere?

Bak aldri hemmeligheter inn i beholderbilder eller send dem som miljøvariabler (synlig i prosessoppføringer og logger). Bruk ekstern hemmelig administrasjon: HashiCorp Vault med sidevogninjeksjon, AWS Secrets Manager med ECS/EKS integrasjon, eller Azure Key Vault med CSI-driver. Hemmeligheter bør injiseres under kjøring og bare lagres i minnet, aldri på disk.

Om forfatteren

Fredrik Karlsson
Fredrik Karlsson

Group COO & CISO at Opsio

Operational excellence, governance, and information security. Aligns technology, risk, and business outcomes in complex IT environments

Editorial standards: This article was written by a certified practitioner and peer-reviewed by our engineering team. We update content quarterly to ensure technical accuracy. Opsio maintains editorial independence — we recommend solutions based on technical merit, not commercial relationships.

Vil du implementere det du nettopp leste?

Våre arkitekter kan hjelpe deg med å omsette disse innsiktene i praksis.