Instale e use o Firewalld no Ubuntu 22.04|20.04|18.04
Firewalld é uma ferramenta de gerenciamento de firewall Linux com suporte para IPv4, IPv6, pontes Ethernet e configurações de firewall IPSet. Ele atua como um front-end para a estrutura netfilter do kernel Linux. Firewalld é um software de gerenciamento de firewall padrão na família RHEL 7.
Neste guia, mostrarei o uso básico do Firewalld nas distribuições Linux Ubuntu 22.04|20.04|18.04. O sistema de firewall padrão do Ubuntu é ufw mas você pode instalar e usar o Firewalld se preferir. O Firewalld funciona bem para mim, já que sou um usuário frequente do CentOS 7.
Passo 1 – Instale o Firewalld no Ubuntu 22.04|20.04|18.04
Instale o Firewalld no Ubuntu
sudo apt update
sudo apt install firewalld
Por padrão, o serviço deve ser iniciado, se não estiver em execução, inicie e habilite-o para iniciar na inicialização:
sudo systemctl enable firewalld
sudo systemctl start firewalld
Confirme se o serviço está em execução:
$ sudo firewall-cmd --state
running
Se você tiver o ufw ativado, desative-o para tornar o firewalld seu firewall padrão
sudo ufw disable
Etapa 2: usando Firewalld no Ubuntu 22.04|20.04|18.04
Agora que o pacote foi instalado e o serviço firewalld iniciado, vejamos alguns exemplos de uso
Veja abaixo exemplos para o uso básico do firewalld.
1.
Liste todas as regras de firewall configuradas
$ sudo firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Os serviços ssh
e dhcpv6-client
são ativados por padrão quando você inicia o serviço firewalld.
2.
Obter uma lista de todos os serviços que podem ser ativados usando um nome
Para ver todos os serviços ativos, execute o seguinte comando:
sudo firewall-cmd --get-services
3.
Ativar o serviço http
Neste exemplo habilitamos o serviço http.
sudo firewall-cmd --add-service=http --permanent
A opção --permanent
significa persistir regras contra reinicializações do servidor.
4.
Ative http e https em uma única linha
Aqui está um exemplo de ativação de serviços http e https:
sudo firewall-cmd --permanent --add-service={http,https} --permanent
5.
Ativar porta TCP 7070
Habilitar porta TCP 7070
sudo firewall-cmd --add-port=7070/tcp --permanent
6.
Ativar a porta UDP 514
Como habilitar a porta UDP 514
sudo firewall-cmd --add-port=514/udp --permanent
7.
Criar uma nova zona
Criação de uma nova zona chamada myzone
sudo firewall-cmd --new-zone=myzone --permanent
8.
Ativar serviço em uma zona específica
Vamos habilitar um serviço na zona criada:
sudo firewall-cmd --zone=myzone --add-port=4567/tcp --permanent
9.
Definir zona padrão
Definir zona criada como padrão
sudo firewall-cmd --set-default-zone=public --permanent
10.
Adicionar uma interface a uma zona
Adicionando uma interface a uma zona:
sudo firewall-cmd --get-zone-of-interface=eth0 --permanent
sudo firewall-cmd --zone=<zone> --add-interface=eth0 --permanent
11.
Permitir acesso a uma porta de uma sub-rede/IP específico
Como permitir o acesso de sub-rede especificado ao serviço ou porta:
# Allow access to ssh from 192.168.0.12 sing IP address
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="192.168.0.12/32" accept' --permanent
# Allow access to ssh from 10.1.1.0/24 network
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="10.1.1.0/24" accept' --permanent
12.
Listar regras avançadas
Listar regras ricas no sistema
sudo firewall-cmd --list-rich-rules
13.
Configurar o encaminhamento de porta
Habilite o encaminhamento de porta:
# Enable masquerading
sudo firewall-cmd --add-masquerade --permanent
# Port forward to a different port within same server ( 22 > 2022)
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toport=2022 --permanent
# Port forward to same port on a different server (local:22 > 192.168.2.10:22)
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10 --permanent
# Port forward to different port on a different server (local:7071 > 10.50.142.37:9071)
sudo firewall-cmd --add-forward-port=port=7071:proto=tcp:toport=9071:toaddr=10.50.142.37 --permanent
14.
Removendo porta/serviço
Substitua --add
por –-remove
Para leitura adicional, consulte a documentação oficial do Firewalld