Instalação e Hardening do Docker no Debian 12
O Debian 12 (Bookworm) é uma das distribuições mais sólidas para servidores de produção. Neste guia prático, vamos configurar o repositório oficial do Docker, instalar os pacotes essenciais e aplicar configurações recomendadas para hardening e rotação de logs.
1. Pré-requisitos e Limpeza
Antes de começar, certifique-se de que pacotes conflitantes ou versões antigas não estejam instaladas:
sudo apt update
sudo apt remove -y docker.io containerd runcInstale os utilitários necessários para comunicação segura com repositórios APT:
sudo apt install -y ca-certificates curl gnupg lsb-release2. Adicionando o Repositório Oficial do Docker
Crie o diretório de chaves do APT e adicione a chave GPG oficial do projeto Docker:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpgAdicione o repositório nas listas de fontes:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null3. Instalação dos Pacotes
Atualize o índice de pacotes e instale o Docker Engine, CLI, Containerd e o plugin Compose:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginVerifique se o serviço está ativo:
sudo systemctl status docker --no-pager4. Hardening do Daemon (daemon.json)
Por padrão, os logs do Docker podem crescer indefinidamente até esgotar o espaço em disco do servidor. Além disso, habilitar recursos de isolamento aumenta a segurança geral.
Crie ou edite o arquivo /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "3"
},
"live-restore": true,
"userland-proxy": false,
"no-new-privileges": true
}💡 Dica de Produção
O parâmetro "live-restore": true permite que os containers continuem executando mesmo quando o daemon do Docker for reiniciado ou atualizado!
Aplique as alterações reiniciando o serviço:
sudo systemctl restart docker5. Testando o Ambiente
Execute o container de teste para certificar que o ecossistema está operando corretamente:
docker run --rm hello-worldParabéns! Seu host Debian 12 agora possui um ambiente Docker robusto, seguro e com controle de armazenamento de logs configurado.
