iptables com o Cloudflare

3

Estou usando o fail2ban para bloquear os scanners de vulnerabilidade da web. Ele está funcionando corretamente ao visitar o site se o CloudFlare for ignorado, mas um usuário ainda poderá acessá-lo se passar por ele. Eu tenho mod_cloudflare instalado.

É possível bloquear usuários com IPtables ao usar o Cloudflare?

Ubuntu Server 12.04 32 bits

Access.log:

112.64.89.231 - - [29/Aug/2012:19:16:01 -0500] "GET /muieblackcat HTTP/1.1" 404 469 "-" "-"

Jail.conf

[apache-probe]

enabled  = true
port     = http,https
filter   = apache-probe
logpath  = /var/log/apache2/access.log
action   = iptables-multiport[name=apache-probe, port="http,https", protocol=tcp]
maxretry = 1
bantime  = 30 # Test

Apache-probe.conf

[Definition]

failregex   = ^<HOST>.*"GET \/muieblackcat HTTP\/1\.1".*
ignoreregex =
    
por tatersalad58 30.08.2012 / 17:03

2 respostas

1

A razão pela qual isso não está funcionando (e não vai funcionar) é que o iptables opera no endereço IP da máquina que está diretamente conectada à sua. Se você está usando o CloudFlare, isso significa que você está recebendo conexões do CloudFlare, não diretamente dos usuários finais.

Veja um exemplo, tirado de um dos meus sites no CloudFlare:

::ffff:108.162.221.19 www.yes-www.org - [05/Sep/2012:21:50:50 +0000] "GET / HTTP/1.1" 200 9585 "http://no-www.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.8 (KHTML, like Gecko) Chrome/23.0.1251.2 Safari/537.8" "64.244.153.130"

Aqui vemos que a conexão foi recebida do 108.162.221.19, um dos servidores da CloudFlare. Se isso foi bloqueado no iptables, então CloudFlare não seria capaz de nos alcançar (a partir desse endereço; felizmente eles têm muitos outros). A conexão com o CloudFlare na verdade veio de 64.244.153.130, que é o que apareceu nos cabeçalhos X-Forwarded-For e CF-Connecting-IP.

Infelizmente, neste tipo de configuração, isso significa que você não pode realmente usar o iptables para bloquear visitantes. Você tem algumas opções, no entanto:

  • Use o painel de controle de ameaças da CloudFlare, como Damon mencionou. Isso é doloroso se você tem muitos endereços IP que deseja bloquear ou eles mudam com frequência.
  • Bloqueie as solicitações no nível do aplicativo. Ferramentas como o meu próprio Mau Comportamento podem realizar esse tipo de coisa.
por 06.09.2012 / 00:03
1

Na verdade, deveríamos estar honrando o que você tem no iptables.

Você tentou bloquear esse IP no painel de controle de ameaças do CloudFlare? Na verdade, pode ser mais fácil bloquear os IPs em nosso painel de controle de ameaças do que em seu servidor.

    
por 30.08.2012 / 20:30