Miklix

Como configurar um firewall no servidor Ubuntu

Publicado: 15 de fevereiro de 2025 às 21:34:13 UTC

Este artigo explica e fornece alguns exemplos de como configurar um firewall no GNU/Linux usando ufw, que é a abreviação de Uncomplicated FireWall - e o nome é apropriado, é 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. Podem ou não ser válidas para outras versões. (Atualização: Posso confirmar que as informações neste post são basicamente ainda válidas e funcionais a partir do Ubuntu Server 24.04, no entanto, nos 10 anos intermediários, o ufw ficou um pouco "mais inteligente" por ter perfis para aplicativos de servidor comuns (por exemplo, você pode habilitar "Nginx full" em vez das portas 80 e 443 separadamente) e desabilitar/habilitar todo o firewall para obter novas regras aplicadas não é mais necessário)

Quando comecei com servidores GNU/Linux (Ubuntu), configurar um firewall envolvia criar e manter manualmente um arquivo de configuração potencialmente complexo para iptables. No entanto, descobri recentemente ufw , que é a abreviação de Uncomplicated Firewall – e realmente é :-)

Minha instalação do Ubuntu Server 14.04 já tinha 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 é o iptables e o firewall do kernel Linux que fazem a filtragem, então o ufw não é nem menos nem mais seguro do que estes. No entanto, como o ufw torna muito mais fácil configurar um firewall corretamente, ele pode reduzir o risco de erro humano e, portanto, é possivelmente mais seguro para administradores inexperientes.

Se o seu servidor estiver configurado com IPv6 e IPv4, certifique-se de que isso esteja habilitado para UFW também. Edite o arquivo /etc/default/ufw e procure por uma linha dizendo IPV6=yes . Na minha instalação, ela já estava lá, mas se não estiver ou se disser não, você deve editá-la

Então, basta usar o prompt de comando para habilitar as portas que você quer abrir. Se você estiver conectado ao seu servidor via ssh, certifique-se de permitir isso também ou isso pode interromper sua conexão e possivelmente bloqueá-lo do seu servidor quando você ativá-lo – dependendo se você tem acesso físico ao servidor ou não, isso pode ser meio inconveniente ;-)

Por exemplo, se você usar ssh na porta padrão 22 e estiver configurando um servidor web que suporte conexões não criptografadas (HTTP na porta 80) e criptografadas (HTTPS na porta 443), você emitiria 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ê tiver um endereço IP estático e só precisar se conectar via SSH de um local, você também pode restringir as conexões SSH a um único endereço de origem como este:

sudo ufw allow from 192.168.0.1 to any port 22

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

Quando terminar, habilite o ufw digitando:

sudo ufw enable

E pronto! O firewall está em execução e será iniciado automaticamente quando você reiniciar seu servidor :-)

Se você fizer alterações na configuração do ufw, talvez seja necessário desabilitá-lo e habilitá-lo novamente para colocá-las em vigor, assim:

sudo ufw disable
sudo ufw enable

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

sudo ufw status

Se o ufw não estiver habilitado, isso simplesmente mostrará uma mensagem “inativo”, caso contrário, listará as regras definidas atualmente.

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

Mikkel Bang Christensen

Sobre o autor

Mikkel Bang 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.