Guia Padrão de Hardening (UFW) - Infraestrutura CTIC
Este documento define o padrão de segurança e configuração de firewall local (UFW) para todas as novas Máquinas Virtuais (VMs) provisionadas na nossa infraestrutura.
Nossa arquitetura é baseada no princípio de Zero Trust (Confiança Zero) e Defesa em Profundidade. O fato de uma VM estar atrás do firewall de borda (MikroTik/pfSense) não a isenta de ter seu próprio firewall local ativado e configurado rigorosamente.
A Filosofia (Como pensamos as regras)
-
Padrão Fechado: Tudo que entra é bloqueado por padrão.
-
Gerência Restrita: Portas administrativas (SSH, Painéis Web) NUNCA são abertas para a rede toda (
any). Elas devem apontar estritamente para as sub-redes de gerência (CTIC) ou para o IP do Proxy Reverso (Caddy). -
Serviços Públicos Isolados: Portas que recebem tráfego da internet via NAT (DMZ) devem ser abertas com cuidado, e a segurança da autenticação deve ser garantida na camada da aplicação.
Pré-requisitos (A Porta da Fortaleza)
Antes de sequer pensar em configurar o firewall, garanta que o serviço SSH da VM foi alterado da porta padrão (22) para a porta customizada da nossa infraestrutura:
-
Porta SSH Padrão:
19890(Isso elimina 99% dos bots de escaneamento automatizado).
Passo a Passo: O Fluxo de Hardening
Passo 0: A Regra de Ouro (Mapeamento)
NUNCA ative o UFW antes de instalar os serviços da VM. O fluxo correto de trabalho é: Instalar as aplicações > Iniciar os serviços > Descobrir as portas > Configurar o UFW.
Após instalar o que a VM precisa rodar (Apache, Docker, Bancos de Dados, etc.), rode o comando abaixo para fazer um "raio-X" e descobrir exatamente quais portas estão ouvindo (LISTEN):
sudo ss -tulnp
Observe a coluna State e anote as portas e os protocolos (TCP/UDP) baseando-se nestes dois estados:
-
LISTEN: Para serviços TCP (ex: SSH, Apache, Bancos de Dados).
-
UNCONN (Unconnected): Para serviços UDP (ex: DNS, NTP, SNMP).
Anote as portas e os protocolos (TCP/UDP) que aparecerem na lista. Elas serão a base para as regras abaixo.
Passo 1: Política Base (Obrigatório)
Comece definindo a política de "Tolerância Zero".
# Bloqueia conexões de entrada por padrão e permite as de saída
sudo ufw default deny incoming
sudo ufw default allow outgoing
Passo 2: Acesso Administrativo - SSH (Obrigatório)
Libere o SSH apenas para as redes de gerência e do CTIC. Nunca use allow genérico para o SSH
# Permite SSH apenas da rede de Gerência
sudo ufw allow from 10.36.254.0/24 to any port 19890 proto tcp comment 'Acesso SSH - Gerencia'
# Permite SSH apenas da rede do CTIC
sudo ufw allow from 10.36.253.0/24 to any port 19890 proto tcp comment 'Acesso SSH - CTIC'
Passo 3: Serviços Internos via Proxy (Exemplo: Web, Painéis)
Se a VM roda um serviço que será acessado via domínio pelo nosso Proxy Reverso, libere a porta da aplicação apenas para o IP do servidor Caddy.
# Substitua o IP_DO_CADDY_GERENCIA pelo IP real do nosso proxy
sudo ufw allow from IP_DO_CADDY_GERENCIA to any port 3000 proto tcp comment 'Grafana via Caddy'
sudo ufw allow from IP_DO_CADDY_GERENCIA to any port 80 proto tcp comment 'Apache via Caddy'
Passo 4: Serviços Públicos / DMZ (Exemplo: IoT, APIs)
Se a VM fica na DMZ e recebe tráfego direto da internet via NAT do MikroTik, a porta da aplicação precisa ser aberta para any (qualquer origem).
⚠️ Atenção: Certifique-se de que a aplicação exige autenticação forte (Tokens, Usuário/Senha) antes de aplicar esta regra.
# Exemplo: Liberando portas abertas para a internet
sudo ufw allow 1883/tcp comment 'Mosquitto Público (NAT)'
sudo ufw allow 8086/tcp comment 'InfluxDB Público (NAT)'
🔴 Passo 5: Ativando o Firewall
Após mapear as portas no Passo 0 e inserir todas as regras nos Passos seguintes, ative o UFW. Atenção: Verifique duplamente se as regras do Passo 2 (SSH) foram aplicadas corretamente para você não trancar a si mesmo para fora da máquina!
sudo ufw enable
🔍 Comandos Úteis para Troubleshooting
Se algo der errado ou você precisar auditar a VM no futuro, use as ferramentas abaixo:
-
Listar regras ativas com numeração (ótimo para revisar):
sudo ufw status numbered -
Apagar uma regra específica (ex: regra número 3):
sudo ufw delete 3 -
Refazer o Raio-X das portas locais:
sudo ss -tulnp
Documentação de Infraestrutura CTIC - Arquitetura Segura e Zero Trust.
No comments to display
No comments to display