sábado, 25 de agosto de 2012

Slackware com GRSecurity

GRSecurity, é um patch para kernel, que visa um controle baseado em regras, onde podemos dizer que seria um Hardening para Kernel.

Para maiores informações segue o link do projeto:

http://grsecurity.net/

De acordo a versão stable do projeto até a escrita deste artigo, a versão  a ser utilizada é a 3.2.28.

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.28.tar.bz2

Patch GRSecurity

http://grsecurity.net/stable/grsecurity-2.9.1-3.2.28-201208232048.patch

Vamos iniciar a compilação do kernel:



Em Security Options:



Selecione GRSecurity:


Abaixo você terá os menus de configuração, selecione as opções de acordo ao uso necessário, lembrando que é bom ler a documentação antes.


Após a seleção siga com as etapas finais de compilação do Kernel:



Adicione uma segunda entrada no Lilo apontando para o novo Kernel:

Vamos a instalação de mais dois pacotes, o paxctl e pax-utils.

wget http://pax.grsecurity.net/paxctl-0.7.tar.bz2

wget http://distfiles.exherbo.org/distfiles/pax-utils-0.4.tar.xz

Instalação padrão make e make install para ambos.

Agora vamos da um restart no servidor e visualizar o mesmo já utilizando Grsecurity:


Veja até o símbolo mudou : - )

Podemos visualizar com o comando dmesg a ação já tomada direto no boot do sistema:


 Agora com a instalação do gradm, porém vamos compilar sem a opção de uso do PAM:

Vamos iniciar:

# gradm -P admin
# gradm -P shutdown
# gradm -E

Sugiro ler a documentação antes de por em produção, um exemplo se não tiver ciência do que ativar no kernel, até mesmo um simples scp de uma máquina para outro vai ser negado:

Aug 25 16:58:25 unbrokeable kernel: [  391.827246] grsec: From 192.168.1.33: (default:D:/usr/sbin/sshd) denied open of /proc/1557/oom_score_adj for writing by /usr/sbin/sshd[sshd:1557] uid/euid:0/0 gid/egid:0/0, parent /usr/sbin/sshd[sshd:1497] uid/euid:0/0 gid/egid:0/0
Aug 25 16:58:25 unbrokeable kernel: [  391.874415] grsec: From 192.168.1.33: (default:D:/usr/sbin/sshd) denied access to hidden file /var/empty by /usr/sbin/sshd[sshd:1557] uid/euid:0/0 gid/egid:0/0, parent /usr/sbin/sshd[sshd:1497] uid/euid:0/0 gid/egid:0/0
Aug 25 16:58:25 unbrokeable sshd[1557]: fatal: Missing privilege separation directory: /var/empty

No próximo artigo, vamos falar mais sobre o gradm2 e o pax-utils.

Nenhum comentário:

Postar um comentário

Arquivo do blog