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