Securizando el sistema – Parte I

Publicado: enero 31, 2014 en Seguridad, System
Etiquetas:, ,

malwareUna vez instalado el sistema, es conveniente aplicar ciertas medidas de seguridad. Al igual que en el resto de sistemas, un GNU/Linux también puede sufrir ataques de diversos tipos, así que, aunque confiemos en su seguridad, hay que establecer medidas.

Un S.O. es tecnología, no debemos dejar su seguridad en manos de la fe, que es algo místico.

Lo primero que vamos a instalar es un detector de rootkit. Vamos a configurar chequeos del sistema diarios, así como actualizaciones  de su base de datos.

El detector que utilizaremos será rkhunter. Para instalarlo, bastará ejecutar:

sudo pacman -Syu rkhunter

Ahora, actualizaremos la base de datos de rootkits. Después, haremos un primer chequeo del sistema. Además, crearemos una base de datos con los binarios actuales, para que rkhunter nos avise si algún binario ha sido modificado:

sudo rkhunter --update --check
sudo rkhunter --propupd

Tras el chequeo, nos van a saltar varios falsos positivos:

  • ldd: Nos salta porque, en Arch, no es un binario, es un script en bash.
  • /usr/bin/vendor_perl/GET: Salta porque, por defecto, no está en las instalaciones de Arch.
  • /dev/shm/pulse-shm-*: Son dispositivos virtuales, creados por Pulseaudio.
  • /usr/share/man/man5/{.k5identity.5.gz,.k5login.5.gz}: Pertenecen al paquete krb5.

Para que no nos salten estos falsos positivos, editamos el archivo /etc/rkhunter.conf y añadimos al final, lo siguiente:

ALLOWDEVFILE="/dev/shm/pulse-shm-*"
SCRIPTWHITELIST="/usr/bin/ldd"
ALLOWHIDDENFILE="/usr/share/man/man5/.k5identity.5.gz"
ALLOWHIDDENFILE="/usr/share/man/man5/.k5login.5.gz"
EXISTWHITELIST="/usr/bin/vendor_perl/GET"

Hecho esto, para que se ejecute diariamente, creamos el archivo /etc/cron.daily/rkhunter, con el siguiente contenido:

#!/bin/sh
( date; /usr/bin/rkhunter --cronjob --update --rwo ) \
     | /bin/mail -s "Rkhunter daily run on `uname -n`" root
exit 0

Damos permisos de ejecución, solo al usuario root:

sudo chmod u+rwx /etc/cron.daily/rkhunter
sudo chmod go-rwx /etc/cron.daily/rkhunter
sudo chmod go-rwx /etc/rkhunter.conf

Además, sobre todo en sistemas (U)EFI, es interesante complementar con un detector de intrusos. Pueden ver cómo instalar AIDE en este artículo, realizado por @MMontesDiaz.

Al actualizar el sistema, los binarios que vigila rkhunter, van a cambiar, con lo que nos mostrará, al realizar el chequeo, esos cambios. Una vez comprobemos que las alertas corresponden a la actualización del sistema, volvemos a actualizar la base de datos de los binarios, ejecutando:

sudo rkhunter --propupd

Para recibir notificaciones, debemos poder enviar correos desde nuestro equipo. Esto podemos configurarlo, bien con un servidor de correo, bien con herramientas compatibles con sendmail.

En los siguientes artículos, iremos viendo más herramientas para controlar un poco qué ocurre en nuestro equipo y securizarlo.

Anuncios
comentarios
  1. tannhausser dice:

    Muy bueno el artículo.

    Me lo guardo en marcadores, y me va a venir muy bien por lo de los falsos positivos en rkhunter, que ya me tenían “frito”.

    Saludos 🙂

    • Archuser dice:

      Muchas gracias!
      Saltarán falsos positivos en las actualizaciones del sistema, pero es bueno tener un poco de control.

      Todos los días baneo varias ips que intentan hacer ataques de fuerza bruta en exim y ssh, así que, mejor revisar pa’por’si..

  2. Yoyo dice:

    Excelente, la seguridad de estar seguro. 🙂

    rkhunter no está en repos de KaOS, voy a hacer la petición en el foro.

  3. dmacias dice:

    Aunque ya lo tengo instalado desde el dia de las pajicharlas voy a aplicar lo de los falsos positivos, y mirare lo de las notificaciones.

    Mi Arch ya lleva mas de 1 año instalado, asi que supongo puede tener binarios que ya no son como los originales no???

    Me pongo a ello haber que sale.

    Esperando la parte II ya xD

    Un saludo

    • Archuser dice:

      Lo ideal es utilizar un detector de intrusos desde el principio. Puedes mirar con rkhunter si tienes o no “regalitos”. Si no tienes ningún rootkit, generas la base de datos a partir de este momento.

      Lo normal es que, si solo utilizas los repos oficiales y no descargas cosas de sitios extraños, no tengas ninguno. Además, si no tienes abierto el puerto para ssh, es difícil que hayan podido dejarte cosas.

      Normalmente, el malware aprovecha nuestra confianza y los ciberdelincuentes utilizan ingeniería social para colarlos.

      En breve tendré el próximo, un saludo!

  4. dmacias dice:

    Pues lo del ssh me tiene mosca porque me da un par de warnings, uso ssh para trastear con un servidor que tengo en el garage con un eggdrop instalado, pero le cambie la configuracion y tengo un puerto aleatorio abierto, no el 22 por defecto.

    Voy a empaparme con el log.

    Algo debo haber hecho mal porque no me quita los falsos positivos, voy a seguir trasteando haber 🙂

  5. Manuel R dice:

    Muy interesante el tema, me encanta la idea de intentar hacer más seguro el sistema. Estaré pendiente de los demás temas. Gracias por compartir.

    Saludos.

  6. Muy buen articulo, disculpa mi ignorancia pero este programa tambien lo puedo conseguir en ubuntu…

  7. […] Securizando el sistema – Parte I enero 31, 2014 […]

  8. Reblogueó esto en BLOG DEL PROYECTO TIC – TACy comentado:
    Excelente articulo en 3 partes para los Amantes de la Seguridad bajo GNU/Linux

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s