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
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
Nenhum comentário:
Postar um comentário