Dependendo do tráfego e dos visitantes esperados para um determinado servidor, talvez a disponibilização para alguns países não seja necessária, devido ao idioma em que as páginas do servidor web foram publicadas, ou simplesmente por não existirem clientes em potencial nessas regiões.
Em alguns casos, o servidor pode receber muitas tentativas de ataques provenientes de alguns países, além de outros diversos tipos de possíveis motivos. Cada administrador terá suas necessidades para realizar o bloquei de algum país.
Neste material iremos utilizar um excelente script para a realização dos bloqueios, publicado no
CyberCiti.biz.
Script
Para iniciar, vamos nos identificar como o super usuário root, com o comando:
su
Criaremos agora um diretório para armazenar nossos scripts:
# mkdir /root/scripts
# cd /root/scripts
O próximo passo é realizar o download do script e alterar suas permissões.
# wget https://foratdot.info/scripts/bloqueo-paises.sh
# chmod 0700 bloqueo-paises.sh
Podemos então editar o script, para alterar quais países serão bloqueados.
# nano bloqueo-paises.sh
Observe que na primeira linha de configuração (ISO) estamos dizendo para o script que desejamos bloquear a Rússia, Afeganistão e a China, com as siglas "ru", "af" e "ch".
Obs.: caso você precise saber quais siglas representam cada país, visite o site
IPDeny.com, pois é deste site que o script baixa as listas de IPs que serão utilizadas nos bloqueios.
Na próxima imagem, você encontra uma configuração mais elaborada, com uma lista maior de países que serão bloqueados no servidor.
Bloqueio de forma automatizada
Recordo que quanto mais países forem bloqueados, mais IPs serão utilizados nas listas de bloqueio. Desta forma, caso tenhamos muitos países, teremos muitas regras no
IPTables, podendo causar lentidão no servidor. Coloque apenas os países que realmente precisam ser bloqueados.
Ao finalizar a configuração, devemos executar o script pela primeira vez:
# ./bloqueo-paises.sh
Execute e deixe ele em execução, pois o download das listas de IPs que serão bloqueados pode demorar vários minutos.
Agora vamos automatizar para que o script seja executado automaticamente, sendo que ele então descarrega as listas de IPs atualizadas do site IPDeny, deixando o servidor sempre protegido com as listas de IPs mais recentes.
# crontab -e
Adicionar a seguinte linha, para que o script seja executado às 00:01, no primeiro dia de cada mês:
# Bloqueio de países
1 0 1 * * /root/scripts/bloqueo-paises.sh
Agora que o script está configurado e foi executado, podemos ver ele funcionando através de nossos logs.
Veja o resultado no meu servidor:
# tail -f /var/log/syslog
Espero que esse material ajude você na proteção de seus servidores.