Configurando firewall ufw no ubuntu

Compartilhe:

Tela de computador com ubuntu linux instalado e configurações do firewall ufw sendo exibidas

Se você administra um servidor linux e já se deparou com portas expostas sem necessidade ou serviços que deveriam estar protegidos, então precisa configurar um firewall.

Em computadores que tem o ubuntu ou debian instalado é possível usar o firewall ufw para controlar o acesso.

Neste guia, você vai aprender o que é o UFW, como instalá-lo, saber como usa-lo e aplicar regras que podem ser utilizadas para filtrar o trafego que chega ao desktop ou servidor linux ubuntu.

O que é ufw firewall

O UFW (Uncomplicated Firewall) é uma ferramenta desenvolvida para simplificar a gestão de regras de filtragem de pacotes no kernel linux.

Ele funciona como uma interface amigável para o iptables (ou nftables), permitindo que administradores configurem regras de firewall sem a necessidade de memorizar sintaxes complexas.

Por padrão, ele já vem pré-instalado no ubuntu, mas também pode ser facilmente instalado no debian e em outras distribuições linux derivadas.

Caso não esteja instalado no ubuntu ou debian, você pode instala-lo com os seguintes comandos:

Utilizando o firewall ufw no ubuntu

O Primeiro passo para usar o firewall ufw é aprender sua sintaxe básica, que é extremamente intuitiva e segue a estrutura:

Explicação:

ufw – comando usado para gerenciar as regras de firewall.

ação – Define o que o firewall ufw deve fazer com o tráfego: allow (permite), deny (bloqueia) ou reject (bloqueia e informa a rejeição).

direção – Define a direção do tráfego à qual a regra se aplica: in (entrada do trafego) e out (saída do trafego).

porta/serviço – Especifica a porta ou o nome do serviço em que a ação e direção será aplicada.

Abaixo, confira a tabela com os principais comandos internos do utilitário ufw, suas descrições e exemplos práticos de utilização:

ComandosDescriçãoExemplos de Uso
enableAtiva a proteção do firewall e aplica as regras configuradas na inicialização.ufw enable
disableDesativa todas as regras de filtragem do firewall sem apagá-las.ufw disable
statusExibe o estado atual (ativo/inativo) e a lista de regras aplicadas.ufw status
allowPermite o tráfego de rede para uma porta, serviço ou endereço IP especifico.ufw allow 143/tcp
denyBloqueia silenciosamente a conexão em uma porta ou origem informada.ufw deny 23
deleteRemove uma regra criada anteriormente na tabela do firewall.ufw delete allow 22

Para aprender mair a seguir será abordado exemplos práticos de uso do firewall ufw no ubuntu.

Habilitar e verificar o status do firewall ufw

Em ambientes de produção, verificar se o firewall está ativo ou inativo é o primeiro passo. Para checar o status atual execute os comandos abaixo:

Se a saída exibir o valor “inactive”, significa que está desativado. Você pode ativar a proteção do firewall ufw assim:

Ao ativar o serviço, as regras definidas entram em vigor imediatamente e o serviço passa a rodar automaticamente junto com o sistema operacional.

Definir políticas padrão de acesso (Default Policies)

Uma boa prática de segurança em infraestrutura de TI é bloquear todo o tráfego de entrada e permitir somente o tráfego de entrada e saída necessário.

Por exemplo, execute o comando a seguir para definir que o trafego de entrada por padrão será bloqueado, assim somente o trafego que você autorizar será permitido:

Para autorizar todo o trafego de saída execute o comando:

Com esses comandos, qualquer tentativa de conexão externa não autorizada será negada por padrão, enquanto o servidor continuará acessando a internet normalmente para atualizações de pacotes.

Para verificar o status e também as políticas padrões de acesso execute:

Liberação de portas específicas

Na infraestrutura de empresas, as regras devem ser inclusas antes de executar “ufw enable”, caso contrário uma conexão existente poderá ser interrompida ou novos acessos poderão ser bloqueados.

Para garantir que você continue gerenciando o servidor via SSH após ativar o firewall, a liberação da porta de administração (SSH) deve ser realizada imediatamente.

O firewall UFW fará a resolução do nome com base no arquivo “/etc/services”, o que nem sempre vai coincidir com a porta atualmente configurada.

Caso o SSH utilize uma porta personalizada (como a 2222), basta especificar a porta desejada.

Exemplo 2: Você administra um servidor ubuntu e precisa garantir que o acesso SMTP do serviço de e-mail postfix continue funcionando depois da ativação do firewall, adicione uma regra:

Exemplo 3: Em um servidor que hospeda um site com Apache ou Nginx, normalmente é necessário permitir as portas 80 e 443:

A porta 80 atende por HTTP e a 443 atende por HTTPS. Essa configuração é comum em servidores web.

Permitir conexões de um endereço IP específico

Em empresas que possuem endereços IP estáticos no escritório, é recomendável restringir acessos a sistemas como, bancos de dados ou painéis administrativos apenas para alguns computadores da organização.

A regra a seguir autoriza conexões para o servidor MySQL ou MariaDB exclusivamente ao IP “192.168.213.3”:

Se o IP informado tentar acessar a porta 3306 (TCP ou UDP), a conexão será aceita, mas qualquer outro endereço tentando acessar a mesma porta será bloqueado.

Permitir acesso a partir de uma sub-rede

Quando uma aplicação precisa se comunicar com uma rede de origem conectada através de uma VPN, especificar IP por IP torna-se inviável.

Nesses casos, liberar o endereço da sub-rede é mais recomendado. No exemplo a seguir é liberado o acesso a partir da rede “10.10.30.0/24” para uma aplicação que recebe conexões na porta 8080 TCP:

Dessa forma, todos os hosts no intervalo de “10.10.30.1” até “10.10.30.254” terão acesso garantido à aplicação na porta “8080TCP.

Liberação de perfis de aplicação

O UFW possui integração nativa com o gerenciador de pacotes do sistema. Quando você instala serviços como: postfix, openssh, Nginx ou Apache, eles registram perfis de aplicação contendo as portas padrão necessárias para funcionamento.

Para listar os perfis existentes no linux execute:

E para autorizar acesso as portas que a aplicação usa, por exemplo, permitir acesso as portas do perfil “Postfix”, execute:

Permitir conexões em uma interface de rede específica

Servidores normalmente possuem mais de uma placa de rede (física ou virtual), como eth0 para a internet e eth1 para a rede privada do servidor. E você pode atrelar regras diretamente à interface desejada.

Essa abordagem garante que serviços de gerenciamento fiquem expostos apenas na interface privada e inacessíveis pela rede externa. Por exemplo, para aceitar conexões pela placa de rede enp0s3 na porta 123, execute:

Essa regra autoriza o tráfego NTP entrando pela interface de rede “enp0s3“, mantendo a porta fechada para solicitações vindas de outras placas de rede.

Deletar regras existentes

Com o passar do tempo, você pode precisar remover regras existentes que já não são mais úteis. A forma mais segura de fazer isso é primeiro listar as regras existentes numerado-as.

O firewall ufw exibe um número ao lado de cada regra. Em seguida, basta executar “ufw delete” seguido do número da regra que será apagada.

Será aberto um prompt, perguntando se quer proceder com a operação, ou seja, se deseja apagar digite “y” e tecle ENTER, caso não queira apagar digite “n” e tecle ENTER em seguida.

Ativar o log do firewall ufw

Em um ambiente profissional, manter registros do trafego (bloqueios ou autorizações) pode ajudar na análise de problemas de conectividade e na investigação de tentativas de acesso.

O firewall ufw suporta vários níveis de logs (low, medium, high e full), “low” é o nível mais baixo e registra todos os pacotes bloqueados que não correspondem à política definida, bem como os pacotes que correspondem às regras registradas.

O gerenciador de logs (syslog ou rsyslog) armazena os logs em “/var/log/ufw.log”, após ativar os logs no ufw com o comando:

Depois, você pode consultar o estado do firewall ufw:

Caso precise de mais registros pode utilizar outro nível (medium, high ou full), mas o logging do ufw deve ser utilizado com precaução, principalmente em servidores que recebem grande volume de tráfego, pois podem gerar bastante informação nos logs do sistema, ocupando muito espaço de armazenamento.

Reiniciar e redefinir as configurações do ufw

Após testes e mais testes você pode precisar desfazer todas as mudanças restaurando o estado inicial do sistema. O comando “reset” do firewall ufw remove todas as regras criadas e desativa-o.

Mas antes é recomendado fazer um backup de todas as regras com o comando tar:

Após concluir o backup, você pode resetar a configuração do ufw:

O comando ufw abre um prompt perguntando se deseja proceder resetando todas as regras para o padrão, se quer “resetar” digite “y” e tecle ENTER, caso não queira digite “n” e tecle ENTER.

Para restaurar toda a configuração, execute os comandos a seguir na sequência apresentada:

Para aprender mais sobre o comando tar acesse nosso artigo completo que ensina várias operações utilizando o tar no linux.

Conclusão

Configurar o firewall ufw é uma das formas mais práticas de proteger servidores ubuntu ou debian de conexões não autorizadas. Com os comandos apresentados neste artigo, você consegue gerenciar acesso as portas, IPs e perfis de aplicações.

Para aprofundar seus estudos, consulte a documentação oficial do UFW. É recomendado manter sempre suas regras atualizadas e aplique o princípio de acesso mínimo para garantir um ambiente protegido.

Ficou com alguma dúvida sobre o firewall ufw ou tem alguma sugestão de comando ? Deixe seu comentário abaixo para podermos trocar ideias e melhorar a segurança do linux nos servidores!

Perguntas frequentes (FAQ) sobre firewall ufw

O UFW já vem ativado por padrão no Ubuntu ?

Não. Embora a ferramenta venha pré-instalada na maioria das versões do Ubuntu, o serviço permanece desativado por padrão. É necessário configurar as regras iniciais e ativá-lo manualmente com o comando: sudo ufw enable

Posso perder a conexão SSH ao ativar o Firewall UFW ?

Sim, caso você ative o firewall sem antes liberar explicitamente a porta do serviço SSH (porta 22 por padrão). Recomenda-se sempre executar “ufw allow ssh” antes de habilitar o ufw para evitar o bloqueio do seu próprio acesso.

Qual é a diferença entre os comandos deny e reject do firewall ufw ?

O comando “deny” descarta silenciosamente o pacote de conexão sem avisar a origem. Já o comando “reject” bloqueia o tráfego, mas envia uma mensagem de resposta ICMP informando ao remetente que a conexão foi recusada.

Como liberar um intervalo específico de portas ?

Para liberar um intervalo de portas (como de 8080 a 8081), você deve informar o intervalo seguido do protocolo TCP ou UDP, Exemplo: ufw allow 8080:8081/tcp

Navegue por tópicos:

Foto de Edson Oliveira
Edson Oliveira

Especialista em Linux, trabalhando com TI tem experiência no gerenciamento, solução de problemas e suporte de servidores linux em ambientes corporativos.

Professor de cursos voltados a linux, tecnologias open source e certificações LPI. Possui as certificações LPIC-1, LPIC-2 e LPIC-3 (Mixed Environment).

Navegue por tópicos:

Você também pode gostar:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Valorizamos sua privacidade

Utilizamos cookies para aprimorar sua experiência de navegação, exibir anúncios ou conteúdo personalizado e analisar nosso tráfego. Ao clicar no botão “Aceitar todos”, você concorda com nosso uso de cookies.

Para mais informações leia nossa Política de Privacidade.