Skip to content

Hugopvigo/AbuseIP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ban AbuseIPDB IPs ️

Este script Bash descarga direcciones IP reportadas como maliciosas desde AbuseIPDB y las bloquea utilizando ip route add blackhole. Además, gestiona los bloqueos, añadiendo solo IPs nuevas y eliminando las antiguas (más de 30 días) para mantener tu red segura y limpia.

✨ Características ✨

  • Descarga IPs maliciosas de AbuseIPDB.
  • Bloquea IPs IPv4 e IPv6.
  • Gestiona los bloqueos, añadiendo solo IPs nuevas y eliminando las antiguas.
  • Registra todas las acciones en un archivo de registro (/var/log/ban_abuseipdb.log).
  • ⏰ ¡Fácil de programar con cron!

️ Requisitos ️

  • curl
  • jq
  • iproute2
  • Clave API de AbuseIPDB (obténla aquí)

Instalación y Uso

  1. Clona o descarga el script ban_abuseipdb.sh.

  2. Mueve el archivo a /usr/local/bin/

    sudo mv ban_abuseipdb.sh /usr/local/bin/
  3. Dale permisos de ejecución y crea el log:

    sudo chmod +x /usr/local/bin/ban_abuseipdb.sh
    sudo touch /var/log/ban_abuseipdb.log
    sudo chmod 666 /var/log/ban_abuseipdb.log
  4. Edita el script y reemplaza "your_abuseipdb_api_key" con tu clave API real.

    sudo nano /usr/local/bin/ban_abuseipdb.sh
  5. Ejecuta el script:

    sudo /usr/local/bin/ban_abuseipdb.sh

⏰ Programación con cron (¡Recomendado!) ⏰

La mejor opción es programar el script con cron para que se ejecute automáticamente, por ejemplo, una vez al día a las 3 AM:

0 3 * * * /ruta/del/script.sh

Para editar tu crontab, usa:

crontab -e o sudo nano /etc/crontab

Monitoreo en Tiempo Real Para ver el registro en tiempo real:

tail -f /var/log/ban_abuseipdb.log

Nota: El script usa "Added IPv4 blackhole for ..." en lugar de "Bloqueado ...". Por lo tanto, para contar las IPs bloqueadas, usa:

grep "Added IPv4 blackhole for" /var/log/ban_abuseipdb.log | wc -l

️‍♂️ Ver IPs Bloqueadas ️‍♂️ IPv4: 🟢

ip route show | grep blackhole

IPv6:

ip -6 route show | grep blackhole

IPv4 + IPv6 en un solo comando: 🟣

(ip route show | grep blackhole; ip -6 route show | grep blackhole)

Contar IPs Bloqueadas IPv4: 1️⃣

ip route show | grep blackhole | wc -l

IPv6: 2️⃣

ip -6 route show | grep blackhole | wc -l

Todas las IPs (IPv4 + IPv6): 3️⃣

(ip route show | grep blackhole; ip -6 route show | grep blackhole) | wc 

⚠️ Consideraciones Importantes ⚠️

Este script requiere privilegios de root. Bloquear direcciones IP puede afectar la conectividad. ¡Úsalo con precaución! Prueba el script en un entorno de pruebas antes de usarlo en producción. Ten en cuenta las limitaciones de la API de AbuseIPDB. ¡Guarda tu clave API de forma segura!

Thanks to AbuseIPDB por el increíble servicio!

Thanks to xRuffKez por la idea y la base del script!

AbuseIPDB Contributor Badge

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages