Configurar servidor VPS desde cero II: uso de rkhunter

En el post anterior de la serie "Configurar servidor VPS desde cero", instalamos rkhunter desde los repositorios. Esta versión es la 1.4.2, mientras que la última versión es la 1.4.6

Esto genera un error al actualizar la base de datos, si ejecutamos un:

rkhunter --update

nos mostrará un mensaje de error.

Mi teoría, es que, aunque no he podido confirmarlo en ningún sitio oficial, en alguna de las ultimas versiones han debido de cambiar las rutas de los ficheros de la base de datos y debido a eso no se han podido descargar:

rkhunter --update 
[ Rootkit Hunter version 1.4.2 ]

Checking rkhunter data files...
  Checking file mirrors.dat         [ Skipped ]
  Checking file programs_bad.dat    [ Update failed ]
  Checking file backdoorports.dat   [ Update failed ]
  Checking file suspscan.dat        [ Update failed ]
  Checking file i18n versions       [ Update failed ]

Please check the log file (/var/log/rkhunter.log)

Si queremos tener la ultima version (1.4.6), al no encontrar un repositorio para Debian Jessie (8.6)  con esta versión, explicare la forma de instalar el programa de forma manual.

Índice

    Instalar rkhunter de forma manual

    Lo primero que debemos hacer es descargar el programa de la ultima version (1.4.6) desde la pagina oficial de rkhunter y lo descomprimimos:

    wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz/download
    mv download rkhunter-1.4.6.tar.gz
    tar -xvzf rkhunter-1.4.6.tar.gz
    

    Ahora solo tenemos que ejecutar el script de instalación:

    cd rkhunter-1.4.6
    ./installer.sh --install
    

    Si todo ha salido correctamente, nos mostrara el siguiente mensaje:

    Checking system for:
     Rootkit Hunter installer files: found
     A web file download command: wget found
    Starting installation:
     Checking installation directory "/usr/local": it exists and is writable.
     Checking installation directories:
      Directory /usr/local/share/doc/rkhunter-1.4.6: creating: OK
      Directory /usr/local/share/man/man8: exists and is writable.
      Directory /etc: exists and is writable.
      Directory /usr/local/bin: exists and is writable.
      Directory /usr/local/lib: exists and is writable.
      Directory /var/lib: exists and is writable.
      Directory /usr/local/lib/rkhunter/scripts: creating: OK
      Directory /var/lib/rkhunter/db: creating: OK
      Directory /var/lib/rkhunter/tmp: creating: OK
      Directory /var/lib/rkhunter/db/i18n: creating: OK
      Directory /var/lib/rkhunter/db/signatures: creating: OK
     Installing check_modules.pl: OK
     Installing filehashsha.pl: OK
     Installing stat.pl: OK
     Installing readlink.sh: OK
     Installing backdoorports.dat: OK
     Installing mirrors.dat: OK
     Installing programs_bad.dat: OK
     Installing suspscan.dat: OK
     Installing rkhunter.8: OK
     Installing ACKNOWLEDGMENTS: OK
     Installing CHANGELOG: OK
     Installing FAQ: OK
     Installing LICENSE: OK
     Installing README: OK
     Installing language support files: OK
     Installing ClamAV signatures: OK
     Installing rkhunter: OK
     Installing rkhunter.conf: OK
    Installation complete
    

     

    Ahora que ya tenemos instalada la última versión, pasaremos a la configuración y uso del rkhunter.

    Configuración y uso del rkhunter

    Actualización de las bases de datos

    Lo primero es actualizar la base de datos de rootkits. Es sencillo, desde el terminal ejecutamos:

    rkhunter --update
    

    Nos descargara la ultima versión de las bases de datos y las actualizará en caso de estar anticuadas.

    Primer chequeo del vps

    Después de actualizar las bases de datos, debemos obtener una imagen del estado actual del vps. Esto es necesario para fijar un estado correcto de nuestro sistema sobre el que comparar en futuros análisis de rkhunter.

    Ejecutamos desde la línea de comandos:

    rkhunter --propupd
    

    Cómo ejecutar el chequeo diario

    En el dia a dia, para realizar el chequeo del vps, deberemos escribir:

    rkhunter -c --sk
    

    El parámetro --sk evita el tener que estar pulsando la tecla Intro cada pantalla de resultados. De esta manera realiza el chequeo completo sin necesidad de intervención del usuario.

    Nos generará un fichero de log en /var/log/rkhunter.log con el resultado del chequeo. Tenemos que tener en cuenta que hay posibilidad que rkhunter nos reporte falsos positivos.

    System checks summary
    =====================
    
    File properties checks...
        Required commands check failed
        Files checked: 150
        Suspect files: 5
    
    Rootkit checks...
        Rootkits checked : 497
        Possible rootkits: 0
    
    Applications checks...
        All checks skipped
    
    The system checks took: 4 minutes and 10 seconds
    
    All results have been written to the log file: /var/log/rkhunter.log
    
    One or more warnings have been found while checking the system.
    Please check the log file (/var/log/rkhunter.log)
    

    Enviar el chequeo de rkhunter al correo electrónico

    Si queremos recibir el resultado del chequeo en nuestro correo electrónico en caso de encontrar algún aviso, podemos hacerlo de manera sencilla.

    Editamos el fichero /etc/rkhunter.conf, y descomentamos la línea MAIL-ON-WARNING, añadiendo la dirección de correo electrónico donde queremos recibir el resumen del chequeo.

    [email protected]

    Programar el chequeo diario

    Podemos programar una tarea diaria en cron para actualizar la base de datos del rkhunter, chequear el vps y que nos envíe el resultado por correo electrónico.

    Creamos un script con permisos de ejecución con este contenido:

    #!/bin/sh
    (
    /usr/local/bin/rkhunter --versioncheck
    /usr/local/bin/rkhunter --update
    /usr/local/bin/rkhunter --cronjob \
    --report-warnings-only
    ) | /usr/bin/mail –s 'Resultado Rkhunter' [email protected]
    

    donde tenemos que cambiar la dirección de correo de ejemplo ([email protected]) por la dirección donde queremos recibir el resultado de los chequeos.

    Ahora abrimos el cron como usuario root

    crontab -e
    

    Y añadimos la tarea del rkhunter para actualizar, chequear y recibir los resultados por correo electrónico:

    30 03 * * * /root/rkhunter.sh
    

    Nos ejecutara el chequeo cada dia a las 3:30 de la madrugada.

    Resolución de problemas

    A continuación incluyo una serie de mensajes de error que me he encontrado al ejecutar rkhunter, por si a algún lector se encuentra con el mismo problema, pueda arreglarlo de manera rápida y sencilla:

    Invalid WEB_CMD configuration option: Relative pathname: "/bin/false"

    Si al ejecutar rkhunter nos muestra el siguiente mensaje de error:

    Invalid WEB_CMD configuration option: Relative pathname: "/bin/false"
    

    Editamos el fichero /etc/rkhunter.conf y comentamos la línea que contiene el texto:

    WEB_CMD="/bin/false"
    

    Dejándola de la siguiente forma:

    #WEB_CMD="/bin/false"
    

    Warning: Download of 'programs_bad.dat' failed: Unable to determine the latest version number

    rkhunter --update
    [ Rootkit Hunter version 1.4.2 ]
    
    Checking rkhunter data files...
      Checking file mirrors.dat              [ Skipped ]
      Checking file programs_bad.dat         [ Update failed ]
      Checking file backdoorports.dat        [ Update failed ]
      Checking file suspscan.dat             [ Update failed ]
      Checking file i18n versions            [ Update failed ]
    
    Please check the log file (/var/log/rkhunter.log)
    

    La única solución que he encontrado es actualizar a la ultima version (1.4.6) de forma manual como explico al principio del post.

    Creo que la causa está en que entre esta version descarga desde los repositorios (1.4.2) y la ultima (1.4.6) han cambiado la ruta de los ficheros de base de datos en el servidor de actualizaciones de firmas de rkhunter y por eso no los puede descargar a nuestro vps.

    Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/bin/lwp-request

    Editamos el fichero /etc/rkhunter.conf, y comentamos la línea:

    SCRIPTWHITELIST=/usr/bin/lwp-request
    

    Dejándola de esta manera:

    #SCRIPTWHITELIST=/usr/bin/lwp-request
    

    Con este cambio ya debería arreglarse el problema y podremos ejecutar rkhunter sin ningún mensaje de error.

    ¡Haz clic para puntuar esta entrada!
    (Votos: 0 Promedio: 0)

    Deja una respuesta

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

    Subir