În mod implicit, un proces dintr-un container Docker rulează ca utilizator root (UID 0). Dacă o vulnerabilitate din aplicație permite executarea de comenzi la distanță sau o scăpare de kernel (container breakout), atacatorul obține acces root pe mașina gazdă. Rularea obligatorie sub un utilizator neprivilegiat (USER nonroot) este pilonul principal de securitate.
Exemplu: Dockerfile securizat cu utilizator dedicat și imagine minimală
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
# Imaginea finală:
FROM gcr.io/distroless/nodejs20-debian12
WORKDIR /app
COPY --from=build /app .
USER 10001:10001
CMD ["server.js"]
Întrebări & Exemple de Cod:
Hardening de Containere Docker și Rulare Non-RootAi o nelămurire despre utilizarea comenzii
Hardening de Containere Docker și Rulare Non-Rootsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.