Claro! Aqui está um script bash que percorre todos os IPs da lista da Cloudflare e executa os comandos ufw allow
para permitir conexões na porta 443 (HTTPS) vindas apenas desses IPs:
#!/bin/bash
## Porta que será liberada
PORT=443
## Protocolo (opcional, pode ser tcp/udp)
PROTO=tcp
## Lista de IPs da Cloudflare (v4)
## https://www.cloudflare.com/pt-br/ips/
## https://www.cloudflare.com/ips-v4/ #(acessado em 2025-07-08)
CLOUDFLARE_IPS=(
"173.245.48.0/20"
"103.21.244.0/22"
"103.22.200.0/22"
"103.31.4.0/22"
"141.101.64.0/18"
"108.162.192.0/18"
"190.93.240.0/20"
"188.114.96.0/20"
"197.234.240.0/22"
"198.41.128.0/17"
"162.158.0.0/15"
"104.16.0.0/13"
"104.24.0.0/14"
"172.64.0.0/13"
"131.0.72.0/22"
)
echo "Liberando porta $PORT/$PROTO para IPs da Cloudflare..."
for ip in "${CLOUDFLARE_IPS[@]}"; do
echo "Autorizando: $ip"
sudo ufw allow from "$ip" to any port "$PORT" proto "$PROTO"
done
echo "Concluído. Status atual do UFW:"
sudo ufw status numbered
- Salve o script num arquivo:
nano cloudflare-ufw-allow.sh
- Cole o conteúdo acima.
- Dê permissão de execução:
chmod +x cloudflare-ufw-allow.sh
- Execute com permissões de sudo:
sudo ./cloudflare-ufw-allow.sh
Se quiser bloquear tudo que não seja Cloudflare na porta 443, depois de executar o script acima, você pode rodar:
sudo ufw deny 443/tcp
Ou garantir que o default seja negar:
sudo ufw default deny incoming
Se você também quiser liberar Cloudflare IPv6, posso te passar a lista e o script atualizado com suporte a IPv6 também. Deseja isso?