Miklix

Como configurar uma firewall no servidor Ubuntu

Publicado: 15 de fevereiro de 2025 às 21:34:16 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 tem mais portas abertas do que o necessário.


Esta página foi traduzida automaticamente do inglês para a tornar acessível ao maior número possível de pessoas. Infelizmente, a tradução automática ainda não é uma tecnologia aperfeiçoada, pelo que podem ocorrer erros. Se preferir, pode ver 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. Pode ou não ser válido para outras versões. (Actualização: Posso confirmar que as informações neste post ainda são basicamente válidas e funcionais a partir do Ubuntu Server 24.04, no entanto, nos últimos 10 anos, o ufw tornou-se um pouco "mais inteligente" ao ter perfis para aplicações de servidor comuns (por exemplo, pode activar o "Nginx full" em vez das portas 80 e 443 separadamente) e desactivar/activar toda a firewall para que novas regras sejam aplicadas já não é necessário)

Quando comecei a trabalhar com servidores GNU/Linux (Ubuntu), a configuração de uma firewall implicava criar e manter manualmente um ficheiro de configuração potencialmente complexo para o iptables. No entanto, descobri recentemente o ufw , que é a abreviatura de Uncomplicated Firewall – e é mesmo :-)

A minha instalação do Ubuntu Server 14.04 já tinha o ufw instalado, mas se o vosso 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 a firewall do kernel Linux que fazem a filtragem, pelo que o ufw não é nem menos nem mais seguro do que eles. No entanto, como o ufw facilita muito a configuração correta de uma firewall, 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 este também está ativado para UFW. Edite o ficheiro /etc/default/ufw e procure uma linha a dizer IPV6=yes . Na minha instalação já lá estava, mas se não estiver ou se disser que não, deve editá-lo

Depois, basta usar o prompt de comando para activar as portas que pretende abrir. Se estiver ligado ao seu servidor via ssh, certifique-se de que também o permite, ou pode interromper a sua ligação e possivelmente bloqueá-lo do servidor quando o activa – dependendo se tem acesso físico ao servidor ou não, isto pode ser um pouco inconveniente ;-)

Por exemplo, se utilizar o ssh na porta padrão 22 e estiver a configurar um servidor web que suporte ligações não encriptadas (HTTP na porta 80) e encriptadas (HTTPS na porta 443), 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 tiver um endereço IP estático e só precisar de se ligar via SSH a partir de um local, também pode restringir as ligaçõ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 o seu próprio endereço IP.

Quando terminar, ative o ufw digitando:

sudo ufw enable

E já está! A firewall está em execução e será iniciada automaticamente quando reiniciar o servidor :-)

Se fizer alterações na configuração do ufw, poderá ser necessário desativá-lo e voltar a ativá-lo para as colocar 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 ativado, este irá simplesmente mostrar uma mensagem “inativo”, caso contrário, listará as regras atualmente definidas.

Partilhar no BlueskyPartilhar no FacebookPartilhar no LinkedInPartilhar no TumblrPartilhar em XPartilhar no LinkedInFixar no Pinterest

Mikkel Bang Christensen

Sobre o autor

Mikkel Bang Christensen
Mikkel é o criador e proprietário do miklix.com. Tem mais de 20 anos de experiência como programador informático/desenvolvedor de software profissional e trabalha atualmente a tempo inteiro para uma grande empresa europeia de TI. Quando não está a escrever no blogue, dedica o seu tempo livre a um vasto leque de interesses, passatempos e actividades, que podem, em certa medida, refletir-se na variedade de tópicos abordados neste sítio Web.