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.
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.
Deja una respuesta