Proteger el servidor contra RootKits con RKHunter en Linux

proteger-el-servidor-contra-rootkits-con-rkhunter-en-linux

Generalidades:

Rkhunter (o Rootkit Hunter) es una herramienta de Linux que detecta los rootkits, los backdoors y los exploit locales mediante la comparación de los hashes MD5 de archivos importantes con su firma correcta en una base de datos en línea, buscando los directorios por defecto (de rootkits), los permisos incorrectos, los archivos ocultos, las cadenas sospechosas en los módulos del kernel, y las pruebas especiales para Linux.

Instalación:

Para instalar RKHunter se debe ejecutar:

cd /usr/local/src
wget 'http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz'
tar xvzf rkhunter-1.4.2.tar.gz
cd rkhunter-1.4.2
./installer.sh --layout default --install

Para probarlo se debe ejecutar:

/usr/local/bin/rkhunter -c

Para crear un Email diario con los resultados del RKHunter, se debe ejecutar:

nano -w /etc/cron.daily/rkhunter.sh

Y colocar en el archivo:

#!/bin/bash
(/usr/local/bin/rkhunter -c --nocolors --cronjob --createlogfile --skip-keypress --quiet --summary --rwo 2>&1 | mail -s "Informe Diario de Rkhunter en el Servidor N" hostmaster@sudominio.com)

Salir y Guardar.

Luego debemos colocar los permisivos de ejecución:

chmod 755 /etc/cron.daily/rkhunter.sh

Ahora debemos actualizar la base de datos del RKHunter con:

rkhunter --update

Y crear el archivo inicial con:

rkhunter --propupd

Adicionalmente se puede editar el archivo de configuración:

nano /etc/rkhunter.conf

Buscar las siguientes variables y configurar el email:

MAIL-ON-WARNING=hostmaster@sudominio.com
MAIL_CMD=mail -s "[rkhunter] Advertencias encontradas en el Servidor N"

Adicionalmente, es posible configurar para que no de falsas alarmas en CentOS por scripts, por ejemplo:

SCRIPTWHITELIST=/sbin/ifup
SCRIPTWHITELIST=/sbin/ifdown
SCRIPTWHITELIST=/usr/bin/groups
SCRIPTWHITELIST=/usr/bin/whatis
SCRIPTWHITELIST=/usr/bin/ldd
SCRIPTWHITELIST=/usr/bin/GET

ALLOWDEVFILE=/dev/.udev/db/block:*
ALLOWDEVFILE=/dev/.udev/db/sound:*
ALLOWDEVFILE=/dev/.udev/db/net:*
ALLOWDEVFILE=/dev/.udev/db/input:*
ALLOWDEVFILE=/dev/.udev/db/serio:*
ALLOWDEVFILE=/dev/.udev/db/usb:*
ALLOWDEVFILE=/dev/.udev/queue.bin
ALLOWDEVFILE=/dev/.udev/db/drm:*
ALLOWDEVFILE=/dev/.udev/rules.d/99-root.rules

ALLOWHIDDENDIR=/etc/.java
ALLOWHIDDENDIR=/dev/.mdadm
ALLOWHIDDENDIR=/dev/.udev

ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
ALLOWHIDDENFILE=/usr/bin/.ssh.hmac
ALLOWHIDDENFILE=/usr/bin/.fipscheck.hmac
ALLOWHIDDENFILE=/usr/sbin/.sshd.hmac
 

Luego de finalizado, para ver un reporte detallado de las advertencias (warnings) debemos ejecutar:

nano /var/log/rkhunter.log

ó

cat /var/log/rkhunter.log | more

Finalmente, para que se actualice solo diariamente el RKHunter, debemos entrar por webmin (Desarrollo) y crear una tarea planificada (cron) con los siguientes datos:

Ejecutar como: root

Comando: /usr/local/bin/rkhunter –update > /dev/null 2>&1

Descripción: Actualización RKHunter

Horas y fechas seleccionadas abajo ..

Minutos: 0

Horas: 23

Días: Todos

Meses: Todos

Días de Semana: Todos

Ejecutar en cualquier fecha

Salvar y LISTO.

En el caso de un Servidor de Producción, lo que debe hacer es ingresar por SSH y crear un cron manualmente con:

crontab -e

Editar el archivo colocando al final

0 23 * * * /usr/local/bin/rkhunter --update > /dev/null 2>&1

Guardar y Listo.

Por otra parte, si se desea desinstalar el RKHunter podemos ejecutar:

cd /usr/local/src/rkhunter-1.4.2
./installer.sh --remove

Enlaces de Recursos:

http://rkhunter.sourceforge.net/

http://rkhunter.cvs.sourceforge.net/viewvc/*checkout*/rkhunter/rkhunter/files/README

Deja una respuesta

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