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.566 ]

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

Sudoers 1.8.12 - Parte II - Manual

Double Dragon: chkrootkit e portsentry, agora vai rolar pancadaria nos intrusos!

Race Condition

Automatizando as atualizações no Linux

Configurando Proxy Reverso NGINX com SSL e Apache em Virtual Hosts no Debian

  
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