HIDS :: Detección de intrusos simple

A continuación se proponen 2 simples scripts para poder controlar las modificaciones en el sistema de ficheros de nuestro sistema.

El primero nos hace un hash MD5 de cada fichero de los directorios que le especificamos, el script es el siguiente:


#!/bin/bash
date
md5sum_dir() {
for file in `find $1`; do
if test -f $file
then
md5sum $file
fi
done
}
md5sum_dir "/bin"
md5sum_dir "/etc"
md5sum_dir "/sbin"
md5sum_dir "/usr/bin"
md5sum_dir "/usr/sbin"
md5sum_dir "/usr/etc"
md5sum_dir "/boot"
md5sum_dir "/var/www"
md5sum_dir "/lib"
md5sum_dir "/usr/lib"
md5sum_dir "/usr/local/bin"
date



Guardaremos el script en /usr/local/bin/integridad.sh y le daremos permisos de ejecución mediante: chmod +x /usr/local/bin/integridad.sh


NOTA: Una herramienta alternativa a este script es la proporcionada por The Coroner's Toolkit en la cual se puede reducir a esto:
# md5deep -r /bin /var/ww /etc > linux.md5



El segundo hará uso del primer script para obtener el hash de los ficheros y guardarlos en un fichero, comparará el fichero del día actual, con el del día anterior y enviará por correo electrónico las diferencias .

NOTA: Este script es una modificación del comentado aquí.

#!/usr/bin/perl

use Net::SMTP;

$MSG = "Modificaciones en los ficheros del servidor:\n\n";

system ("mv -f /var/log/.md5.1 /var/log/.md5.2");

system ("/usr/local/bin/integridad.sh > /var/log/.md5.1");


open CMD, "diff /var/log/.md5.1 /var/log/.md5.2 |";

while () { $MSG = $MSG . $_ }



# Envio de un correo de Alerta

$smtp = Net::SMTP->new('smtp.provider.com');

$smtp->mail('infointegridad@empresa.es');

$smtp->to('admin@empresa.es');

$smtp->data();

$smtp->datasend("Subject: Servidor: Integridad de ficheros\n\n");

$smtp->datasend($MSG);

$smtp->dataend();

$smtp->quit;


Guardaremos este escript tambien en /usr/local/bin/mail_md5.pl por ejemplo le daremos permisos de ejecución mediante:

# chmod +x /usr/local/bin/mail_md5.pl

Ahora solamente tendremos que agregar esta linea al crontab mediante:

crontab -e

00 08 * * * /usr/local/bin/mail_md5sum.pl

Esto hará que cada dia a las 8 de la mañana recibamos un correo con las modificaciones realizadas en las carpetas indicadas en el primer script.


NOTA: Por supuesto si un hacker accede a nuestro sistema y averigua este sistema, podría eliminar los ficheros de hash de /var/log/.md5.x por lo que si se opta por un sistema de detección de intrusos serio, lo mejor es instalar Tripwire.
Posted on 3:39 p. m. by skarvin and filed under , | 4 Comments »

4 comentarios:

Anónimo dijo... @ 10:46 p. m.

Me gustan estos scripts, sobre todo
el de Perl. Yo no lo habría hecho mejor ...
fdo: Dani.

skarvin dijo... @ 12:30 p. m.

Me alegro mucho, si quieres te envío más ejemplos.

Anónimo dijo... @ 3:36 p. m.

Yo si los hubiera hecho mejor.

carlos dijo... @ 2:15 a. m.

hola en el siguiente link hay una herramienta de auditoria de seguridad y deteccion de intruso, para que la agregues en tu blog, http://www.nongnu.org/tiger/

por cierto este es el mio csoliss.blogspot.com, echale un revisadita y acepto tus sugerencias