Guia
Como configurar firewall UFW no Ubuntu
Configure o firewall UFW no Ubuntu para proteger sua VPS, liberar SSH, HTTP e HTTPS, bloquear portas e validar regras com testes seguros sem bloqueio.
Tempo estimado: 15 a 20 minutos
Dificuldade: Iniciante
Este guia mostra como configurar o UFW no Ubuntu para proteger uma VPS sem bloquear seu próprio acesso SSH. O UFW, sigla de Uncomplicated Firewall, é uma camada simples para gerenciar regras do netfilter no Linux. Você vai usar comandos seguros, conferir cada etapa e validar o resultado antes de considerar a configuração pronta. Se você ainda está escolhendo ambiente para projetos, veja também nosso guia de contexto sobre VPS para desenvolvedores. Para entender critérios de avaliação técnica usados nos conteúdos do Melhor VPS, consulte como avaliamos.
O que você vai aprender
Ao final deste tutorial, você vai conseguir configurar uma base segura de firewall em uma VPS Ubuntu usando UFW. A ideia não é criar uma política complexa logo de início, mas deixar seu servidor protegido contra conexões inesperadas e manter abertas apenas as portas que você realmente usa.
Você vai aprender a:
- Verificar a versão do Ubuntu e confirmar se está conectado por SSH.
- Identificar portas em escuta antes de mexer no firewall.
- Fazer um backup simples dos arquivos e do estado atual das regras.
- Instalar o UFW ou confirmar que ele já está disponível.
- Definir políticas padrão para bloquear entradas e permitir saídas.
- Liberar SSH com segurança antes de ativar o firewall.
- Liberar portas comuns como HTTP e HTTPS para servidores web.
- Ativar logs, revisar regras numeradas e testar a configuração.
O foco é uma VPS Ubuntu recém-criada ou com poucos serviços instalados. Se você já hospeda sites, APIs, bancos de dados ou painéis administrativos, leia cada passo com calma e ajuste as portas conforme seu ambiente. Firewall não substitui atualização de pacotes, autenticação forte, chaves SSH ou boas práticas de aplicação. Ele reduz a superfície de ataque e evita que serviços internos fiquem expostos por acidente.
Pré-requisitos
Antes de começar, você precisa de acesso administrativo ao servidor. O cenário usado neste guia é uma VPS com Ubuntu 22.04 LTS ou Ubuntu 24.04 LTS, acessada por SSH. Os comandos também funcionam na maioria das instalações recentes do Ubuntu Server. Se você usa Debian, muitos comandos serão parecidos, mas nomes de perfis e versões de pacotes podem variar um pouco.
Você precisa ter:
- Um usuário com permissão de sudo.
- Acesso SSH funcionando antes de ativar o firewall.
- Um terminal local no Linux, macOS, Windows Terminal ou cliente SSH equivalente.
- Conhecimento básico para copiar e executar comandos no terminal.
- Lista das portas que seus serviços usam, por exemplo 22 para SSH, 80 para HTTP e 443 para HTTPS.
Use uma sessão SSH já aberta durante todo o processo. Não feche o terminal até concluir os testes. Se possível, abra uma segunda sessão SSH em paralelo depois de liberar a porta correta. Isso ajuda a confirmar que o servidor continua acessível.
Neste guia, os comandos assumem que o SSH está na porta 22, que é o padrão. Se você usa porta personalizada, como 2222, adapte os comandos antes de ativar o UFW. Na dúvida, verifique primeiro com ss, como mostrado no Passo 1. Para projetos hospedados fora do Brasil, latência e rotas podem influenciar seus testes de conexão. Se esse tema importa para você, leia também VPS no Brasil ou no exterior.
Passo 1: Confirmar acesso SSH e identificar portas abertas
Comece entendendo o estado atual do servidor. Esse passo evita o erro mais comum ao configurar firewall em VPS: ativar o bloqueio de entrada sem liberar a porta SSH. Você também vai registrar um pequeno backup textual do cenário atual. Esse backup não altera regras, apenas salva informações úteis para consulta se algo sair diferente do esperado.
Primeiro, confirme a versão do Ubuntu:
lsb_release -a
Você deve ver algo parecido com:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Agora confirme o usuário atual e se você tem sudo:
whoami
sudo -v
Se o comando sudo -v não mostrar erro, sua credencial sudo foi aceita. Em seguida, confirme que a sessão atual veio por SSH:
echo $SSH_CONNECTION
Uma saída típica mostra seu IP de origem, a porta de origem, o IP da VPS e a porta SSH do servidor:
203.0.113.25 53144 198.51.100.10 22
Agora liste portas TCP em escuta. Isso mostra serviços expostos localmente no servidor:
sudo ss -tlnp
Exemplo de saída em uma VPS simples:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((sshd,pid=742,fd=3))
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((nginx,pid=912,fd=6))
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((nginx,pid=912,fd=7))
Faça um registro do estado atual. Este comando é seguro e grava apenas um arquivo no seu diretório home:
sudo ss -tlnp > $HOME/portas-antes-ufw.txt
cat $HOME/portas-antes-ufw.txt
Se você identificar portas desconhecidas, investigue antes de liberar tudo. Use nomes de processos, pacotes instalados e documentação do serviço. Em uma configuração inicial, normalmente você libera SSH, HTTP e HTTPS. Bancos como PostgreSQL, MySQL e Redis não devem ficar públicos sem uma necessidade clara e uma regra restrita por IP.
Passo 2: Instalar o UFW e conferir o estado inicial
O Ubuntu Server costuma trazer o UFW disponível, mas nem sempre ele vem instalado ou habilitado em imagens minimalistas de VPS. Neste passo, você vai atualizar o índice de pacotes, instalar o UFW se necessário e verificar o status inicial. A atualização usada aqui não faz upgrade do sistema inteiro, apenas atualiza a lista de pacotes disponível nos repositórios configurados.
Execute:
sudo apt update
A saída esperada varia conforme o mirror, mas deve terminar sem erros:
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Agora instale o UFW:
sudo apt install ufw -y
Se ele já estiver instalado, você verá algo semelhante a:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ufw is already the newest version (0.36.2-6).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Verifique a versão:
ufw --version
Saída esperada:
ufw 0.36.2
Copyright 2008-2023 Canonical Ltd.
Antes de alterar regras, salve um backup do arquivo de configuração padrão do UFW. Esse backup é preventivo e não interrompe serviços:
sudo cp /etc/default/ufw /etc/default/ufw.backup.$(date +%F-%H%M)
ls -l /etc/default/ufw.backup.*
Você deve ver um arquivo com data e hora:
-rw-r--r-- 1 root root 793 Jun 15 10:20 /etc/default/ufw.backup.2026-06-15-1020
Confira o status atual:
sudo ufw status verbose
Em uma VPS recém-criada, o retorno comum é:
Status: inactive
Se aparecer Status: active, não prossiga no automático. Revise as regras existentes com sudo ufw status numbered antes de mudar qualquer coisa. Um servidor já em produção pode depender de regras antigas para serviços específicos.
Passo 3: Definir políticas padrão seguras
As políticas padrão dizem ao firewall o que fazer quando uma conexão não combina com nenhuma regra específica. Para uma VPS comum, a configuração base recomendada é bloquear conexões de entrada e permitir conexões de saída. Assim, usuários externos só entram nas portas que você liberar, enquanto o servidor continua conseguindo baixar atualizações, consultar DNS, acessar APIs e enviar requisições para a internet.
Antes de aplicar, confirme novamente se o UFW ainda está inativo ou revise regras existentes:
sudo ufw status verbose
Saída esperada neste ponto:
Status: inactive
Agora defina a política padrão de entrada como deny:
sudo ufw default deny incoming
Você deve ver:
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
Defina a política padrão de saída como allow:
sudo ufw default allow outgoing
Saída esperada:
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
Confira a configuração detalhada:
sudo ufw status verbose
Como o firewall ainda não foi ativado, a saída pode continuar curta:
Status: inactive
Mesmo com status inativo, as políticas já foram registradas para quando o UFW for habilitado. Não ative ainda. Primeiro você precisa liberar SSH. Se você ativar agora sem uma regra de entrada para SSH, sua conexão atual pode continuar por algum tempo, mas novas sessões podem ser bloqueadas. Em VPS, isso costuma virar um problema chato porque a correção depende de console web do provedor ou modo de recuperação.
Se você administra ambientes com vários serviços, documente as portas necessárias antes de seguir. Uma prática simples é manter um arquivo de notas:
cat > $HOME/portas-planejadas-ufw.txt << 'EOF'
22/tcp SSH
80/tcp HTTP
443/tcp HTTPS
EOF
cat $HOME/portas-planejadas-ufw.txt
Saída esperada:
22/tcp SSH
80/tcp HTTP
443/tcp HTTPS
Passo 4: Liberar SSH antes de ativar o firewall
Este é o passo mais sensível do tutorial. Você vai liberar a porta usada pelo SSH antes de habilitar o UFW. Se sua VPS usa a porta padrão 22, o perfil OpenSSH geralmente resolve. Se você alterou a porta do SSH, libere a porta personalizada explicitamente. Não adivinhe. Confira o serviço em escuta antes.
Verifique a porta do SSH:
sudo ss -tlnp | grep ssh
Em uma instalação padrão, a saída será parecida com:
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((sshd,pid=742,fd=3))
LISTEN 0 128 [::]:22 [::]:* users:((sshd,pid=742,fd=4))
Liste os perfis de aplicação conhecidos pelo UFW:
sudo ufw app list
Você deve ver algo como:
Available applications:
OpenSSH
Libere o perfil OpenSSH:
sudo ufw allow OpenSSH
Saída esperada:
Rules updated
Rules updated (v6)
Confira as regras adicionadas:
sudo ufw status numbered
Como o UFW ainda pode estar inativo, o retorno pode indicar regras registradas ou apenas status inativo, dependendo da versão e do estado. Use também:
sudo ufw show added
Saída esperada:
ufw allow OpenSSH
Se o seu SSH usa uma porta personalizada, como 2222, use este formato antes de ativar o firewall:
sudo ufw allow 2222/tcp comment 'SSH porta personalizada'
sudo ufw show added
Saída esperada:
ufw allow OpenSSH
ufw allow 2222/tcp comment 'SSH porta personalizada'
Só use a regra personalizada se a porta realmente estiver configurada no SSH. Liberar portas desnecessárias aumenta a exposição do servidor. Quando possível, mantenha uma sessão SSH aberta e abra outra em paralelo depois da ativação, para testar login novo sem depender apenas da conexão atual.
Passo 5: Liberar HTTP, HTTPS e serviços necessários
Agora libere somente os serviços que precisam receber conexões externas. Em uma VPS para site ou API web, as portas mais comuns são 80/tcp e 443/tcp. A porta 80 é usada para HTTP e também para validação HTTP do Let’s Encrypt. A porta 443 é usada para HTTPS. Se você ainda não instalou Nginx ou Apache, pode configurar as regras mesmo assim, mas elas só terão efeito prático quando houver um serviço escutando nessas portas.
Libere HTTP:
sudo ufw allow 80/tcp comment 'HTTP'
Saída esperada:
Rules updated
Rules updated (v6)
Libere HTTPS:
sudo ufw allow 443/tcp comment 'HTTPS'
Saída esperada:
Rules updated
Rules updated (v6)
Verifique as regras planejadas:
sudo ufw show added
Saída esperada em uma configuração básica:
ufw allow OpenSSH
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'
Se você usa Nginx instalado por pacote, talvez existam perfis prontos:
sudo ufw app list
Exemplo de saída com Nginx:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Nesse caso, você poderia usar sudo ufw allow 'Nginx Full', mas não misture muitas abordagens sem necessidade. Para iniciantes, portas explícitas são fáceis de auditar. Serviços como MySQL na porta 3306, PostgreSQL na 5432 e Redis na 6379 não devem ser liberados publicamente na maioria dos casos. Se um serviço precisa ser acessado de fora, prefira VPN, túnel SSH ou regra restrita por IP. O objetivo é expor o mínimo possível.
Passo 6: Ativar o UFW e revisar as regras numeradas
Com SSH, HTTP e HTTPS liberados, você pode ativar o firewall. Este comando altera o comportamento de rede do servidor. Antes de executar, confirme que sua regra de SSH aparece em sudo ufw show added. Se estiver usando uma porta personalizada, confirme que a porta certa foi liberada. Mantenha a sessão atual aberta.
Confira as regras pendentes:
sudo ufw show added
Saída esperada:
ufw allow OpenSSH
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'
Ative o UFW:
sudo ufw enable
O UFW vai avisar que conexões SSH podem ser interrompidas. Como você já liberou SSH, confirme digitando y:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Agora revise o status detalhado:
sudo ufw status verbose
Saída esperada:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
OpenSSH ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
OpenSSH (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
Veja também a lista numerada. Ela é útil para remover regras depois com segurança:
sudo ufw status numbered
Exemplo:
Status: active
To Action From
-- ------ ----
[ 1] OpenSSH ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443/tcp ALLOW IN Anywhere
[ 4] OpenSSH (v6) ALLOW IN Anywhere (v6)
[ 5] 80/tcp (v6) ALLOW IN Anywhere (v6)
[ 6] 443/tcp (v6) ALLOW IN Anywhere (v6)
Abra uma segunda sessão SSH a partir do seu computador. Se a nova sessão conectar, sua regra de SSH está funcionando. Só depois disso considere fechar o terminal antigo.
Passo 7: Ativar logs e manter regras organizadas
O UFW pode registrar conexões bloqueadas e permitidas em logs do sistema. Esses registros ajudam em troubleshooting, mas também podem gerar bastante volume em servidores expostos à internet. Para uma VPS pequena, o nível low costuma ser suficiente. Ele registra eventos relevantes sem transformar o log em uma enxurrada difícil de ler.
Ative logs no nível baixo:
sudo ufw logging low
Saída esperada:
Logging enabled
Verifique novamente:
sudo ufw status verbose
Você deve ver:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
Consulte logs recentes relacionados ao UFW:
sudo journalctl -k -g UFW --no-pager | tail -n 20
Em um servidor recém-configurado, talvez não haja muitas entradas. Quando houver bloqueios, a saída pode parecer com:
Jun 15 10:42:31 vps kernel: [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=198.51.100.55 DST=198.51.100.10 LEN=60 PROTO=TCP SPT=44122 DPT=23 WINDOW=64240 SYN
O campo DPT=23 indica tentativa de conexão na porta 23, usada por Telnet. Como você não liberou essa porta, o bloqueio está correto. Para manter regras organizadas, use comentários sempre que liberar algo novo:
sudo ufw allow 8080/tcp comment 'Aplicacao temporaria em teste'
sudo ufw status numbered
Saída esperada:
[ 7] 8080/tcp ALLOW IN Anywhere # Aplicacao temporaria em teste
Quando a regra temporária não for mais necessária, remova com cuidado pela numeração atual. Atenção: remover a regra errada pode derrubar acesso a um serviço. Sempre rode sudo ufw status numbered imediatamente antes de deletar:
sudo ufw status numbered
sudo ufw delete 7
Confirme apenas se o número 7 corresponder à regra temporária. Depois revise novamente:
sudo ufw status numbered
Verificação e testes
Depois de ativar o UFW, teste de dentro e de fora da VPS. Primeiro, confirme o status local:
sudo ufw status verbose
Você procura três sinais: Status: active, política padrão de entrada como deny e regras de entrada para SSH, HTTP e HTTPS quando aplicável. Em seguida, confirme que os serviços estão escutando:
sudo ss -tlnp | grep -E ':22|:80|:443'
Saída típica:
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((sshd,pid=742,fd=3))
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((nginx,pid=912,fd=6))
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((nginx,pid=912,fd=7))
Do seu computador, abra uma nova conexão SSH:
ssh [email protected]
Troque usuario pelo usuário real da VPS e use o IP real do servidor. Se conectar, a regra SSH está correta. Para testar web, use curl a partir de outra máquina:
curl -I http://198.51.100.10
curl -I https://198.51.100.10
Uma resposta HTTP pode ser:
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 15 Jun 2026 10:55:00 GMT
Se não houver servidor web instalado, o firewall pode estar certo e o curl ainda falhar. Nesse caso, ss não mostrará nada nas portas 80 ou 443. Para testar uma porta bloqueada, use uma porta que você não liberou:
nc -vz 198.51.100.10 23
Saída esperada quando bloqueado:
nc: connect to 198.51.100.10 port 23 (tcp) failed: Connection timed out
Troubleshooting
Problema 1: perdi acesso SSH depois de ativar o UFW. Se você ainda tem uma sessão aberta, não feche. Execute sudo ufw status numbered e veja se existe regra para OpenSSH ou para a porta personalizada. Se não existir, adicione imediatamente sudo ufw allow OpenSSH ou sudo ufw allow 2222/tcp, ajustando para sua porta real. Depois teste uma nova sessão SSH. Se você já perdeu todas as sessões, use o console web do provedor para entrar e corrigir. Em último caso, desative temporariamente com sudo ufw disable, corrija a regra SSH e ative novamente.
Problema 2: meu site não abre após liberar 80 e 443. Primeiro, confirme se o firewall está permitindo as portas com sudo ufw status numbered. Depois veja se Nginx, Apache ou sua aplicação está escutando com sudo ss -tlnp | grep -E ':80|:443'. Se não houver processo escutando, o erro não está no UFW. Inicie ou corrija o serviço web. Se houver processo escutando, teste localmente com curl -I http://127.0.0.1. Se local funcionar e externo falhar, revise firewall do provedor, grupos de segurança externos ou regras adicionais na nuvem.
Problema 3: o comando ufw app list não mostra Nginx ou Apache. Isso acontece quando o serviço não foi instalado por pacote padrão, quando foi instalado via container ou quando o perfil de aplicação não existe em /etc/ufw/applications.d/. Você não precisa desses perfis para liberar portas. Use sudo ufw allow 80/tcp e sudo ufw allow 443/tcp. Depois valide com sudo ufw status verbose. Em ambientes Docker, teste também as regras criadas pelo Docker, pois ele pode manipular iptables diretamente e mudar o comportamento esperado.
Problema 4: logs do UFW estão grandes demais. Reduza o nível com sudo ufw logging low ou desative temporariamente com sudo ufw logging off. Antes de desligar logs em produção, colete uma amostra com sudo journalctl -k -g UFW --since '1 hour ago' --no-pager. Logs ajudam a descobrir varreduras e tentativas em portas erradas, mas não devem consumir disco sem controle.
Próximos passos
Com o UFW ativo, sua VPS já tem uma base melhor de segurança. O próximo passo é revisar o acesso SSH. Use chaves SSH, desative login direto de root quando possível e mantenha senhas fortes ou autenticação por chave. Também vale instalar atualizações de segurança regularmente e monitorar logs de autenticação com sudo journalctl -u ssh --no-pager | tail -n 50.
Se você hospeda aplicações web, configure TLS com Let’s Encrypt e mantenha apenas 80 e 443 públicos. Para painéis administrativos, bancos de dados e dashboards, prefira acesso por VPN, túnel SSH ou restrição por IP. Em times de desenvolvimento, documente cada porta liberada e o motivo. Isso evita regras antigas esquecidas depois de testes temporários.
Outra boa prática é revisar o firewall sempre que instalar um novo serviço. Rode sudo ss -tlnp antes e depois da instalação. Se aparecer uma porta nova em 0.0.0.0, investigue. Nem todo serviço precisa ficar público. Para escolher ambientes e entender perfis de uso, o conteúdo sobre VPS para desenvolvedores pode ajudar a relacionar firewall, deploy e rotina de desenvolvimento.
Perguntas frequentes
UFW substitui iptables ou nftables?
O UFW não substitui o mecanismo de firewall do Linux. Ele fornece uma interface mais simples para criar regras que, por baixo, são aplicadas usando o backend de firewall do sistema, como iptables ou nftables, dependendo da versão e configuração. Para a maioria das VPS Ubuntu, o UFW é suficiente para regras de entrada e saída comuns. Se você precisa de roteamento avançado, NAT complexo, regras por interface muito específicas ou integração pesada com containers, talvez precise entender iptables, nftables ou ferramentas do provedor.
Posso ativar o UFW antes de liberar SSH?
Você não deve ativar o UFW antes de liberar a porta usada pelo SSH. Em uma VPS remota, isso pode impedir novas conexões e deixar você dependente do console do provedor para corrigir. A sequência segura é verificar a porta do SSH com sudo ss -tlnp, adicionar sudo ufw allow OpenSSH ou liberar a porta personalizada, conferir com sudo ufw show added e só então executar sudo ufw enable. Mantenha a sessão atual aberta até testar uma segunda conexão.
Preciso liberar portas de saída?
Na configuração básica deste guia, a política padrão de saída fica como allow outgoing. Isso permite que o servidor acesse repositórios de pacotes, DNS, APIs externas, gateways de pagamento e serviços necessários para atualizações. Bloquear saída por padrão é possível, mas exige mapear muitos destinos e portas, o que aumenta bastante a chance de quebrar aplicações. Para iniciantes, bloquear entrada e permitir saída entrega uma boa base. Ambientes mais críticos podem adotar saída restrita depois de medir dependências reais.
O UFW protege serviços que estão escutando apenas em 127.0.0.1?
Serviços escutando apenas em 127.0.0.1 aceitam conexões locais, não conexões diretas da internet. Mesmo assim, o firewall continua útil porque controla portas públicas e reduz exposição em interfaces externas. Você pode verificar o endereço de escuta com sudo ss -tlnp. Se aparecer 127.0.0.1:5432, o serviço está ligado ao loopback. Se aparecer 0.0.0.0:5432, ele escuta em todas as interfaces IPv4 e merece atenção. Para bancos de dados, prefira loopback, socket local, VPN ou regras restritas por IP.
Como removo uma regra do UFW com segurança?
Use sempre sudo ufw status numbered imediatamente antes de remover qualquer regra. Os números podem mudar após exclusões, então não reutilize uma numeração antiga anotada. Depois identifique a regra exata e execute sudo ufw delete NUMERO. O UFW pedirá confirmação. Leia a linha com atenção, principalmente se a regra for de SSH. Remover a regra errada pode derrubar acesso remoto ou deixar uma aplicação indisponível. Depois da exclusão, rode sudo ufw status numbered novamente para validar o resultado.
UFW funciona bem com Docker?
UFW e Docker podem coexistir, mas exigem atenção. O Docker manipula regras de iptables para publicar portas de containers e, em alguns cenários, uma porta publicada pode ficar acessível mesmo quando você esperava bloqueio pelo UFW. Se usa Docker em produção, teste externamente cada porta publicada e leia a documentação oficial do Docker sobre firewall e iptables. Uma abordagem comum é publicar serviços apenas em localhost e expor para a internet por Nginx ou Traefik, mantendo 80 e 443 como portas públicas principais.
Fontes consultadas
- Documentação oficial Ubuntu UFW · coletado em 15/06/2026
- Manual ufw Ubuntu manpages · coletado em 15/06/2026
- Documentação oficial OpenSSH · coletado em 15/06/2026
- Docker packet filtering and firewalls · coletado em 15/06/2026