Hardering com Red Hat 5

Nesse artigo veremos como melhorar a segurança em um ambiente Red Hat. Todas as configurações apresentadas podem ser usadas em outras versões de Linux e as mesmas são requisitos para que o ambiente entre em conformidade com políticas como PCI entre outras.

[ Hits: 26.586 ]

Por: daniel.theodoro em 15/05/2010


Boot e serviços



Primeiramente vamos providenciar a configuração de uma senha na BIOS da máquina para prevenirmos caso algum atacante com acesso físico consiga alterar a ordem de boot para um cdrom ou pendrive e dessa forma consiga acesso ao sistema.

Após configurarmos a senha na BIOS iremos agora ativar a senha no grub para que dessa forma possamos prevenir que algum atacante consiga acesso de root editando o grub na inicialização e dessa forma consiga acessar o sistema em modo runlevel1 ou chamando o bash ao invés do init.

# grub-md5-crypt
Password: (entre com a senha)
Retype password: (redigite a senha)

Após receber o hash da senha digitada, edite o arquivo /etc/grub.conf e adicione a seguinte linha:

password -md5 [hash]

Configure a umask padrão para os daemons durante o boot editando os arquivos /etc/sysconfig/init e /etc/init.d/functions.

Adicione ou altere a entrada umask para a seguinte:

umask 027

No Red Hat, por padrão, quando iniciado em modo de manutenção (ou runlevel 1) o mesmo chama um bash como root automaticamente sem solicitação de senha. Para evitarmos isso iremos configurar o Red Hat para solicitar a senha de root durante modo de manutenção.

Para isso vamos editar o arquivo /etc/inittab e adicione a seguinte linha:

~:S:wait:/sbin/sulogin

Durante o startup do Red Hat o sistema permite o usuário de entrar no modo interativo e escolher quais processos devem ser carregados ou não. Isso é uma falha de segurança, pois um atacante com acesso físico pode escolher desativar um firewall durante o boot do sistema e dessa forma deixar o sistema desprotegido contra um ataque externo.

Para desabilitar o prompt interativo durante o boot altere a entrada PROMPT de "yes" para "no" em /etc/sysconfig/init.

A NSA aconselha a separação das seguintes partições por questão de segurança: /boot, /var, /var/tmp, /tmp e /home. As razões para isso são apresentadas abaixo.
  • /boot - Esta é a primeira partição lida pelo sistema durante o boot. A imagem do kernel e o boot load do sistema são guardados nessa partição, de forma que devemos garantir que a mesma não seja encriptada, pois caso ela esteja junto a partição / e a mesma esteja encriptada acabará tornando o sistema indisponível durante o boot.
  • /var - Esta partição é usada no sistema para manipulação de dados nos quais são alterados com grande frequência, dessa forma ao separarmos garantimos uma melhor performance na manipulação dos dados nessa partição.
  • /var/tmp e /tmp - Estas partições são usadas para manipular dados temporários nos quais não permaneceram por muito tempo no sistema. A opção de separá-las é devido caso as mesmas estejam junto a partição / e alguma aplicação acabe estourando o limite de armazenamento contido na mesma o sistema acabará parando e possivelmente truncando alguns arquivos importantes.
  • /home - A partição /home mantém os dados de interesse dos usuários, dessa forma caso a mesma não esteja separada da partição / corre o risco de algum usuário ultrapassar o limite de armazenamento e assim causar uma parada no ambiente.

Adicione a opção nodev em partições diferentes da partição /. Com esta opção é possível prevenir que usuários montem dispositivos não autorizados em partições diferentes da raiz.

Adicione as opções nodev, noexec e nosuid em dispositivos removíveis como floppy, usb e cdrom.

Isso previne que usuários possam rodar aplicativos com permissão suid a partir desse dispositivos para tentarem ganhar acesso privilegiado ao sistema.

    Próxima página

Páginas do artigo
   1. Boot e serviços
   2. Kernel e Core dump
   3. Acessos e permissões
   4. Pacotes
   5. Checagem de integridade
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

(IN)segurança Digital

Bypass de firewall com tunelamento por DNS

Criptografar sua atual partição root usando dm-crypt com luks

Servidor para centralização de logs - Fedora 7

OUTGUESS: Oculte mensagens em fotos

  
Comentários
[1] Comentário enviado por andrack em 15/05/2010 - 01:28h

dth0,

Excelente artigo! A minha sugestão para o pessoal que irá aplicar os itens que você sugere no artigo, é de eles sejam
conferidos de tempos em tempos, e não apenas feitos uma única vez e depois esquecidos.

Abraços!



[2] Comentário enviado por andrezc em 15/05/2010 - 18:49h

Não seria "hardening" ?

[3] Comentário enviado por removido em 17/05/2010 - 14:11h

Gostei do seu artigo... mas uma coisa que faltou você tocar no assunto... é o SELINUX.
Muitos administradores que desconhecem o funcionamento do mesmo, acabam que setando o mesmo como DISABLED.
Por isso, como dica, aconselho a todos a manterem o SELINUX no modo ENFORCING, pois com ele a segurança é mandatória e não descritiva.
Abraço a todos e Viva o Linux

Bruno Lima

[4] Comentário enviado por luizvieira em 18/05/2010 - 11:14h

Bruno, estou contigo!
Ainda mais pelo fato de que o SeLinux é uma ferramenta padrão do RH e ainda por cima é cobrado na LPI 303 - Security.
Além disso, é uma ferramenta importante, se quiser manter um controle maior das permissões dos usuários, até mesmo do root.
No mais, excelente artigo, está de parabéns dth0!
[ ]'s
Luiz

[5] Comentário enviado por gleudson junior em 03/06/2010 - 09:25h

Pessoal,

Hardering vem do alemão e hardening do inglês.
Os dois termos estão corretos.

--
Gleudson Junior
Currículo: http://lattes.cnpq.br/9478031232169111
Fones: +55 81 9434-5060 / +55 86 9426-4654
Msn: gleudson_jr@hotmail.com
My WebPage: http://www.gleudsonjunior.blogspot.com/ About Linux: http://www.gleudson.blogspot.com/ - http:/ www.voolivrelinux.blogspot.com/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts