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.
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:
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 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:
Claro, insira o seu próprio endereço IP.
Quando terminar, ative o ufw digitando:
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 enable
Para ver a configuração atual, basta digitar:
Se o ufw não estiver ativado, este irá simplesmente mostrar uma mensagem “inativo”, caso contrário, listará as regras atualmente definidas.