a man sitting on a bench in front of a brick wall
Photo by Viktor Forgacs on Unsplash

Normalmente, quando iniciamos aplicações
Só expomos a porta 80 e 443 e só pomos a Cloudflare com proxy ativo e seguimos como não se fosse nada. Mas se por acaso alguém conseguir o IP e tentar aceder por ele vai aceder direto, vai ter acesso a sua aplicação sem proteção nenhuma!

Quando a aplicação passa pelo proxy da Cloudflare, é usado um IP dela em vez o IP do utilizador! Isso significa que se tivermos os IPs a Cloudflare e adicionarmos na Firewall do servidor e bloquearmos as portas. 🤔

Ok! Mas quais são esse IPs?

Isso até é fácil já que a Cloudflare disponibiliza em cloudflare.com/ips, mas vou por aqui a lista caso queira ver mais facilmente!

Obs: A Cloudflare pode mudar algum IP a qualquer momento!

Lista de IPv4 da Cloudflare:

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

Caso a sua máquina use IPv6:

2400:cb00::/32
2606:4700::/32
2803:f800::/32
2405:b500::/32
2405:8100::/32
2a06:98c0::/29
2c0f:f248::/32

Como faço para configurar a Firewall?

Isso depende muito que Firewall tens ou/e a empresa que fornece a para sua máquina!

Por exemplo, na Oracle Cloud você por padrão tem as portas fechada e sempre que abrir a porta 80 e 443, mas em vez disso adicionamos os IPs da Cloudflare.

Exemplo de Como adicionar um IP da Cloudflare na Oracle Cloud
Exemplo de Como adicionar um IP da Cloudflare na Oracle Cloud

Para quem não tem uma Firewall parecida como da Oracle Cloud, temos de fazer pela própria Firewall do sistema operativo!

No Ubuntu, por exemplo, o Firewall padrão é ufw, mas podemos instalar outro Firewall (como as outras distribuições Linux). E por padrão vem desativada permitindo acesso total de qualquer porta! Para configurar até é simples:

  • Temos de configurar que o Firewall não permita conexões de entrada (que tentam conectar na máquina) e permitir todas as conexões de saída (a máquina poder navegar na Internet)
sudo ufw default deny incoming # Negar conexões de entrada
sudo ufw default allow outgoing # Permitir conexões de saida
  • Agora temos de permitir os IPs da Cloudflare

Não se esqueça de repetir o comando para inserir todos IPs da Cloudflare

sudo ufw allow from [IP] # Substiu o "[IP]" pelo 1 IP da Cloudflare
  • Agora só falta configurar o acesso SSH para não perdermos o acesso na máquina.

Se não tiver tome atenções nesta parte

## Escolha o comando mais indicado para sua modalidade

# Caso queira permitir o seu IP só consiga aceder
sudo ufw allow from [IP] to any port 22 # Mude "[IP]" pelo seu

# Caso queira abrir a porta SSH para tudos
sudo ufw allow ssh
  • Por fim, vamos ligar oficialmente a Firewall

Se tiver alguma coisa mal configurada vai dar problema

ufw enable

E pronto, agora tem o Firewall ativo e todas as suas aplicações web só estão acessíveis pela Cloudflare

Conclusão

Embora que só bloquear é a fórmula absoluta para que ninguém invada o seu servidor é uma ajuda! Mas pode ser uma dica que ajude você a proteger mais as suas aplicações.

Sérgio Glórias

Uma pessoa que gosta de brincar com códigos e xadrez