CentOS 7 - Bloqueio de certos países (Filipinas, Rússia, China)

1

Eu gerencio um site que lida apenas com clientes em determinados locais.

Ultimamente meu balanceador de carga está sendo martelado por pedidos de filipinas / Rússia / China. Mail bots, ataques de força bruta, etc.

Existe uma maneira simples de impedir que esses três países acessem meu site? (Bloco de código de país?) Eu vejo muito sobre o uso de tabelas IP, no entanto im usando Firewalld no meu balanceador de carga CentOS7 ..

Alguma recomendação?

Obrigado Chris

    
por rosey85uk 03.11.2015 / 20:36

4 respostas

3

Eu não me preocuparia tanto com os países, mas sim com os endereços IP e os bloqueios de IP que estão gerando o comportamento questionável.

Tentar bloquear países é problemático e propenso a erros. Você estaria tentando rastrear ISPs específicos em cada país e seus blocos de endereços IP.

Eu usaria logs e outras fontes para criar listas de endereços IP com comportamento inadequado, agrupá-los em sub-redes e bloquear essas sub-redes. Revisitar periodicamente.

Definitivamente, um trabalho mais adequado para firewalls e balanceadores de carga, mas iptables ou firewalld podem fazer isso, mas seu host terá que ver e processar o tráfego, em vez de ser bloqueado mais adiante no fluxo de dados.

Pense mais como fail2ban ( link ) e menos como "bloquear a China"

    
por 03.11.2015 / 20:55
1

Eu usei um firewall no passado para isso. Tentar fazer isso em um servidor da Web CentOS ou dedicado é difícil, pois isso tende a ser mais um problema de rede.

Eu procuraria soluções de firewall e bloquearia os intervalos de IP dessa maneira. Eu sei que isso não responde diretamente a sua pergunta, apenas transmitindo o que eu fiz no passado.

    
por 03.11.2015 / 20:43
1

Você estará punindo países inteiros por um pequeno grupo de bandidos. E, pior ainda, você estará sentindo falta dos bandidos de outros países também.

Como diz o tep, o Fail2Ban é ideal para isso. Também verifique se você tem um WAF no lugar como mod_security ou naxsi. Em seguida, adicione a repsheet na mistura para uma boa medida e você não apenas atacará a proteção baseada em assinatura, mas também o monitoramento baseado em reputação / comportamento.

Se você realmente quiser bloquear países, mas tiver dificuldades com a rota do firewall, veja se o seu servidor da Web pode fazer isso, como o Nginx pode.

Como direcionar os países indesejados para um aplicativo mais barato: link

Bloqueio de países indesejados: link

De preferência, não bloqueie usuários legítimos desses países. Poderia ser um americano / europeu / Qualquer que seja seu mercado-alvo em negócios ou férias.

    
por 04.11.2015 / 09:26
1

Eu tive esse problema e, como afirmado por tep, Gerenciando os blocos de IP pode ser complicado. No entanto, encontrei um local que agrega e gerencia listas de blocos de IP por país usando o BGP (Major Internet Routing Protocol) e descobri que eles são muito precisos.

link

Depois, para facilitar a minha vida, escrevi um script que puxa uma lista de países definida pelo usuário do site acima, agrega e formata os IPs e os injeta em seu pacote de firewall favorito. Atualmente suporta pf, ipfw, iptables, ipset e agora os nftables de substituição do iptables. Você pode pegar no github aqui:

link

Acabei de executar o cron e depois de selecionar os 10 principais países hackers para minhas listas, hacks contra meus servidores praticamente evaporaram. O fail2ban no meu servidor está entediado em sua árvore. ;)

    
por 17.05.2017 / 03:20