Miklix

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.


Esta página foi traduzida automaticamente do inglês para torná-la acessível ao maior número possível de pessoas. Infelizmente, a tradução automática ainda não é uma tecnologia aperfeiçoada, portanto, podem ocorrer erros. Se preferir, você pode visualizar a versão original em inglês aqui:

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:

sudo apt-get install ufw

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 22/tcp
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:

sudo ufw allow from 192.168.0.1 to any port 22

Claro, insira seu próprio endereço IP.

Ao concluir, habilite o ufw digitando:

sudo ufw enable

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 disable
sudo ufw enable

Para visualizar a configuração atual, basta digitar:

sudo ufw status

Se o ufw não estiver ativado, será exibida simplesmente uma mensagem de "inativo"; caso contrário, serão listadas as regras definidas atualmente.

Compartilhe no BlueskyCompartilhe no FacebookCompartilhe no LinkedInCompartilhe no TumblrCompartilhar em XCompartilhe no LinkedInFixar no Pinterest

Mikkel Christensen

Sobre o autor

Mikkel Christensen
Mikkel é o criador e proprietário do miklix.com. Ele tem mais de 20 anos de experiência como programador de computador/desenvolvedor de software profissional e atualmente trabalha em tempo integral para uma grande empresa europeia de TI. Quando não está blogando, ele dedica seu tempo livre a uma grande variedade de interesses, hobbies e atividades, o que pode, até certo ponto, refletir-se na variedade de tópicos abordados neste site.