Busqueda de rootkits mediante RKHunter en Ubuntu Server 12.04 LTS

Un rootkit es un software que permite el acceso a un servidor a terceros procurando pasar inadvertido a los administradores del mismo. El usuario malicioso aprovechando alguna debilidad del sistema instala el rootkit para posteriormente tener acceso total al sistema mediante él.

Rootkit Hunter es una herramienta que rastrea en el equipo servidor en busca de rootkits y alerta al administrador de su presencia.

La instalacion en Ubuntu Server 12.04 LTS es sencilla ya que esta disponible en los repositorios oficiales de Canonical. Accedemos a un terminal y ejecutamos el siguiente comando para instalarlo:

sudo apt-get install rkhunter

En la primera ejecución usaremos los siguientes comandos:

sudo rkhunter --update
sudo rkhunter --propupd

Y para chequear el sistema usaremos:

sudo rkhunter --check

La herramienta además de otros metodos, se basa en crear una base de datos con huellas MD5 de los ficheros clave del sistema. Y para detectar modificaciones de los ficheros, en chequeos posteriores los compara con los de la base de datos. La opción que genera la base de datos inicialmente es –propupd. Debemos usarla cuando sabemos que el servidor esta libre de todo tipo de rootkits

Instala Logwatch en Ubuntu Server 12.04 LTS

En un servidor expuesto a la red, se generan multitud de eventos que son registrados en diferentes archivos de sucesos. Estos archivos, a pesar de estar en texto plano y ser perfectamente interpretables por personas, debido al volumen de información que se genera  rápidamente se vuelven inabarcables.

Aquí es donde aparece una utilidad como Logwatch. Esta herramienta analiza los diferentes archivos de registro de sucesos generados por los servicios presentes en el servidore y  genera un informe con la información más relevante para nosotros.

Entre los servicios que puede monitorizar están los accesos al sistema, el cortafuegos, Apache, Fail2ban, etc. Estos pueden ser activados de acuerdo a nuestras necesidades.

Instalación

La instalación en un servidor Ubuntu están fácil como es habitual. Tan solo debemos acceder al equipo y introducir el siguiente comando para instala Logwatch.

sudo apt-get install logwatch libdate-manip-perl

Podemos lazar un informe tan fácilmente como:

sudo logwatch

O si queremos que nos lo envíe a nuestro correo podemos usar un comando semejante a:

sudo logwatch --mailto usuario@midominio.com --output mail --format html

Sin olvidar cambiar el correo del comando por el de donde queremos que se envíe el informe.

Configuración

La configuración de Logwatch es un tanto peculiar. En el directorio donde se instala convive con los archivos de configuración. Esto esta en /usr/share/logwatch. Ahí no debemos de tocar nada. Si acaso observar los valores de configuración que están por defecto.

La configuración la debemos hacer en el archivo /etc/logwatch/conf/logwatch.conf. Las entradas de configuración que escribamos en ese archivo prevalecerán sobre las que están por defecto. Recién instalado logwatch no existe el archivo en el directorio.

Además en la instalación se crea una tarea programada para el servicio CRON para iniciar logwatch una vez al día. Si queremos que este informe se envíe a nuestro correo debemos añadir al archivo de configuración:
Pedimos que los informes los genere en html:

sudo echo "Output = mail" >> /etc/logwatch/conf/logwatch.conf

Le pedimos que el informe sea de la última semana:

sudo echo "Range = between -7 days and today" >> /etc/logwatch/conf/logwatch.conf

Le pedimos que lo envíe a usuario@midominio.com. Que cambiaremos por nuestro correo:

sudo echo "MailTo = usuario@midominio.com" >> /etc/logwatch/conf/logwatch.conf

Y para probar si funciona lanzamos la tarea:

sudo /etc/cron.daily/00logwatch

Recibiremos el informe de la última semana en nuestro correo, perfectamente formateado en html.

Cómo instalar y poner en marcha Fail2ban en Ubuntu Server 12.04 LTS

Fail2ban es una pequeña utilidad que se ejecuta en el servidor y que monitoria varios archivos de log del sistema. Cuando detecta un comportamiento sospechoso proveniente de un visitante en alguno de los servicios que monitoriza lo banea para que deje de molestar.

La configuración por defecto de Fail2ban monitoriza el servicio ssh, pero puede además monitorizar, el ftp, el mail, o el servicio web entro otros si se activa y configura adecuadamente.

Para instalar Fail2ban ejecutamos en un terminal el siguiente comando.

sudo aptitude install fail2ban

Una vez instalado vamos a editar su fichero de configuración. Lo abrimos con:

sudo nano /etc/fail2ban/jail.conf

El archivo se organiza en pequeñas secciones llamadas jaulas, donde se configura como se monitoriza un servicio en concreto. Todas estas jaulas tienen una línea con donde se puede activar o desactivar cambiando enable a false o true. Veamos la jaula para SSH:


[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Tal como esta, funciona perfectamente sin cambiar nada. Nos aseguramos que en nuestro fichero de configuración este también en true. Si el puerto por el que accedemos al servicio SSH esta cambiado por otro debemos también cambiarlo en la configuración de la jaula por el que corresponda. La línea con maxretry indica que en esta jaula cuando el visitante malicioso intente ingresar más de 6 veces será baneado el tiempo en segundos que indique la línea:

bantime = 600

Si queremos que cuando Fail2ban banea a un visitante malicioso nos envíe un correo para informarnos, podemos poner el correo de destino en la línea:

destemail = usuario@example.com

Y podemos pedir que el informe enviado a nuestro correo sea bastante completo cambiando la línea:

action = %(action_)s

por:

action = %(action_mwl)s

Cuando estemos satisfechos con los cambios guardamos y reiniciamos fail2ban con:

sudo service fail2ban restart

Y para conocer el estado del servicio Fail2ban podemos usar:

sudo fail2ban-client status