Como configurar uma firewall no servidor Ubuntu
Publicado: 15 de fevereiro de 2025 às 21:34:16 UTC
Última atualização: 12 de janeiro de 2026 às 08:37:22 UTC
Este artigo explica e fornece alguns exemplos de como configurar uma firewall no GNU/Linux usando ufw, que é a abreviatura de Uncomplicated FireWall – e o nome é apropriado, é realmente uma forma muito fácil de garantir que não tens mais portas abertas do que o necessário.
How to Set Up a Firewall on Ubuntu Server
A informação neste post baseia-se no Ubuntu Server 14.04 x64. Pode ou não ser válida para outras versões. (Atualização: Posso confirmar que a informação neste post ainda é basicamente válida e funcional desde o Ubuntu Server 24.04, no entanto, nos 10 anos intermédios, a UFW tornou-se um pouco mais "inteligente" ao ter perfis para aplicações de servidor comuns (por exemplo, podes ativar o "Nginx full" em vez das portas 80 e 443 separadamente) e desativar/ativar todo o firewall para aplicar novas regras já não é necessário)
Quando comecei com servidores GNU/Linux (Ubuntu), configurar um firewall envolvia criar e manter manualmente um ficheiro de configuração potencialmente complexo para o iptables. No entanto, descobri recentemente o ufw, que é abreviação de Uncomplicated Firewall – e é mesmo assim :-)
A minha instalação do Ubuntu Server 14.04 já tinha o ufw instalado, mas se não tiver, instale-a simplesmente a partir dos repositórios:
O UFW é, na verdade, apenas uma ferramenta que simplifica a configuração do iptables – nos bastidores, continua a ser o iptables e o firewall do kernel Linux que faz a filtragem, por isso o ufw não é nem menos nem mais seguro do que estes. No entanto, como o ufw facilita muito a configuração correta de um firewall, pode reduzir o risco de erro humano e, por isso, é possivelmente mais seguro para administradores inexperientes.
Se o teu servidor estiver configurado com IPv6 e IPv4, certifica-te de que isto também está ativado para UFW. Edita o ficheiro /etc/default/ufw e procura uma linha a dizer IPV6=sim. Na minha instalação já lá estava, mas se não estiver ou se disser que não, deves editar
Depois, basta usar o prompt de comandos para ativar as portas que quer abrir. Se estiveres ligado ao teu servidor via ssh, certifica-te de permitir isso também, senão pode interromper a tua ligação e possivelmente bloquear-te o acesso ao servidor quando o ativares – dependendo se tens ou não acesso físico ao servidor, isto pode ser um pouco inconveniente ;-)
Por exemplo, se usar ssh na porta 22 padrão e estiver a configurar um servidor web que suporta tanto ligações não encriptadas (HTTP na porta 80) como encriptadas (HTTPS na porta 443), deve emitir os seguintes comandos para configurar o ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Se precisares de mais regras, basta adicioná-las como acima.
Se tiveres um endereço IP estático e só precisares de conseguir ligar-te via ssh a partir de um único local, também podes restringir as ligações SSH a um único endereço de origem assim:
Claro que introduza o seu próprio endereço IP em vez disso.
Quando terminado, ative o ufw introduzindo:
E está feito! O firewall está a funcionar e arranca automaticamente quando reiniciares o servidor :-)
Se fizeres alterações à configuração do ufw, podes precisar de a desativar e ativar novamente para as ativar, desta forma:
sudo ufw enable
Para ver a configuração atual, basta inserir:
Se o ufw não estiver ativado, isto mostrará apenas uma mensagem de "inativo", caso contrário irá listar as regras atualmente definidas.
