Sikker kodning og OWASP Top 10 til backend · Lektion

Containersikkerhed (Docker/Kubernetes)

Implementer sikre metoder til at bygge, udrulle og administrere containeriserede applikationer med Docker og Kubernetes, herunder scanning af images og netværkspolitikker.

Lektion 2 af 411 trin

Containersikkerhed (Docker/Kubernetes) er en gratis Sikker kodning og OWASP Top 10 til backend-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Sikker kodning og OWASP Top 10 til backend, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Sikker kodning og OWASP Top 10 til backend-kurset indeholder 4 lektioner i alt.

Introduktion til containersikkerhed

Velkommen til containersikkerhed! Her undersøger vi, hvordan du beskytter dine programmer, når de kører i containere som Docker og orkestreres af systemer som Kubernetes.

Containere giver stor fleksibilitet og effektivitet, men de medfører også nye sikkerhedsudfordringer, som kræver omhyggelig opmærksomhed.

Minimer containerafbildninger

Mindre containerafbildninger betyder en mindre angrebsflade. Fjern unødvendige værktøjer, biblioteker og filer fra din endelige afbildning.

Det er fremragende strategier at bruge byggeri i flere faser og minimale basisafbildninger (som varianter af Alpine Linux).

FROM openjdk:17-jdk-slim AS builder
WORKDIR /app
COPY . .
RUN javac Main.java

FROM openjdk:17-jre-slim
WORKDIR /app
COPY --from=builder /app/Main.class .
CMD ["java", "Main"]

Brug pålidelige basisafbildninger

Start altid med officielle og velvedligeholdte basisafbildninger fra pålidelige registre. Uofficielle afbildninger kan indeholde sårbarheder eller endda skadelig kode.

  • Bekræft kilder: Hent kun afbildninger fra anerkendte leverandører eller officielle arkiver.
  • Scan regelmæssigt: Selv officielle afbildninger kan have sårbarheder; scan dem ofte.

Princippet om mindst mulige rettigheder

Kør dine containere med de mindst mulige nødvendige tilladelser. Det begrænser skaden, hvis en container bliver kompromitteret.

  • Kør som ikke-root: Undgå at køre processer som root-brugeren inde i containeren.
  • Fjern funktioner: Fjern Linux-funktioner (f.eks. NET_ADMIN og SYS_ADMIN), som din applikation ikke har brug for.
docker run --user 1000:1000 \
  --cap-drop=ALL \
  my-secure-app

Scan containerafbildninger for sårbarheder

Integrer automatiserede værktøjer til scanning af afbildninger (som Trivy, Clair eller sårbarhedsscannere fra cloududbydere) i din CI/CD-pipeline.

Scan afbildninger tidligt og ofte for at opdage kendte sårbarheder i dine afhængigheder og operativsystemlag, før de sættes i drift.

Netværkspolitikker i Kubernetes

Netværkspolitikker i Kubernetes giver dig mulighed for at styre, hvilke pods der kan kommunikere med hinanden og med eksterne netværksslutpunkter.

Som standard kan pods kommunikere frit. Netværkspolitikker håndhæver segmentering og opretter en firewall omkring dine pods.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-ingress
  namespace: default
spec:
  podSelector: {}
  policyTypes:
    - Ingress

Sikker håndtering af hemmeligheder

Følsomme oplysninger som API-nøgler, databaseadgangskoder og private certifikater må aldrig være hardkodet i afbildninger eller konfigurationsfiler.

Brug Kubernetes Secrets, HashiCorp Vault eller cloudspecifikke tjenester til håndtering af hemmeligheder for at gemme og indsætte hemmeligheder sikkert under kørsel.

apiVersion: v1
kind: Secret
metadata:
  name: my-app-secret
type: Opaque
data:
  api_key: YmFzZTY0ZW5jb2RlZHNlY3JldA== # base64 encoded value
  db_password: cGFzc3dvcmQ=

Sikkerhed og overvågning under kørsel

Selv med stærk sikkerhed under bygningen er beskyttelse under kørsel afgørende. Overvåg containeres adfærd for mistænkelige aktiviteter.

Værktøjer som Falco kan registrere afvigende proceskørsel, uautoriseret filadgang eller uventede netværksforbindelser i dine containere.

Sikkerhedskontekster i Kubernetes

Sikkerhedskontekster i Kubernetes giver dig mulighed for at definere indstillinger for rettigheder og adgangskontrol for en Pod eller Container.

Du kan angive indstillinger som at køre som en ikke-root-bruger, fjerne Linux-funktioner eller konfigurere SELinux-/AppArmor-profiler.

apiVersion: v1
kind: Pod
metadata:
  name: secure-pod
spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 1000
    fsGroup: 2000
  containers:
  - name: my-container
    image: my-image
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop: ["ALL"]

Hurtigt tjek: Sikkerhed for afbildninger

Hvilke af følgende er bedste praksisser til sikring af containerafbildninger?

Opsummering af containersikkerhed

I denne lektion gennemgik vi de vigtigste aspekter af sikring af containeriserede applikationer:

  • Minimering af afbildningers størrelse og brug af pålidelige basisafbildninger.
  • Anvendelse af princippet om mindst mulige rettigheder.
  • Regelmæssig scanning af afbildninger for sårbarheder.
  • Styring af netværksadgang med netværkspolitikker i Kubernetes.
  • Sikker håndtering af hemmeligheder.
  • Overvågning af containere under kørsel for mistænkelig aktivitet.
  • Håndhævelse af sikkerhedsindstillinger med sikkerhedskontekster i Kubernetes.

Ved at følge disse praksisser kan du forbedre sikkerhedsniveauet for dine Docker- og Kubernetes-udrulninger betydeligt.

Gratis at komme i gang

Lær Sikker kodning og OWASP Top 10 til backend med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Containersikkerhed (Docker/Kubernetes)” gratis?

Ja — alle 3 lektioner i læringssporet Sikker kodning og OWASP Top 10 til backend, inklusive “Containersikkerhed (Docker/Kubernetes)”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Sikker kodning og OWASP Top 10 til backend-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Containersikkerhed (Docker/Kubernetes)”?

Implementer sikre metoder til at bygge, udrulle og administrere containeriserede applikationer med Docker og Kubernetes, herunder scanning af images og netværkspolitikker. Du øver dig i Sikker kodning og OWASP Top 10 til backend med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Sikker kodning og OWASP Top 10 til backend?

Der kræves ingen tidligere erfaring. Sikker kodning og OWASP Top 10 til backend på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Containersikkerhed (Docker/Kubernetes)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Sikker kodning og OWASP Top 10 til backend-lektion?

Ja. Alle Sikker kodning og OWASP Top 10 til backend-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Sikker cloud-udrulning (AWS/Azure/GCP)
  2. Containersikkerhed (Docker/Kubernetes)
  3. Bedste praksis for serverless-sikkerhed
  4. Sikkerhed i Infrastructure as Code
← Tilbage til Sikker kodning og OWASP Top 10 til backend