viernes, 11 de noviembre de 2011

"Mi servidor no está bien..." - Manual para instalar RKHUNT

¿No os suena eso de 'Este servidor está haciendo cosas raras'? Yo lo suelo decir mucho. Demasiado tal vez... El caso es que, una vez analizado el caso, si sigue sin seguir ningún tipo de lógica y empiezas a pensar que tal vez tienes 'marcianitos' en tu servidor, ha llegado el momento de comprobar con un rootkit a ver qué hay ahí dentro.

Es muy sencillo, la verdad, no tiene misterio.
Instalamos la aplicación elegida; yo suelo trabajar con RKHUNTER

http://www.rootkit.nl/projects/rootkit_hunter.html 

y si puedo lo instalo directamente desde el repositorio; en caso de trabajar con sistemas tipo Debian:

apt-get install rkhunter


(además el sistema te instala libmd5-perl y el unhide; alguna vez me he encontrado que el unhide después devuelve algún aviso de seguridad al scanear)
Una vez instalados los paquetes, sólo queda escanear en busca de cosas 'raras'. Para ejecutarlo, invocamos en la shell

SERVER:~# rkhunter -c
[ Rootkit Hunter version 1.3.2 ]

Checking system commands...

  Performing 'strings' command checks
    Checking 'strings' command                               [ OK ]

  Performing 'shared libraries' checks
    Checking for preloading variables                        [ None found ]
    Checking for preload file                                [ Not found ]
    Checking LD_LIBRARY_PATH variable                        [ Not found ]

  Performing file properties checks
    Checking for prerequisites                               [ OK ]
    /bin/bash                                                [ OK ]
    /bin/cat                                                 [ OK ]
    /bin/chmod                                               [ OK ]
    /bin/chown                                               [ OK ]
    /bin/cp                                                  [ OK ]
    /bin/date                                                [ OK ]
    /bin/df                                                  [ OK ]
[...]


Al acabar, el log por defecto lo deja en

/var/log/rkhunter.log


La versión de rkhunter que viene con Debian, además, se puede programar de manera que no necesite interacción, ideal para automatizar vía cron.
Las entradas que yo tengo en mi cron respecto a esto son

rkhunter --update
rkhunter --cronjob --report-warnings-only

La primera entrada es para actualizar la base de datos del rkhunter. Para que funcione el sistema tiene que tener instalado algún navegador para utilizar desde la línea de comandos, tipo wget o lynx.
La segunda entrada es la que os comentaba, ya que ejecuta rkhunter de manera que no necesita interacción y sin reportar nada por pantalla. Para ello le ponemos el '--reports-warnings-only', y todo lo que analice lo envía al log por defecto.

Ahora sólo queda automatizar un proceso que revise el log y me avise vía mail si alguna vez hay algo raro. De momento estoy en ello, pero tengo que acabar de pulir los 'Warnings' que me devuelve el log, a ver qué se puede ignorar y qué no!



Fuentes:    http://www.rootkit.nl/projects/rootkit_hunter.html
               http://www.howtoforge.com/scan_linux_for_rootkits

No hay comentarios: