Me apasiona la tecnología y disfruto de los retos informáticos. Me gusta la música; rock, jazz, blues, bossa y disfruto además de la comida y de viajar. Soy Gerente de Mantareys S. A. y soy un adicto a la Internet y el conocimiento.

Hace un tiempo atrás tuve la necesidad de proteger una central IP asterisk de ataques de fuerza bruza. Googleando un poco encontré varias aplicaciones que permiten cumplir con esta tarea a la perfección, pero en mis ganas de aprender algo nuevo opte por desarrollar algo propio, simple y eficiente que cumpla con este objetivo.

El problema era simple, debía leer un registro de eventos (log file), verificar los eventos que requería analizar cómo “password incorrecto”, “usuario fallido”, etc. y posteriormente identificar la IP que generó el evento y bloquearla con un comando via consola hacia el firewall.

Para esto mis recursos eran:

  • Servidor Asterisk
  • Registro de eventos (log file) de Asterisk
  • Firewall iptables instalado en el servidor
  • Servidor Apache+PHP 5
  • Tareas programadas en Linux (crontab)

Mi solución fue crear un script en php que pueda ejecutar por tarea programada y que lea el log de asterisk, identifique los eventos de password incorrectos, errores de inicio de sesión entre otros; y que al encontrar una coincidencia extraiga la “ip del agresor” y bloquee su acceso por iptables.

Para evitar que se bloquee los propios usuarios de la red interna del cliente, lo que hice fue crear una lista blanca (whitelist).

El script quedó bastante simple, pesa solo 4.25KB y posee 127 líneas bastante documentadas.

Si deseas conocer y descargar el script lo puedes encontrar en mi cuenta de GitHut.

Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *