Como reportar IPs para o AbuseIPDB usando o CSF

 

A Internet é um lugar perigoso, e se temos um servidor publicamente acessível na mesma, a probabilidade de receberemos algum género de ataque no mesmo é consideravelmente elevada.

 

Por “ataque” não me refiro apenas a grandes ataques DDoS. Todos os dias são feitos milhões de ataques – ou tentativas de – dos mais variados tipos, como Scan de portas abertas, tentativas de login em painéis de controlo ou contas de email, etc.

Para quem gere um servidor, isto é uma tarefa recorrente. Pessoalmente giro uns quantos, portanto ter uma firewall bem configurada é o primeiro passo para garantir a segurança do sistema.

 

O CSF é sem dúvida uma das mais utilizadas, mas tem um ponto negativo: é apenas local. Não tenho forma de poder ajudar outros a serem atacados da mesma forma que eu fui ou a informar que um determinado IP pode não ser propriamente “bom na história”.

É aqui que entra o fantástico serviço do Abuse IP DB. Este serviço fornece reputação para os IPs na Internet, com base no que seja reportado pela comunidade para o mesmo. Já o tinha vindo a usar como forma de avaliar alguns IPs em tarefas mais especificas, mas decidi recentemente procurar formas de também ajudar a comunidade pelo mesmo.

 

O Abuse IP DB permite que qualquer um possa reportar os IPs que considere abusivos. E nada melhor do que o fazer que não seja automaticamente, não é?

Pois bem, usando a API do Abuse IP DB, e o script criado por Niraj Shah, decidi colocar mãos à obra, num processo que me demorou apenas 5 minutos.

 

Do que vamos precisar?

 

Feito isto, necessitamos de criar um script PHP que será responsável por comunicar com o IPDB. O código do mesmo pode ser encontrado em seguida.

Atenção que necessita de fazer algumas mudanças no código para a sua parte!

No campo $api_key necessita de colocar a sua chave API, que pode ser criada no site da AbuseIPDB.

Já em $user_id, necessita de colocar o seu nome de utilizador, tal como aparece no AbuseIPDB.

Por fim, em $server_ip deve colocar o IP do servidor que está a configurar.

 

Este ficheiro pode ser colocado em qualquer lugar, mas para referência aqui vamos colocar em /root/abuseIP.php. Depois de o guardar, deve ainda configurar as permissões de acesso, o que pode ser feito com o comando “chmod 755 /root/abuseIP.php”.

 

Feito isto, necessitamos de configurar o CSF para usar o script sempre que bloquear um IP no servidor. Isto pode ser feito editando o ficheiro de configurações do mesmo, em /etc/csf/csf.conf .

Dentro deste basta procurar por “BLOCK_REPORT”, editando a opção para ir direto para o ficheiro anteriormente criado. No nosso exemplo deve ficar como BLOCK_REPORT = “/root/abuseIP.php”

Feito isto, basta reiniciar o LFD com o comando “service lfd restart”.

 

A partir deste momento, deve estar tudo pronto. Sempre que o CSF bloquear um novo IP, o LFD vai automaticamente comunicar com o script, enviando os detalhes do bloqueio para o AbuseIPDB, e ajudando assim outros a evitarem igualmente ser atacados.

 

É importante notar que existem limites sobre o uso da API deste serviço – se for um utilizador gratuito, com o site validado, pode reportar até 3000 IPs por dia. Este valor pode ser aumentado caso tenha uma conta paga.

Share