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

Cómo instalar Open SSH en Ubuntu Server 12.04

Es posible que nuestro servidor remoto nos sea entregado con el servicio SSH instalado en él. De forma que con el usuario root que nos facilitarían podríamos acceder. Si no fuera el caso, y necesitaríamos instalar SSH en nuestro servidor podríamos usar el siguiente comando.

Al de pocos segundos se descargarán los paquetes necesarios, se instalará y quedará listo para usar.

Un comando que hace lo mismo, pero que podríamos preferir es usando tasksel. Veamoslo:

Una vez instalado open-ssh podremos acceder de forma segura al servidor remoto desde nuestro equipo local usando un comando como:

Donde el usuario, será uno existente en el servidor, del cual disponemos de la contraseña, y example.com, el nombre de dominio del servidor remoto. Tras autentificarnos en el servidor remoto se nos abrirá un terminal con una shell, donde podremos introducir ordenes, como si estuviésemos sentados ante el servidor.

Actualización: En el siguiente vídeo podemos ver la instalación de Ubuntu Server 12.04.1 y la instalación del servidor SSH en él.

Usando ioping en Ubuntu Server 12.04 LTS

En un servidor web dedicado o en un servidor privado virtual el rendimiento de entrada / salida (input / output, io), principalmente el de acceso al disco duro es muy relevante. En la generación de una página web dinámica, se hacen multitud de accesos al disco duro. Se leen los diferentes archivos con el código que forman la aplicación, los archivos de configuración del servidor y del interprete, se rebusca entre los archivos de las bases de datos, los diferentes elementos estáticos de la web como pueden ser las imágenes, y otros elementos más. Como se ve multitud de accesos al sistema de archivos se suceden para construir lo que en un instante se muestra en el navegador.

Por eso, poder medir para comparar el rendimiento de nuestro servidor en lectura y escritura es definitivamente muy importante. Para este propósito existe una aplicación, que en Ubuntu Server 12.04 LTS esta disponible en sus repositorios, llamada ioping.

Para instalar ioping en nuestro servidor simplemente debemos ejecutar en un terminal la siguiente orden:

sudo aptitude install ioping

Esto dejará ioping instalado y listo para uso en nuestro sistema.

Modo de empleo

Podemos indicarle que ponga a prueba el sistema de ficheros local con una cuenta de 10 con el siguiente comando. Al finalizar nos dará un resumen de las pruebas. El comando es:

ioping . -c 10

Mostrará algo semenjante a:

4096 bytes from . (ext3 /dev/xvda1): request=1 time=26.5 ms
4096 bytes from . (ext3 /dev/xvda1): request=2 time=14.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=3 time=0.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=4 time=33.2 ms
4096 bytes from . (ext3 /dev/xvda1): request=5 time=21.9 ms
4096 bytes from . (ext3 /dev/xvda1): request=6 time=12.5 ms
4096 bytes from . (ext3 /dev/xvda1): request=7 time=15.8 ms
4096 bytes from . (ext3 /dev/xvda1): request=8 time=20.0 ms
4096 bytes from . (ext3 /dev/xvda1): request=9 time=20.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=10 time=17.3 ms

--- . (ext3 /dev/xvda1) ioping statistics ---
10 requests completed in 9121.8 ms, 84 iops, 0.3 mb/s
min/avg/max/mdev = 0.3/11.9/39.9/13.3 ms

Un rendimiento que como se ve ha de considerarse pobre para en sistema de ficheros en producción.
El mismo sistema de ficheros probado de otra forma:

ioping . -R
--- . (ext3 /dev/xvda1) ioping statistics ---
962 requests completed in 3005.4 ms, 334 iops, 1.3 mb/s
min/avg/max/mdev = 0.2/3.0/73.5/6.3 ms

Más información

En la página del manual se muestran todas la opciones disponibles en ioping y una explicacion detallada de ellas. Además podemos acceder al código fuente en Google Code.