lunes, diciembre 08, 2008

GrSecurity

GrSecurity es un parche para el kernel de la rama 2.4 y 2.6, este parche nos permite añadir ciertas funcionalidades relacionadas con la seguridad.
Algunas de las características más interesantes son limitar el acceso a dmesg, hacer que los usuarios solo puedan ver sus procesos, evitar ataques del tipo Stack OverFlow, no permitir que ciertos grupos de usuarios ejecuten ficheros con el Sticky bit activado o incluso no dejar que se puedan poner servidores a la escucha.
Bueno sin mas preambulo empezamos.
  1. Bajamos el último kernel soportado por GrSecurity, en el momento de escribir este tutorial se trataba del 2.6.24.5, así que cambiamos al directorio /usr/src y lo bajamos: wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.5.tar.bz2
  2. Ahora bajamos el parche: wget http://www.grsecurity.net/grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz
  3. Desenpaquetamos y descomprimimos el kernel: bzip2 -dc linux-2.6.24.5.tar.bz2
  4. Descomprimimos el parche: gzip grsecurity-.1.11-2.6.24.5-200804211829.patch.gz -d
  5. Aplicamos el parche: patch –p0 < ./grsecurity-.1.11-2.6.24.5-200804211829.patch
  6. Tan solo nos queda crear el enlace simbólico linux --> Nuestro kernel, configurarlo y compilar: ln -s linux-2.6.24.5 linux
  7. Arrancamos el configurador del kernel: make menuconfig
  8. Configuramos el kernel habilitando las opciones que nos parezcan oportunas, en el apartado de Security podremos encontrar las opciones relacionadas con GrSecurity.
  9. Cuando lo tengamos salimos y guardamos los cambios, para compilar el kernel es tan sencillo como: make && make modules_install
  10. Copiamos el kernel a /boot y editamos grub para poder arrancar el kernel nuevo: cp arch/x86_64/boot/bzImage /boot/GrSecurity && vi /boot/grub/menu.lst
  11. Añadimos una entrada al Grub como esta:
title GrSecurity
root (hd0,0)
kernel /boot/GrSecurity root=/dev/sda1
savedefault


Y ya lo tenemos, un kernel securizado y a prueba de balas, jajajaja.
En la captura de pantalla se puede observar como sólo puede ver el usuario joomla sus procesos.


NOTA:Si al hacer make menuconfig sale algún tipo de error seguramente sea debido a que no se tienen instaladas las librerias n-curses que se necesitan, para solucionarlo hay que instalar el siguiente paquete:
apt-get install libncurses5-dev
Además hay que tener en cuenta que si habilitamos Pax, la pila ya no será ejecutable con lo que algunos programas tendrán problemas y si restringimos los sockets y los puertos I/O puede que el servidor gráfico deje de funcionar, esto en un servidor no nos importará pero en una estación de trabajo sí que es un aspecto a tener en cuenta.

No hay comentarios: