Selection_999(415)Es sábado en la noche , he terminado de dictar la penúltima clase de Ethical Hacing en Huancayo , una de las ciudades mas importantes de la sierra central del Perú, me queda una hora antes de que salga el bus hacia Lima, así que vamos a aprovechar el tiempo con este post.

Hace unos meses una empresa que usa Elastix como su sistema principal de telefonía me pidió una forma de detectar automáticamente, en caso de que archivos como extensions_curstom.conf o sip_general.conf , fueran modificados o siquiera fueran fueran abiertos de alguna forma  y además que les enviara alertas al correo en caso de recibir esos eventos.

Pues alguna forma tendría que a ver, para hacer ello 😀 , me puse a buscar en la red, y esto es lo maravilloso del todo lo que está al rededor del Open Source y Linux, que puedes encontrar una programa que te sirva como base y luego moldearlo hacia el objetivo que necesites.

Es así que encontré INCROND , es un servicio que lo que hace es justamente, es monitorear los eventos que suceden en el sistema de archivos de Linux, es decir notifica sobre los cambios que pueden suceder en dentro de una carpeta o un archivo en especifico.

Con esto ya tenemos el servicio que en esencia hace lo que buscaba, a continuación vamos a ver como lo configuramos, y nos apoyamos en otros elementos, para cumplir el requerimiento solicitado.

1.- Instalar servicio
Instalar el servicio desde los repositorios

#yum install incron
#service incrond start

2.- Configurar servicio
Luego de instalarlo , la carpeta de configuracion es «/etc/incron.d/»  vamos a crear una archivo llamado «monitor_archivos_elastix» para configurarlo de la siguiente forma.

#vim /etc/incron.d/monitor_archivos_elastix

# contenido del archivo /etc/incron.d/monitor_elastix
# <directorio> <cambio a monitorear> <comando que se debe ejecutar> <parámetros del comando>
/etc/asterisk IN_MODIFY /root/incrond/incrond_email.sh $@ $# $%

Lo que hace el archivo lo siguiente :
/etc/asterisk  : Carpeta a monitorear
IN_MODIFY   : Evento que deseamos monitorear en este caso modificación.
/root/incrond/incrond_email.sh  : Script al cual vamos a enviar los parámetros que se disparan al activarse el evento
$@ : path del fichero o directorio.
$# : Nombre del fichero o directorio, sin el path.
$% : nombre del evento que se disparó

3.- Preparar programa de alertas
Ahora vamos a crear el archivo «incrond_email.sh» el cual va recibir los parametros definidos en el archivo de configuración  «monitor_elastix»

3.1.- Crear la carpeta y los archivos
#mkdir /root/incrond
#touch /root/incrond/incrond_email.sh
#touch /root/incrond/incrond_email.txt

3.2.- Crear el script incrond_email.sh

#vim /root/incrond/incrond_email.sh

#!/bin/bash
/bin/echo «ALERTA DE MONITOR DE ARCHIVOS / Se ha producido cambios en los archivos del servidor ELASTIX , los detalles son : Ruta archivo modificado: $1 Nombre archivo modificado: $2 Evento/Accion: $3 \n» > /root/incrond/incrond_email.txt
/bin/mail -s ALERTA-MODIFICACION-ARCHIVOS-ELASTIX jroliva@gmail.com</root/incrond/incrond_email.txt

4.- Desarrollando las pruebas
Ahora vamos a crear un archivo dentro de la carpeta «/etc/asterisk» que generará el evento.

– Creamos el archivo
#touch /etc/asterisk/prueba1.txt

– Luego incrond le envia los parametros al archivo «incrond_email.sh» y este genera el email , la salida la pueden ver en :
#tail -f /var/log/maillog

5.- Agregando Funciones horarias
Digamos que queremos que la monitorizacion solo lo haga a partir de las 18 horas , ya que en horario de oficina hacemos cambios regulares en el servidor.

5.1.- Programa para verificar horario

#vi /root/incrond/incrond_funcionhoraria.sh

#!/bin/bash
HORA=$(date +%H)
echo $HORA

if [ $HORA > 18 ]; then
/sbin/service incrond start
else
/sbin/service incrond stop
fi

5.2.- Automatizando en el Crontab

#chmod a+x  /root/incrond/incrond_funcionhoraria.sh
#crontab -e

*/60 *     * * *     /root/incrond/incrond_funcionhoraria.sh

Cualquier cambio o aporte serán bienvenidos
Espero les sirva
Juan Oliva
@jroliva

2 respuestas a “Elastix con Incrond , monitoreando cambios en los archivos de configuración.”

  1. Avatar de omargalavo

    Excelente post, roliva era justo lo que esta buscado.. Lo probare. Muchas gracias

  2. Avatar de Enrique Delgado
    Enrique Delgado

    Muchísimas Gracias Juan !! Me resulto muy útil y de echo no solo me enviá mail sino que también me lo reporta a mi monitor en PandoraFMS. Saludos

Deja un comentario

Juan Oliva

Consultor en Ciberseguridad y VoIP con mas de 16 años de experiencia en el campo, muy involucrado en proyectos de Ethical Hacking, análisis y explotación de vulnerabilidades en infraestructura, aplicaciones web, APIs y Móviles, pruebas de ingeniería social y revisión de código.