Docker Hardened Images: A segurança de containers que estava a fazer falta

Olá a todos!

Se há coisa que me tira do sério é ver equipas a meterem aplicações em produção sem pensarem minimamente na segurança da supply chain. E não, não estou a falar apenas de grandes empresas com orçamentos dedicados para segurança. Estou a falar de todos nós, developers, homelabbers, PMEs, startups. Todos. Porque quando fazemos aquele docker pull nginx ou docker pull postgres, quantos de nós paramos para pensar no que está realmente dentro daquela imagem?

Falamos disso no passado, e chegamos a apresentar aqui no blog um post sobre scanners internos a vulnerabilidades nos containers.
É exactamente sobre o risco de não saberem o que está dentro dos vossos containers que vos quero falar hoje e sobre as Docker Hardened Images (DHI), que a Docker tornou gratuitas e open source há poucos dias.
E antes que digam “lá vem o Nuno com mais uma ferramenta”, deixem-me ser claro: isto não é apenas mais uma ferramenta. Isto é uma mudança na forma como pensamos (e que a docker pensa) segurança em containers (e provavelmente sacar algum guito extra).

O Problema que Ninguém Gosta de Admitir

Vamos começar pelo básico. Containers tornaram-se no caminho universal para produção. O Docker Hub tem mais de 20 mil milhões de pulls mensais. Sim, leram bem, mil milhões com M maiúsculo. Cerca de 90% das organizações dependem de containers nos seus workflows de entrega de software.
Mas aqui está o problema: a maioria dessas imagens base que usamos todos os dias são autênticas bombas-relógio de segurança. Não porque sejam intencionalmente maliciosas, mas porque foram construídas com um mindset diferente, numa época em que a supply chain security não era a preocupação número um.
E os números não mentem. Em 2025, os ataques à supply chain causaram mais de 60 mil milhões de dólares em danos. Isto é o triplo do valor de 2021. Nenhum ecossistema está seguro: Python, Node.js, Go, Java. Todos são alvos. Cada passo do build, cada dependência, cada layer da nossa imagem pode ser um vetor de ataque.
Já viram o que aconteceu com o caso do xz-utils? Um maintainer sozinho, sob pressão, introduziu uma backdoor que quase comprometeu milhões de sistemas Linux. Ou o caso mais recente com packages maliciosos no npm que roubavam credenciais de AWS? Isto não são cenários teóricos de filmes de Hollywood. Isto acontece, todos os dias, enquanto nós fazemos pull de imagens sem pensar duas vezes.

Supply Chain Attacks: Hãn?!

Serei brutalmente honesto convosco: Supply chain attacks são o pesadelo de qualquer pessoa responsável por infra-estrutura ou segurança. E porquê? Porque são incrivelmente difíceis de detectar e ainda mais difíceis de prevenir.
Pensem nisto: quando fazem docker pull node:latest, estão a confiar não só na imagem oficial do Node.js, mas em todas as camadas base sobre as quais foi construída, em todos os packages do sistema operativo incluídos, em todas as dependências de runtime. São centenas, às vezes milhares de componentes. E se apenas um deles estiver comprometido, flump, toda a vossa aplicação está em risco.
E o pior? Na maioria das vezes, nem sequer têm visibilidade sobre o que está dentro dessas imagens. Não têm um SBOM completo, não têm provenance verificável, não têm garantias sobre quando as vulnerabilidades serão corrigidas. É como construir uma casa sobre areia movediça e esperar que se mantenha de pé.

Os atacantes sabem disto. Eles não tentam atacar a vossa aplicação directamente – isso seria muito óbvio. Em vez disso, comprometem uma biblioteca obscura que vocês nem sabem que estão a usar, três camadas abaixo na vossa dependency tree. E quando dão por ela, já o atacante tem acesso aos vossos sistemas há semanas ou meses.

É precisamente aqui que as Docker Hardened Images entram. Não como mais uma camada de complexidade, mas como uma fundação sólida que resolve estes problemas pela raíz.

Docker Hardened Images: O Que São e Porque Interessam?

As DHI não são apenas “imagens mais seguras”. São imagens construídas desde o início com um mindset completamente diferente. A filosofia delas é a seguinte:

Primeiro: Transparência Total

A Docker decidiu fazer algo que deveria ser óbvio mas que poucos fazem: ser completamente transparente. Cada imagem DHI inclui um SBOM completo e verificável. Cada build tem SLSA Build Level 3 provenance. Cada vulnerabilidade é avaliada usando dados públicos de CVE – sem truques de scoring proprietários, sem downgrade de vulnerabilidades para parecer melhor nos scanners.
E isto é crítico. Quantas vezes já viram vendors a esconder CVEs ou a usar sistemas de scoring obscuros para fazerem as suas imagens parecerem mais seguras do que realmente são? Com DHI, o que vêem é o que obtêm. Se há uma vulnerabilidade e ainda não foi corrigida, vocês sabem. Não há surpresas desagradáveis em produção.

Segundo: Minimal Attack Surface

As DHI usam um runtime distroless. Isto significa que só incluem o absolutamente necessário para a aplicação correr. Nada de bash, nada de package managers, nada de ferramentas que nunca vão usar mas que ficam lá a ocupar espaço e a criar vectores de ataque.
O resultado? Imagens até 95% mais pequenas e dramaticamente menos CVEs. E não estou a falar de reduzir de 100 para 90 CVEs. Estou a falar de reduções de centenas para dígitos simples, ou mesmo zero na versão Enterprise.

Terceiro: Built on Trusted Foundations

E aqui está a parte que me agradou particularmente: as DHI são construídas sobre Alpine e Debian. Não é uma distribuição proprietária obscura que ninguém conhece. São as mesmas fundações que já usamos e confiamos, mas fortificadas e mantidas com standards de segurança enterprise.
Isto significa que migrar para DHI não requer reescrever os vossos Dockerfiles do zero. Na maioria dos casos, é literalmente mudar a imagem base. A Docker até tem um assistente de AI experimental que pode analisar os vossos containers existentes e recomendar ou aplicar imagens hardened equivalentes.

Os Três Níveis de DHI: Para Cada Necessidade

Agora, a parte que nos vai interessar: as opções. A Docker não fez apenas uma solução one-size-fits-all. Criaram três tiers diferentes, cada um adequado a diferentes realidades de segurança.

Docker Hardened Images (Gratuito)

Esta é a fundação que está agora disponível para todos, completamente grátis e open source sob licença Apache 2.0. Inclui imagens minimal hardened, migração facilitada, transparência total, e um ecossistema aberto construído sobre Alpine e Debian.
Para a maioria das aplicações, especialmente se forem homelabbers, startups ou PMEs sem requisitos regulatórios específicos, esta versão gratuita é mais do que suficiente. Têm acesso ao catálogo completo de imagens hardened, SBOMs completos, provenance verificável, e uma fundação segura para construir.

Docker Hardened Images Enterprise

Esta é a versão para organizações com requisitos de segurança ou regulatórios mais rigorosos. Inclui imagens FIPS-enabled e STIG-ready, compliance com CIS benchmarks, e o mais importante: SLA de remediação de CVEs críticos em menos de 7 dias.
Sete dias pode não parecer impressionante, mas pensem nisto: quando surge uma vulnerabilidade crítica, quanto tempo normalmente esperam por um patch upstream? Semanas? Meses? Com DHI Enterprise, têm a garantia de que em menos de uma semana têm uma imagem corrigida e testada.
E há mais: customização ilimitada. Precisam de adicionar certificados? Packages do sistema? Scripts específicos? Com DHI Enterprise podem fazer isso tudo, mantendo a segurança e compliance. A Docker gere todo o lifecycle das vossas imagens custom, incluindo SBOMs e provenance.

DHI Extended Lifecycle Support (ELS)

Este é um add-on ao Enterprise, e resolve um dos problemas mais chateiros no mundo do software: o que fazer quando o suporte upstream termina mas as vossas aplicações ainda precisam correr.
Normalmente, quando uma versão de um runtime ou OS atinge end-of-life, os patches param. Mas as vulnerabilidades não. Os scanners começam a acender alarmes, os auditores fazem perguntas difíceis, e as frameworks de compliance exigem respostas.
ELS dá-vos até 5 anos adicionais de cobertura de segurança. Patches contínuos de CVE, SBOMs e provenance actualizados, e signing e auditabilidade contínuos para compliance. Para sistemas críticos que não podem simplesmente ser replatformed a cada 2-3 anos, isto é essencial.

O Ecossistema que Torna Isto Possível

Uma das coisas que mais me impressiona nas DHI não são apenas as imagens em si, mas o ecossistema que está a crescer à volta delas. A Docker não está a fazer isto sozinha.

Têm parcerias com Google, MongoDB, CNCF, Anaconda, e muitos outros a fornecer imagens hardened. Plataformas de segurança como Snyk e JFrog Xray estão a integrar DHI directamente nos seus scanners. CircleCI está a usar DHI nos seus pipelines de CI/CD.
E há mais planeado no horizonte. A Docker já lançou Hardened Helm Charts para ambientes Kubernetes, e agora estão a expandir para Hardened MCP Servers. O objectivo é claro: conseguir proteger a vossa aplicação desde o main() até à última camada de sistema.

Isto significa que num futuro próximo vamos ter não só imagens hardened, mas também libraries hardened, system packages hardened, e outros componentes seguros em que todos dependemos. É um esforço de toda a indústria para elevar a barra de segurança para todos.

Como Começar (E Porque Devemos Começar Já)

Aqui está a parte prática. Como é que começamos a usar DHI nos nossos projectos?

1. Para Projectos Novos

Se estão a começar um projecto novo, é trivial. Em vez de:

FROM node:20-alpine

Usem:

FROM docker.io/hardened/node:20-alpine

É literalmente isto. A imagem é compatível, minimal, e já vem com todas as garantias de segurança que falei.

2. Para Projectos Existentes

Para projectos existentes, a Docker tem documentação detalhada sobre como migrar. Na maioria dos casos, é mesmo só mudar a imagem base. Mas se tiverem dúvidas ou casos mais complexos, o assistente de AI experimental pode ajudar a identificar as imagens equivalentes.

3. Para Ambientes Kubernetes

Se correm Kubernetes, podem usar os Hardened Helm Charts. Isto garante que não só as vossas imagens são hardened, mas toda a stack que corre no vosso cluster.

A Realidade Prática: Vale Mesmo a Pena?

Agora, sei que muitos de vocês estão a pensar: “Ok Nuno, isto tudo soa bem, mas na prática, vale mesmo a pena o esforço de migrar?”
A resposta curta: sim, absolutamente. Segurança vale a pena.

A resposta longa: deixem-me dar-vos exemplos concretos. Empresas como Adobe e Qualcomm adoptaram DHI para proteger toda a sua infra-estrutura enterprise e atingir os níveis mais rigorosos de compliance. Startups como Attentive e Octopus Deploy usaram DHI para acelerar a sua capacidade de conseguir compliance e vender para empresas maiores.
Mas não precisam de ser uma Adobe ou Qualcomm para beneficiar. Se são uma PME que quer vender para clientes enterprise, ter as vossas aplicações construídas sobre DHI é um diferenciador importante. Se são um homelabber que leva segurança a sério, DHI dá-vos peace of mind que as vossas aplicações estão a correr sobre fundações sólidas.
E aqui está a parte importante: o custo de não fazer isto pode ser muito mais alto. Um breach de segurança, especialmente se vier de uma vulnerabilidade conhecida numa imagem base que podiam ter evitado, pode custar não só dinheiro mas também reputação e confiança dos clientes. Alem dos custos legais e multas do ocorrido.

Integração com o Resto do Vosso Stack de Segurança

Uma coisa que é importante entender: DHI não é uma solução isolada. Funciona em conjunto com outras ferramentas e práticas de segurança que deviam estar a usar.
Por exemplo, se já usam Docker Scout para scanning de vulnerabilidades, DHI integra-se perfeitamente. As imagens hardened vão aparecer com dramaticamente menos alertas, e os alertas que aparecerem têm SBOMs completos para investigar.
Se usam ferramentas como Socket (que mencionei em posts anteriores sobre supply chain security), a integração também é natural. Socket protege ao nível de packages, DHI protege ao nível de imagens base. Juntos, criam uma defesa em profundidade.
E se seguirem práticas de segurança como scanning regular, least privilege, network segmentation, DHI torna tudo isso mais eficaz porque começam com uma fundação muito mais pequena e mais segura.

O Futuro: Para Onde Vamos a Partir Daqui?

A Docker foi clara: isto é apenas o começo. Nos próximos meses vão expandir esta fundação hardened por toda a stack de software. Hardened libraries, hardened system packages, e outros componentes seguros.

O objetivo final? Conseguir dizer com confiança que a vossa aplicação é segura desde o primeiro import ou require até ao último syscall ao kernel. É ambicioso, mas é exactamente o tipo de ambição que a indústria precisa.
E há outra coisa importante: ao tornar DHI gratuito e open source, a Docker está a estabelecer um novo standard para a indústria. Estão a dizer: “segurança não devia ser um feature premium”. E isso é algo que eu apoio completamente.

A Minha Recomendação

Se chegaram até aqui, já sabem o que eu vou dizer. Deviam começar a usar DHI. Hoje. Agora. Especialmente porque é grátis e open source, não há desculpas para não o fazer.
Comecem com projectos novos. Testem em desenvolvimento. Vejam a diferença nos reports de scanning. E depois, gradualmente, migrem os projectos existentes.
Para PMEs que querem levar segurança a sério mas não têm orçamentos enterprise para soluções proprietárias caras, DHI é um game changer. Dá-vos capacidades de segurança ao nível enterprise, grátis.
Para homelabbers e entusiastas, é uma forma excelente de aprenderem sobre supply chain security e boas práticas, enquanto mantêm os vossos labs seguros.

E para equipas enterprise, bem, se ainda não estão a avaliar DHI, deviam estar. Os vossos CISOs vão agradecer.

Recursos para Começar

A Docker tem documentação excelente sobre DHI. Recomendo que explorem:

  • O catálogo completo de imagens hardened no Docker Hub
  • A documentação oficial sobre como migrar
  • O webinar de lançamento (se ainda estiver disponível)
  • O programa de parceiros, se forem vendors

E claro, se tiverem dúvidas ou experiências para partilhar, quero ouvir. A segurança é um esforço colectivo, e quanto mais partilharmos conhecimento, mais seguros todos ficamos.

Chegamos agora fim do primeiro post do ano. Docker Hardened Images representam exactamente o tipo de inovação que a indústria precisa. Não é mais uma ferramenta complicada que adiciona overhead. É uma fundação melhor, mais segura, mais transparente, que torna fazer a coisa certa tão fácil como fazer um pull.
Supply chain attacks não vão desaparecer. Vão continuar a ser um vector de ataque cada vez mais usado. Mas com ferramentas como DHI, temos pelo menos uma hipótese de lutar de volta.
E o melhor? Não precisam de ser uma empresa Fortune 500 para beneficiar. Está disponível para todos, grátis, open source. É exactamente assim que deveria ser.

Agora, vão lá fazer pull daquela imagem hardened e dormir melhor à noite sabendo que a vossa infra tem uma fundação sólida.

Até ao próximo post e bom 2026.
Abraço
Nuno