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