
O Cloudflare é ótimo para proteger sites de diferentes bandidos de computadores - hackers. No entanto, se eles reconhecerem de alguma forma o IP original do servidor da web no qual o site está localizado, eles tentarão pelo menos atacá-lo por IP, ignorando o proxy. Você pode bloquear redirecionamentos, enviar redefinições 444 NGINX ao tentar acessar domínios inexistentes, mas a solução mais difícil é a seguinte: abra o tráfego http / https no servidor apenas para os endereços IP do nosso proxy de segurança.
A propósito, esse método também pode tornar parcialmente inútil todos os tipos de sites como o
crimeflare.org . Bem, o “detetive” descobriu que o domínio já foi acessível por esse IP - verificar se ele ainda está lá tentando fazer login no IP: 443 ou IP: 80 será inútil.
E se você fechar todas as portas do servidor, desativar o ICMP e permitir apenas o acesso através do IPMI / VNC, ninguém saberá que há algo em nosso IP.
Vamos fazer isso no iptables.
O CloudFlare possui um grande número de endereços, mas todos são compactados em um pequeno número de sub-redes. Antecipando tal solicitação, os caras
publicaram um artigo dizendo onde você pode encontrar as sub-redes atuais e até o que escrever nas tabelas de ip. Um problema é que isso deve ser feito manualmente, o que é bastante inconveniente e não confiável: o endereçamento no CloudFlare pode mudar com o tempo e, algum dia, pode acontecer que o proxy localizado nos novos endereços não seja permitido no seu servidor. Dessa forma, os clientes cujas sessões passarão por esses novos endereços não poderão acessar seu site.
Felizmente, o problema é automatizado. Então:
1. Proibimos todo o tráfego HTTP / HTTPS no iptables:
iptables -I INPUT 1 -p tcp -m multiport --dports http,https -j DROP
2. Coloque em algum lugar, por exemplo, via /root/cloudflare-update.sh o script cloudflare-update.sh com o seguinte conteúdo:
Ou seja, excluímos todas as entradas existentes adicionadas anteriormente, adicionamos tudo o que está na lista de endereços do CloudFlare. Dessa forma, evitamos regras duplicadas. Até o final - salve.
3. Tornamos o script executável:
chmod +x /root/cloudflare-update.sh
4. Em coroas (por exemplo, no final do arquivo / etc / crontab), adicionamos a tarefa de atualizar endereços a cada 12 horas:
0 */12 * * * root /root/cloudflare-update.sh &> /dev/null
Isso é tudo! Agora você pode acessar as portas 80 e 443 no servidor apenas por meio de um proxy, porque a qualquer momento, apenas endereços pertencentes ao proxy são permitidos no servidor.