Como configurar um firewall no servidor Ubuntu
Publicado: 15 de fevereiro de 2025 às 21:34:13 UTC
Última atualização: 12 de janeiro de 2026 às 08:37:21 UTC
Este artigo explica e fornece alguns exemplos de como configurar um firewall no GNU/Linux usando o ufw, abreviação de Uncomplicated FireWall (Firewall Descomplicado) – e o nome é apropriado, pois é realmente uma maneira muito fácil de garantir que você não tenha mais portas abertas do que o necessário.
How to Set Up a Firewall on Ubuntu Server
As informações neste post são baseadas no Ubuntu Server 14.04 x64. Elas podem ou não ser válidas para outras versões. (Atualização: Posso confirmar que as informações neste post ainda são basicamente válidas e funcionais no Ubuntu Server 24.04. No entanto, nos últimos 10 anos, o ufw tornou-se um pouco mais "inteligente" ao incluir perfis para aplicativos de servidor comuns (por exemplo, você pode habilitar o "Nginx completo" em vez das portas 80 e 443 separadamente) e desabilitar/habilitar todo o firewall para aplicar novas regras não é mais necessário).
Quando comecei a usar servidores GNU/Linux (Ubuntu), configurar um firewall envolvia criar e manter manualmente um arquivo de configuração potencialmente complexo para o iptables. No entanto, descobri recentemente o ufw, abreviação de Uncomplicated Firewall (Firewall Descomplicado) – e realmente é :-)
Na minha instalação do Ubuntu Server 14.04 já havia o ufw instalado, mas se o seu não tiver, basta instalá-lo a partir dos repositórios:
O UFW é, na verdade, apenas uma ferramenta que simplifica a configuração do iptables. Nos bastidores, ainda são o iptables e o firewall do kernel do Linux que realizam a filtragem, portanto, o UFW não é nem mais nem menos seguro do que eles. No entanto, como o UFW facilita bastante a configuração correta de um firewall, ele pode reduzir o risco de erro humano e, portanto, ser possivelmente mais seguro para administradores inexperientes.
Se o seu servidor estiver configurado com IPv6 e IPv4, certifique-se de que isso também esteja habilitado para o UFW. Edite o arquivo /etc/default/ufw e procure por uma linha que diga IPV6=yes. Na minha instalação, ela já estava lá, mas se não estiver ou se estiver definida como "não", você deve editá-la.
Em seguida, basta usar o prompt de comando para habilitar as portas que deseja abrir. Se você estiver conectado ao seu servidor via SSH, certifique-se de permitir também essa conexão, caso contrário, ela poderá ser interrompida e possivelmente bloquear seu acesso ao servidor ao ativá-la — dependendo se você tem acesso físico ao servidor ou não, isso pode ser um tanto inconveniente ;-)
Por exemplo, se você usa SSH na porta padrão 22 e está configurando um servidor web que suporta conexões não criptografadas (HTTP na porta 80) e criptografadas (HTTPS na porta 443), você executaria os seguintes comandos para configurar o ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Se precisar de mais regras, basta adicioná-las como acima.
Se você possui um endereço IP estático e precisa se conectar via SSH apenas a partir de um local específico, também pode restringir as conexões SSH a um único endereço de origem, como neste exemplo:
Claro, insira seu próprio endereço IP.
Ao concluir, habilite o ufw digitando:
E pronto! O firewall está em execução e será iniciado automaticamente quando você reiniciar o servidor :-)
Se você fizer alterações na configuração do ufw, talvez precise desativá-lo e ativá-lo novamente para que as alterações entrem em vigor, como neste exemplo:
sudo ufw enable
Para visualizar a configuração atual, basta digitar:
Se o ufw não estiver ativado, será exibida simplesmente uma mensagem de "inativo"; caso contrário, serão listadas as regras definidas atualmente.
