UFW vem de firewall descomplicado ou, em inglês, Uncomplicated Firewall. Como sugerido prlo próprio nome, UFW é um programa para gerenciar o firewall netfilter e tem como objetivo prover facilidade no uso com uma interface comum ao usuário.
Exemplos de Uso do UFW
#1 Para habilitar o UFW
sudo ufw enable
#2 verificar o estado do UFW:
maria@debian11VM:~$ sudo ufw status Status: active
O resultado acima está vazio pois não permitimos ou bloqueamos nada
Mas, preste atenção nesse outro resultado que preenchi para exibir como exemplo:
maria@debian11VM:~$ sudo ufw status Status: active To Action From -- ------ ---- 80 ALLOW Anywhere 53 ALLOW Anywhere 22/tcp ALLOW Anywhere 21/tcp DENY Anywhere 80 (v6) ALLOW Anywhere (v6) 53 (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) 21/tcp (v6) DENY Anywhere (v6)
#3 status com detalhes ou verbosidade
maria@debian11VM:~$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
Por padrão, os pacotes de entrada estão sendo recusados. Existem exceções, as quais podem ser visualizadas com o comando.
maria@debian11VM:~$ sudo ufw show raw
IPV4 (raw):
Chain INPUT (policy DROP 135 packets, 11520 bytes)
pkts bytes target prot opt in out source destination
499 42017 ufw-before-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
499 42017 ufw-before-input all -- * * 0.0.0.0/0 0.0.0.0/0
135 11520 ufw-after-input all -- * * 0.0.0.0/0 0.0.0.0/0
....
Uma outra dica é ver as regras dentro de /etc/ufw
Todas as regras dentro de /etc/ifw são arquivos terminados em .rules
#4 para Desabilitar o ufw
maria@debian11VM:~$ sudo ufw disable
#5 permitindo portas
para permitir usamos a seguinte sintaxe
ufw allow <porta>/<opcional: protocolo>
permitir pacotes tcp e udp de entrada na porta 53
maria@debian11VM:~$ sudo ufw allow 53
permitir pacotes apenas tcp de entrada na porta 53:
maria@debian11VM:~$ sudo ufw allow 53/tcp
permitir pacotes apenas udp de entrada na porta 53:
maria@debian11VM:~$ sudo ufw allow 53/udp
#6 para bloquear ou rejeitar portas usamos deny
deny tem a seguinte sintaxe
sudo ufw deny <porta>/<opcional: protocolo>
rejeitar pacotes de entrada tcp e udp na porta 53:
maria@debian11VM:~$ sudo ufw deny 53
bloquear apenas entradas tcp da porta 53
maria@debian11VM:~$ sudo ufw deny 53/tcp
Rejeitar apenas protocolo udp na porta 53
maria@debian11VM:~$ sudo ufw deny 53/udp
#7 Para apagar portas existentes fazemos assim
temos que colocar delete antes da regra existente. Como a regra pode ser deny ou allow temos que colocar deny ou allow também:
Abaixo deletemos a regra deny 80/tcp
maria@debian11VM:~$ sudo ufw delete deny 80/tcp
#8 Deny ou Allow pelo Nome do Serviço
Ao invés de usar porta e protocolo podemos usar o nome do serviço.
para permitir ssh
maria@debian11VM:~$ sudo ufw allow ssh
para ter acesso a todos os nomes dos serviços veja o conteúdo do arquivo /etc/services
Podemos rejeitar pelo nome do serviço
maria@debian11VM:~$ sudo ufw deny ssh
#9 Habilitando registro de log
Podemos habilitar ou desabilitar logs do firewall ufw da seguinte forma
Habilita
maria@debian11VM:~$ sudo ufw loggin on
Desabilita
maria@debian11VM:~$ sudo ufw loggin off
Exemplos mais Avançados do Firewall ufw
#1 Permitir um IP específico no ufw
usamos a seguinte sintaxe para permitir um ip
sudo ufw allow from <endereço ip>
Por exemplo, vamos permitir pacotes do ip 192.168.50.40
maria@debian11VM:~$ sudo ufw allow from 192.168.50.40
Podemos permitir uma máscara de sub-rede também:
maria@debian11VM:~$ sudo ufw allow from 192.168.50.0/24
#2 Permitir Portas e IP Específicos com UFW
Essa é a sintaxe
ufw allow from <endereço IP> to <protocolo> port <número da porta>
Exemplo, permitiremos acesso do endereço ip 192.168.50.40 na porta 80 mas para qualquer protocolo
maria@debian11VM:~$ sudo ufw allow from 192.168.50.40 to any port 80
para permitir uma porta, ip e protocolo fazemos assim
maria@debian11VM:~$ sudo ufw allow from 192.168.50.40 to any port 80 proto tcp
#3 Bloqueando por IP e porta específicos
para bloquear pacotes de 207.46.232.182:
maria@debian11VM:~$ sudo ufw deny from 207.46.232.182
Negar por portas e endereço IP específicos
maria@debian11VM:~$ sudo ufw deny from 192.168.0.1 to any port 22
#4 Habilitar e Desabilitar Ping com UFW
Por padrão, o UFW permite requisições ping. Muitas pessoas bloqueiam o ping por questão de segurança. Esse tipo de segurança faz parte do que chamamos de Segurança por obscuridade.
Chamamos de segurança através de obscuridade(security through obscurity) esse fato de quanto menos conhecido mais seguro é um sistema. Quanto menos mais seguro.
Mas não podemos sempre afirmar que apenas porque um software é menos conhecido/usado ele é mais seguro somente por não ser o maior alvo.
categoriaoutros
Segurança por obscuridade talvez seja de um benefício real muito pequeno com os scripts cracker modernos.
Para desabilitar requisições ping (icmp), você precisa editar /etc/ufw/before.rules e mudar as seguintes linhas:
de
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
para
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP -A ufw-before-input -p icmp --icmp-type source-quench -j DROP -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP -A ufw-before-input -p icmp --icmp-type echo-request -j DROP
UFW: Regras Numeradas
Para mostrar a ordem e o número de identificação das regras, você pode utilizar o seguinte comando:
maria@debian11VM:~$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 80 ALLOW IN Anywhere
[ 2] 53 ALLOW IN Anywhere
[ 3] 22/tcp ALLOW IN Anywhere
[ 4] 21/tcp DENY IN Anywhere
[ 5] 80 (v6) ALLOW IN Anywhere (v6)
[ 6] 53 (v6) ALLOW IN Anywhere (v6)
[ 7] 22/tcp (v6) ALLOW IN Anywhere (v6)
[ 8] 21/tcp (v6) DENY IN Anywhere (v6)
podemos então escolher um número para, por exemplo, excluir
maria@debian11VM:~$ sudo ufw delete 3
Ou inserir uma regra em uma posição específica
maria@debian11VM:~$ sudo ufw insert 3 allow from 192.168.50.5 to any port 443
Outros Exemplos de Uso do UFW
UFW trabalhar com regras em ordem, por exemplo, podemos bloquear um IP e liberar em seguida todos os demais daquela faixa. Colocamos as regras específicas em primeiro e as demais abaixo. Uma vez uma regra é a regra do topo é bloqueada, as outras irão ser validadas com acesso. Vamos a esse exemplo:
Você quer bloquear acesso à porta 22 dos IPs 192.168.0.1 e 192.168.0.7 mas permitir todos os outros 192.168.0.x IPs para ter acesso à porta 22 usando tcp:
sudo ufw deny from 192.168.0.1 to any port 22 sudo ufw deny from 192.168.0.7 to any port 22 sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
Comment on “Linux Tutorial: Exemplos de Uso do UFW(Uncomplicated Firewall)”