Você está na página 1de 5
Fortalecendo o kernel Linux com (Debian) Grsecurity (HARDENING) A segurança é baseada em três características:

Fortalecendo o kernel Linux com (Debian) Grsecurity

(HARDENING)

A segurança é baseada em três características: prevenção, proteção e de detecção. Grsecurity é um

patch para o kernel do Linux que permite que você aumente cada um desses pontos.

Neste artigo iremos ultilizar Debian Lenny.

Para compilar o kernel, você precisará instalar alguns pacotes específicos:

4security:~# aptitude install patch bin86 kernel-package build-essential

Se você gosta de configurar seu kernel em modo console gráfico (make menuconfig), você deve instalar mais um pacote:

4security:~# aptitude install libncurses5-dev

Verifique se initramfs-tools está instalado:

(Usado para gerar a ramdisk init)

4security:/usr/src# dpkg -l initramfs*

Desired=Unknown/Install/Remove/Purge/Hold

| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed

|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description

+++-==============-==============-

============================================

ii initramfs-tool 0.85i tools for generating an initramfs

4security:/usr/src#

Vá para a pasta de origem:

4security:/root# cd /usr/src

Baixe o patch grsecurity

4security:/usr/src# wget grsecurity.net/grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz

4security:/usr/src# wget eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.5.tar.gz

Descompacte o arquivo do kernel:

4security:/usr/src# tar xzvf linux-2.6.24.5.tar.gz Crie um link simbólico na pasta novo kernel para aliviar as

4security:/usr/src# tar xzvf linux-2.6.24.5.tar.gz

Crie um link simbólico na pasta novo kernel para aliviar as seguintes tarefas:

4security:/usr/src# ln -s linux-2.6.24.5 linux

Agora, o ambiente está pronto. Vamos ao Hardening! Mova o patch grsecurity para o novo diretório:

4security:/usr/src# mv grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz linux/grsecurity-2.1.11-

2.6.24.5-200804211829.patch.gz

Descompacte para corrigir o fonte do kernel:

4security:/usr/src# cd linux 4security:/usr/src/linux# gunzip < grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz | patch -p1

Agora, o patch foi aplicado ea fonte do kernel foi modificado. Vamos configurar o kernel para permitir Grsecurity.

Neste exemplo, vamos configurar o kernel usando um menu do console (make menuconfig). É por isso que instalei o pacote libncurses5-dev No entanto, você pode configurar no modo console puro (make config), ou em modo GUI (make xconfig).

Grsecurity tem predefinidos níveis: baixo, médio, alto. Ele também pode ser configurado em nível personalizado, onde poderá optar por permitir ou não a opção por opção. Veja http://www.grsecurity.net/confighelp.php/ para mais informações sobre cada opção. Neste artigo, vamos configurar Grsecurity em alto nível.

4security:/usr/src/linux# make menuconfig

Agora, vamos permitir que Grsecurity no menu.

Ir para :Security options > Grsecurity > tick Grsecurity.

No seu servidor você provavelmente não precisa de suporte para bluetooth, infravermelho, wi-fi nem ,
No seu servidor você provavelmente não precisa de suporte para bluetooth, infravermelho, wi-fi nem ,

No seu servidor você provavelmente não precisa de suporte para bluetooth, infravermelho, wi-fi nem ,

ipx, X25, Token Ring, ATM, firewire, PCCard, joystick, mouse, som

Compilando o Kernel:

Agora é hora de compilar seu kernel hardened. Em primeiro lugar, apenas no caso, a limpeza:

4security:/usr/src/linux# make-kpkg clean

(isso pode demorar um pouco dependendo do seu poder de CPU e memória RAM !!!)

4security:/usr/src/linux# make-kpkg --initrd --append-to-version "grsec1.0" kernel_image

No caso de você não estiver usando uma distribuição Debian, você pode compilar a maneira clássica com:

4security:# make mrproper 4security:# make menuconfig 4security:# make clean 4security:# make 4security:# make modules_install 4security:# mkinitramfs 4security:# make install

Instale o kernel:

Seu novo kernel é compilado e um arquivo .deb foi gerado na pasta /usr/src. Você precisa instalar o seu kernel como qualquer outro pacote .deb:

4security:/usr/src# dpkg -i linux-image-2.6.24.5-grsec_grsec1.0_i386.deb

Durante a instalação, uma imagem initrd será gerada. Isso pode demorar um pouco dependendo do

Durante a instalação, uma imagem initrd será gerada. Isso pode demorar um pouco dependendo do seu poder de processamento e disponibilidade de memória RAM! Você também pode verificar se a nova imagem de kernel é realmente um kernel!

4security:/usr/src# file vmlinuz-2.6.24.5-grsec vmlinuz-2.6.24.5-grsec: Linux kernel x86 boot executable RO-rootFS, root_dev 0x801, swap_dev 0x1, Normal VGA

Agora é hora de reiniciar o sistema com seu novo kernel fortalecido:

4security:/usr/src/linux# shutdown -r now

Agora que o sistema foi reiniciado, você pode verificar seu novo kernel, executando:

4security:~# uname -r

2.6.24.5-grsec

Testando o kernel

Exceto o fato de que uname -r está dizendo que seu kernel é um grsec, como você sabe se está torando o kernel que fortalecemos?

Usaremos o paxtest que irá simular um ataque sobre o kernel e mostrar se você está vulnerável ou não.

Download:

Extraí-lo:

4security:/tmp# tar xzvf paxtest-0.9.7-pre5.tar.gz 4security:/tmp# cd paxtest-0.9.7-pre5

Compilando:

4security:/tmp/paxtest-0.9.7-pre5# make generic

Executá-lo (há 2 modos diferentes: kiddie e blackhat):

4security:/tmp/paxtest-0.9.7-pre5# ./paxtest kiddie

Gabriel R. Vieira

www.4security.com.br