Guia completa de seguretat en contenidors Docker

Darrera actualització: 28 de febrer 2026
  • La seguretat de contenidors Docker abasta host, imatges, xarxa, secrets i orquestració, no només el mateix contenidor.
  • Els riscos més grans provenen d'imatges vulnerables, configuracions insegures, excés de privilegis i mala gestió de secrets.
  • Bones pràctiques com fer servir imatges minimalistes, limitar capacitats, segmentar xarxes i monitoritzar en temps real redueixen dràsticament la superfície d'atac.
  • Integrar escanejats i polítiques de seguretat al pipeline CI/CD i recolzar-se en eines especialitzades permet escalar la seguretat sense frenar DevOps.

seguretat contenidors Docker

Docker ha canviat per sempre la forma en què desenvolupem i despleguem aplicacions : empaquetar codi, llibreries i configuració en un contenidor i moure'l del portàtil a producció sense sorpreses és gairebé màgia ( què és Docker ). Però aquesta màgia té truc: si descuidem la seguretat, un sol contenidor mal configurat pot servir de porta d'entrada tota la infraestructura.

Molts equips continuen confiant cegament en l'aïllament dels contenidors i en l'orquestració amb Kubernetes (veure Docker Compose i Kubernetes ) com si fossin una caixa forta, quan en realitat parlem de processos que comparteixen nucli, xarxes i, en massa casos, permisos exagerats. A veure amb detall per què la seguretat de contenidors Docker és un pilar crític, quins riscos reals existeixen i quines tècniques i eines es fan servir avui en producció per mitigar-los sense carregar-se l'agilitat de DevOps.

Què és realment la seguretat de contenidors Docker

Quan parlem de seguretat de contenidors Docker ens referim al conjunt de pràctiques, configuracions i eines que protegeixen tant els contenidors com el host, la xarxa i la pròpia cadena de subministrament del programari davant de vulnerabilitats, errors de configuració i atacs actius. No es tracta només de “cuidar la imatge”, sinó de blindar tot el cicle de vida: construcció, publicació, desplegament i execució.

El gran repte dels contenidors és que comparteixen el nucli del sistema operatiu amfitrió ( namespaces i cgroups a Linux ). Això significa que una fallada a nivell de kernel o una fuita de contenidor mal protegit pot impactar a tots els contenidors del node. La seguretat de Docker, per tant, no és només qüestió de la imatge: implica endurir el host, limitar privilegis, segmentar xarxes, controlar qui parla amb l'API del daemon i com es gestionen els secrets.

Un altre aspecte clau és la seguretat dels processos i l'orquestració : com s'executen els contenidors, sota quin usuari, quines capacitats del nucli tenen, quins recursos poden consumir o quines polítiques s'apliquen en un clúster Kubernetes. Aquí hi entren conceptes com el principi de mínim privilegi, els perfils de seguretat (seccomp, AppArmor, SELinux) i les polítiques d'accés basades en rols (RBAC).

Riscos i problemes de seguretat més freqüents a Docker

Els incidents en entorns de contenidors solen venir d'un combo d'errors humans i de males decisions tècniques . A continuació es recullen els problemes que més es repeteixen en auditories i bretxes reals.

Imatges vulnerables o malicioses

Cada imatge de contenidor és un petit sistema amb el seu propi conjunt de paquets i dependències ; si estires una imatge obsoleta, inflada o d'origen dubtós, t'emportes també els seus CVEs, backdoors i males pràctiques. Escaneigs a milions d'imatges públiques han demostrat que una fracció gens menyspreable conté codi maliciós o vulnerabilitats crítiques conegudes.

El problema s'agreuja quan es fan servir distribucions completes com a base (Ubuntu, Debian, etc.) per a aplicacions que només necessiten unes poques llibreries. Aquests centenars de paquets extra (editors, shells, gestors de paquets, eines de xarxa…) amplien la superfície d'atac sense aportar cap valor en producció. Per a un atacant que aconsegueixi entrar, trobar un apt-get o un curl llest per descarregar malware és un regal.

Escape de contenidors al host

Una fuita de contenidor passa quan un atacant aconsegueix sortir de l'espai aïllat del contenidor i executar accions al sistema amfitrió oa altres contenidors. Sol explotar vulnerabilitats del nucli, configuracions insegures (per exemple, volums amb accés excessiu) o contenidors executats amb privilegis exagerats.

Si el contenidor compromès s'executa com a root i amb capacitats àmplies , el salt al host oa la resta de la infraestructura és molt més senzill. D'aquí la insistència continua a no fer servir –privileged , a restringir capacitats del kernel ia executar processos amb usuaris sense privilegis, tant dins com fora del contenidor (user namespaces, rootless, etc.).

Configuracions de xarxa insegures

La xarxa és un altre dels punts on més es fica la pota amb Docker i Kubernetes : ports publicat alegrement, ús de –network=host sense necessitat, polítiques de xarxa inexistents al clúster o contenidors parlant entre si sense restriccions.

Quan tots els contenidors es poden comunicar lliurement , un atacant que comprometi un microservei es pot moure lateralment cap a bases de dades, cues de missatges o panells interns. A més, exposar serveis d'administració o API internes per error és una causa recurrent d'incidents.

  Com utilitzar diversos navegadors alhora per treballar millor i amb més seguretat

Daemon Docker exposat o mal protegit

El daemon de Docker és el “cervell” que gestiona la creació, destrucció i control de contenidors . Si la vostra API està accessible sense xifratge ni autenticació, qui arribi fins aquí pot executar contenidors arbitraris, muntar volums del host, llegir secrets o fins i tot esborrar tota la infraestructura.

Protegir el socket del daemon i el seu API és crític : fer servir TLS, restringir l'accés al socket Unix, no exposar l'endpoint TCP llevat que sigui imprescindible i auditar-ne regularment la configuració són mesures bàsiques per no regalar el control de la plataforma.

Secrets i variables dentorn exposats

Un clàssic en entorns de contenidors és deixar credencials i claus d'API on no han de ser : embegudes a Dockerfiles, dins de la pròpia imatge, en variables d'entorn planes o fins i tot pujades sense voler el control de versions.

Quan un secret viatja dins d'una imatge , qualsevol amb accés al registre o al mateix contenidor pot recuperar-lo amb una simple ordre d'inspecció. Això inclou contrasenyes de bases de dades, tokens de serveis externs o claus daccés al núvol; el tipus de material que no vols veure a les mans d'un atacant.

Vulnerabilitats del nucli i del host

Com tots els contenidors comparteixen kernel, qualsevol fallada a aquest nivell impacta en el conjunt ( monitor de sistema avançat per a Linux ). Si el sistema amfitrió no està pegat o es fan servir nuclis antics sense suport, les probabilitats que hi hagi un exploit públic aprofitable pugen com l'escuma.

A més del nucli, la pròpia configuració del sistema operatiu del host (cgroups, namespaces, mòduls carregats, serveis innecessaris) influeix directament en el risc. Un host descuidat converteix en paper mullat l'aïllament lògic dels contenidors.

Manca de visibilitat i monitorització

Sense bons registres i monitorització en temps real, un atac pot romandre actiu durant setmanes sense que ningú hi repari. Eines tradicionals de seguretat (per exemple, què és Wazuh ) moltes vegades no veuen el que passa dins d'un contenidor o no ho relacionen amb el context de Kubernetes.

La visibilitat granular a nivell de contenidor i pod (processos, connexions de xarxa, canvis al sistema d'arxius, consum de recursos) és essencial per detectar comportaments anòmals, indicadors de compromís i moviments laterals.

Bones pràctiques abans de desplegar contenidors Docker

La seguretat de Docker comença molt abans que el contenidor arribi a producció . Des de l'elecció del host fins al Dockerfile, cada decisió suma o resta superfície d'atac.

Endurir el sistema host

El primer és comptar amb un sistema operatiu del host net, actualitzat i dedicat a contenidors (veure guia per muntar i administrar un servidor Ubuntu Server ). Com menys comparteixis el node amb altres aplicacions “legacy”, menys camins hi haurà perquè una fallada en un altre servei afecti els teus workloads en contenidors.

Actualitzar el nucli amb rapidesa i optar per versions LTS amb suport actiu redueix de forma dràstica el risc que un exploit conegut serveixi per saltar-se l'aïllament. A més, activar i configurar correctament mecanismes com AppArmor, SELinux i cgroups ajuda a limitar allò que un procés compromès pot fer.

Triar imatges oficials i minimalistes

Usar imatges oficials i verificades com a base hauria de ser la norma . Repositoris com Docker Hub marquen els publishers verificats i moltes empreses mantenen registres privats amb les seves pròpies imatges endurides, sotmeses a escaneigs i revisions contínues.

Sempre que sigui possible convé triar imatges “slim”, Alpine o fins i tot distroless , incloent-hi només les dependències estrictament necessàries. En reduir el nombre de paquets d'usuari i eines interactives es minimitza la quantitat de vulnerabilitats potencials, s'accelera el desplegament i es complica molt la vida a un atacant que aconsegueixi execució de codi dins del contenidor.

Construir Dockerfiles amb seguretat al cap

El Dockerfile és el guió de tot el que va dins del teu contenidor , així que convé escriure'l amb mentalitat de hardening: eliminar eines de depuració en producció, no deixar restes de credencials, fixar versions concretes de paquets, netejar caches de gestors de paquets i separar en diverses capes les fases de compilació i execució

Un altre pas fonamental és definir un usuari no privilegiat dins del Dockerfile i canviar el context d'execució amb la instrucció USER . Res de llançar serveis com a root dins del contenidor “perquè és més fàcil”; així que hi hagi una fallada de seguretat, aquesta comoditat es converteix en un problema enorme.

Escaneig sistemàtic d'imatges

Escanejar les imatges a la recerca de vulnerabilitats conegudes abans que arribin al registre hauria de ser obligatori . Eines com Trivy, Clair, Anchore, Snyk Container o les capacitats de Docker Scout permeten analitzar tant imatges base com builds pròpies.

  SOC: Centre d'Operacions de Seguretat

Integrar aquests escàners al pipeline de CI/CD evita que una imatge amb CVEs crítics passi a producció “perquè se'ns va passar revisar”. L'ideal és definir polítiques clares: per exemple, bloquejar el desplegament si hi ha vulnerabilitats d'alta o crítica gravetat sense pegat disponible o sense justificació documentada.

Gestió segura de secrets i configuració

La gestió de secrets és un dels talons d'Aquil·les típics en contenidors . No serviria de gaire tenir la imatge perfecta si a dins viatgen contrasenyes i claus embegudes en text pla.

La regla d'or és que els secrets mai no formen part de la imatge : res d'escriure credencials al Dockerfile, ni de copiar-les com a fitxers dins del contenidor. En canvi, cal utilitzar mecanismes d'injecció en temps d'execució: Docker Secrets (a Swarm), gestors externs com HashiCorp Vault, AWS Secrets Manager, Azure Key Vault o altres serveis equivalents.

Si es fan servir variables d'entorn, cal tractar-les amb molta cura : evitar bolcar-les a logs, no pujar a repositoris de codi fitxers amb valors reals, revisar quines ordres de diagnòstic podrien mostrar valors sensibles i rotar les claus amb freqüència. Xifrar els secrets en repòs i aplicar controls daccés estrictes (qui pot llegir què) tanca moltes portes.

Xarxa, control d'accés i execució endurida

Quan les imatges i el host estan sota control, cal pensar en com es connecten, qui pot llançar-les i què poden fer en temps dexecució . Aquí entren xarxes, RBAC, capacitats del nucli, quotes de recursos i eines de monitorització.

Disseny de xarxa i segmentació

A Docker és recomanable utilitzar xarxes personalitzades i evitar publicar ports a l'exterior tret que sigui estrictament necessari . Definir xarxes de tipus bridge o overlay específiques per aplicació o domini funcional ajuda a contenir un possible compromís (veure arquitectura de microserveis ).

En entorns orquestrats amb Kubernetes, les Network Policies són imprescindibles : permeten definir què pods poden parlar amb quins, i en quins ports. De fàbrica, molts clústers permeten comunicació lliure entre pods, cosa que és còmode per començar però desastrós en cas d'intrusió. Incorporar tallafocs de capa 7 i TLS a les comunicacions entre serveis afegeix una altra capa de protecció.

Control d'accés, autenticació i signatura d'imatges

L'accés a registres, a l'API de Docker i al pla de control de Kubernetes sempre ha de passar per autenticació robusta i control de permisos . No tothom necessita poder fer push d'imatges o desplegar-les en producció.

Docker Content Trust i mecanismes de signatura d'imatges permeten assegurar-se que només es fan servir imatges signades per entitats de confiança. En paral·lel, RBAC tant a Kubernetes com a la pròpia plataforma de CI/CD controla qui pot llançar, escalar, modificar o esborrar contenidors i recursos associats.

Executar contenidors amb el mínim privilegi possible

Res de contenidors amb –privileged “perquè si no funciona” . Aquest flag atorga accés pràcticament total a l'amfitrió i elimina moltes mesures d'aïllament. El correcte és arrencar els serveis amb –cap-drop=ALL i després anar afegint únicament les capacitats del nucli que l'aplicació necessita (per exemple, NET_BIND_SERVICE per escoltar a ports baixos).

També és important utilitzar sistemes de fitxers de només lectura sempre que es pugui ( –read-only ) i muntar volums concrets per a les dades que sí que hagin de persistir. Això dificulta que un atacant escrigui binaris maliciosos o modifiqui configuracions dins del contenidor. Limitar la creació de nous processos i desactivar l'escalada de privilegis completen l'enduriment.

Perfils de seguretat del nucli: seccomp, AppArmor i SELinux

Docker ja inclou un perfil seccomp per defecte que filtra les trucades al sistema considerades perilloses , però en molts casos convé ajustar o crear perfils específics per a cada tipus de càrrega de treball. Com menys syscalls exposades tingui el procés, menys marge queda a un exploit.

A distribucions com Ubuntu i RHEL, AppArmor i SELinux afegeixen una altra capa de control sobre què pot fer cada contenidor: accés a fitxers, dispositius, xarxes, etc. Ben configurats, aquests mecanismes de Mandatory Access Control dificulten molt la vida a un atac fins i tot si s'explota una vulnerabilitat a l'aplicació.

Quotes de recursos i protecció davant d'abusos

Configurar límits de CPU, memòria i, si escau, I/O per a cada contenidor no només ajuda al rendiment del clúster, també limita l'impacte d'atacs que intenten esgotar recursos (DoS des de dins) o de bugs que provoquen fuites de memòria.

Els cgroups permeten definir aquestes quotes amb força precisió i són un complement natural a la resta de mesures. Un atacant que intenti minar criptomonedes dins un contenidor amb límits estrictes ho tindrà molt més difícil per afectar la resta de serveis del host.

  Com instal·lar aplicacions APK en Android de forma segura

Monitorització, resposta a incidents i eines especialitzades

Tancar la foto de la seguretat de contenidors sense parlar de monitorització seria un error . La realitat és que tard o d'hora hi haurà vulnerabilitats noves, errors humans o comportaments inesperats; la diferència és quant trigues a detectar-los i com respons.

Centralitzar els logs de contenidors, de l'amfitrió, de l'orquestració i del registre permet correlacionar esdeveniments i veure patrons que passarien desapercebuts si cada peça es mira per separat. Solucions com ELK, Grafana Loki o serveis gestionats al núvol són habituals per a aquesta comesa.

A la part de detecció d'amenaces en temps d'execució, Falco s'ha convertit en un estàndard de facto en codi obert . Inspecciona les trucades al sistema i genera alertes quan detecta accions sospitoses: shells interactius en contenidors que no els haurien de tenir, escriptures en rutes sensibles, connexions de xarxa inusuals, etc. Integrat amb eines SIEM o plataformes de resposta, permet reaccionar ràpidament.

Per a una cobertura més àmplia de cicle de vida complet hi ha plataformes de seguretat natives del núvol com Aqua Security, Prisma Cloud, Sysdig Secure, Qualys Container Security o suites unificades centrades en el desenvolupador com Aikido Security. Aquestes solucions combinen escaneig d'imatges, seguretat en temps d'execució, gestió de la postura al núvol, anàlisi de codi, detecció de secrets, generació de SBOM i molt més.

El valor afegit d'aquestes plataformes sol estar en la consolidació de troballes i en la priorització intel·ligent : en lloc d'inundar els equips amb milers d'alertes, destaquen les vulnerabilitats realment explotables al teu entorn, ofereixen guies de remediació clares i fins i tot pegats suggerits mitjançant IA perquè els desenvolupadors corregeixin més ràpid.

Automatització de la seguretat al pipeline CI/CD

Intentar gestionar la seguretat de contenidors a mà és recepta segura per a oblits i bretxes . Per això, una de les recomanacions més repetides és integrar totes les revisions possibles al pipeline de CI/CD: com més aviat es detectin els problemes, menys costós serà corregir-los.

L'ideal és que cada canvi de codi dispari una cadena automàtica : construcció de la imatge, escaneig de vulnerabilitats, anàlisi de dependències, revisió de fitxers d'infraestructura com a codi, comprovació de polítiques (per exemple, que cap contenidor vagi com a root) i, només si tot passa, push al registre i desplegament.

Aquest enfocament redueix molt la dependència de la memòria o la disciplina individual . Si el sistema no et deixa desplegar una imatge amb vulnerabilitats crítiques o una configuració que trenca les polítiques, és molt més difícil que “per presses” es coli una cosa inacceptable en producció. A més, automatitzar la rotació d'imatges i el redeploy freqüent ajuda a mantenir sempre versions aplicades, evitant aquests pods que fa mesos que corren amb programari desactualitzat.

En organitzacions amb diversos equips i dotzenes de microserveis , comptar amb una plataforma centralitzada que consolidi la informació de seguretat (codi, contenidors, núvol, dependències) i ofereixi una visió clara del risc per projecte facilita moltíssim la vida als responsables de seguretat i als líders tècnics.

Al final, la seguretat dels contenidors Docker i dels clústers Kubernetes no depèn només d'una peça o eina concreta , sinó de combinar una bona higiene a les imatges, un host ben apedaçat, xarxes segmentades, privilegis mínims, gestió rigorosa de secrets, monitorització contínua i una forta dosi d'automatització al pipeline. Convertir aquestes pràctiques en rutina diària, més que en projectes puntuals, és el que marca la diferència entre un entorn que “funciona fins que passa alguna cosa” i una plataforma preparada per suportar incidents sense posar en perill el negoci.

seguretat en contenidors twistlock prisma cloud
Article relacionat:
Seguretat en contenidors amb Twistlock i Prisma Cloud