Está en la página 1de 12

a siguiente gua se ha basado parcialmente en la anteriormente realizada por Miguel ngel Garca y publicada en su blog personal (http://www.itimag.com).

Mismo concepto, diferentes contenidos y, por tanto, distinta licencia. En el caso particular de esta gua, todos los comandos aqu mostrados han sido comprobados bajo un entorno de 32bit. Se incluyen los pasos especficos para SO de 64-bit (algunas rutas y nombres de archivo varan ligeramente) pero no han sido comprobados personalmente, tenlo en cuenta.

1. Cambiamos al directorio /usr/src :


Cdigo:

cd /usr/src

2. Descargamos ltimo kernel disponible desde http://www.kernel.org/ y su


correspondiente parche grsecurity desde http://www.grsecurity.net/download.php:
Cdigo:

wget http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/lin ux-2.6.32.36.tar.bz2 wget http://grsecurity.net/stable/grsecurity-2.2.2-2.6.32.36201103281752.patch 3. Descomprimimos el kernel:


Cdigo:

tar -xjf linux-2.6.32.36.tar.bz2 4. Aplicamos el parche grsecurity al kernel:


Cdigo:

patch -p0 < grsecurity-2.2.2-2.6.32.36-201103281752.patch 5. Cambiamos al directorio que contiene el kernel:


Cdigo:

cd linux-2.6.32.36 6. Hacemos una limpieza total del rbol del kernel y comenzamos una compilacin en limpio:
Cdigo:

make mrproper

7. Descargamos el archivo de configuracin especfico que proporciona OVH


desde ftp://ftp.ovh.net/made-in-ovh/bzImage/:
Cdigo:

wget ftp://ftp.ovh.net/made-in-ovh/bzImage/old/2.6-config-xxxxstd-ipv4-32 64-bit:


Cdigo:

wget ftp://ftp.ovh.net/made-in-ovh/bzImage/old/2.6-config-xxxxstd-ipv4-64 y lo renombramos:


Cdigo:

mv 2.6-config-xxxx-std-ipv4-32 .config 64-bit:


Cdigo:

mv 2.6-config-xxxx-std-ipv4-64 .config 8. Abrimos el men de configuracin grfico, donde seleccionaremos las opciones con las que compilaremos el kernel:
Cdigo:

make menuconfig

9. Activamos (pulsando Y sobre la opcin) Enable loadable module support y


seguidamente presionamos Enter:

En el nuevo men que nos aparecer, activaremos Module unloading y Forced module unloading:

Por ltimo, volvemos al men anterior (pulsando dos veces Esc).

10. Ahora, activaremos el soporte para QoS, muy til para garantizar y/o limitar
el ancho de banda a ciertos usuarios. Recomendacin: Sigue los pasos aunque no tengas pensado utilizar este sistema. Entramos en el men Networking support:

y dentro de ste en el submen Networking options:

Bajamos hasta que encontramos la opcin QoS and/or fair queueing, la activamos si no lo est y pulsamos Enter:

Una vez dentro, activamos Hierarchical Token Bucket (HTB):

y Netfilter mark (FW), que se encuentra casi al final:

Por ltimo, volvemos al men principal (pulsando en tres ocasiones, dos veces Esc).

11. Ya slo nos queda configurar las opciones del parche grsecurity. Para ello, entramos en el men Security options:

y dentro de ste en el submen Grsecurity:

Una vez dentro, activamos Grsecurity:

Entre las nuevas opciones que aparecern, nos situamos en Security Level y pulsamos Enter:

En la ventana de seleccin, nos situamos sobre High y presionamos la barra espaciadora:

Por ltimo, volvemos al men principal (pulsando en dos ocasiones, dos veces Esc).

Finalmente, salimos de la herramienta de configuracin (pulsando dos

veces Esc), seleccionando Yes cuando nos pregunte si queremos guardar la nueva configuracin:

11. Compilamos el kernel:

Recomendacin: Esto tarda, as que es mejor hacerlo antes de irse a comer, cenar o dormir para no estar perdiendo el tiempo viendo pasar centenares o miles de lneas de texto a velocidad de vrtigo .
Cdigo:

make Si nuestra conexin falla ms que una escopeta de feria, puede cortarse la conexin SSH en medio de la compilacin, en cuyo caso deberemos volver a empezar. Para evitar esto, es recomendable utilizar el comando nohup:

Cdigo:

nohup make & 12. Copiamos el kernel compilado a /boot


Cdigo:

cp arch/x86/boot/bzImage /boot/bzImage-2.6.32.36-xxxx-grs-ipv432 64-bit:

Cdigo:

cp arch/x86_64/boot/bzImage /boot/bzImage-2.6.32.36-xxxx-grsipv4-64 13. Editamos la configuracin del gestor de arranque (LILO):


Cdigo:

nano /etc/lilo.conf donde debemos cambiar la lnea que indica la ruta en la que se encuentra la imagen del kernel, dejndola tal que as:

Cdigo:

image=/boot/bzImage-2.6.32.36-xxxx-grs-ipv4-32 64-bit:
Cdigo:

image=/boot/bzImage-2.6.32.36-xxxx-grs-ipv4-64 Ctrl + O Intro Ctrl + X 14. Reinstalamos LILO en el sector de arranque para aplicar la nueva configuracin:
Cdigo:

/sbin/lilo 15. Reiniciamos:


Cdigo:

shutdown -r now 16. Una vez hayamos comprobado que funciona todo correctamente con el nuevo kernel, volvemos al directorio en el que estbamos:
Cdigo:

cd /usr/src/linux-2.6.32.36 17. Instalamos los headers, necesarios para compilar nuevos mdulos:

Cdigo:

make headers_install 18. Creamos el directorio de mdulos especfico para el nuevo kernel instalado:
Cdigo:

mkdir /lib/modules/`uname -r` make modules_install 64-bit:


Cdigo:

mkdir /lib64/modules/`uname -r` make modules_install 19. Copiamos el System.map generado durante la compilacin:
Cdigo:

cp System.map /boot/System.map-2.6.32.36-xxxx-grs-ipv4 rm -f /boot/System.map ln -s /boot/System.map-2.6.32.36-xxxx-grs-ipv4 /boot/System.map 20. (opcional) Algunos programas no se conforman con tener los headers para compilar sus mdulos, tal es el caso de VirtualBox, por lo que tendremos que crear una variable de entorno que almacene la ruta donde se encuentran las fuentes del kernel:
Cdigo:

export KERN_DIR=/usr/src/linux-2.6.32.36 echo "export KERN_DIR=/usr/src/linux-2.6.32.36" >> $HOME/.profile 21. Fin.

También podría gustarte