Miklix

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.


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

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:

sudo apt-get install ufw

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

sudo ufw allow from 192.168.0.1 to any port 22

Claro que introduza o seu próprio endereço IP em vez disso.

Quando terminado, ative o ufw introduzindo:

sudo ufw enable

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

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

sudo ufw status

Se o ufw não estiver ativado, isto mostrará apenas uma mensagem de "inativo", caso contrário irá listar as regras atualmente definidas.

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

Mikkel Christensen

Sobre o autor

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