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

Por: daniel.theodoro em 15/05/2010


Acessos e permissões



Por padrão o Red Hat permite que o usuário root acesse o sistema por todos os terminais disponíveis, porém por questão de segurança vamos apagar todas as entradas do arquivo /etc/securetty e assim garantir o bloqueio do acesso ao usuário root.

# echo > /etc/securetty

Agora vamos remover usuários e grupos desnecessários para o ambiente e caso algum usuário seja necessário vamos mudar o shell padrão para o /sbin/nologin.

Exemplo de usuários e grupos: games, news, uucp, floppy entre outros.

Edite o arquivo /etc/pam.d/su e adicione a linha abaixo para assegurar que somente usuários que estejam no grupo wheel possam usar o comando su para ter acesso ao root.

auth required pam_wheel.so use_uid

Edite o arquivo /etc/sudoers para permitir o acesso ao root aos usuários do grupo wheel.

%wheel ALL=(ALL) ALL

Altere as entradas do arquivo /etc/login.defs para alterarmos os valores de validade das senhas, quantidades de caracteres entre outros.

PASS_MAX_DAYS 60
PASS_MIN_DAYS 0
PASS_MIN_LEN 8
PASS_WARN_AGE 7

Rode o comando abaixo para alterarmos o algoritmo padrão das senhas do Red Hat em /etc/shadow de md5 para sha512.

# authconfig --passalgo=sha512 --update

Vamos alterar o arquivo /etc/pam.d/system-auth para garantirmos a complexidade das senhas com a ajuda da lib pam_cracklib, com isso o sistema irá checar entre outras coisas se a senha digitada é fácil de se adivinhar e dessa forma garantiremos um pouco mais a segurança do ambiente.

Altere a linha:

password requisite pam_cracklib.so try_first_pass retry=3

Para:

password required pam_cracklib.so try_first_pass retry=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0

Altere em /etc/pam.d/system-auth a seguinte entrada para que o sistema possa reter as últimas 5 senhas usadas pelo usuário e dessa forma garantir que o usuário não utilize senhas repetidas.

Altere a linha:

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok

Para:

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remenber=5

Altere a umask padrão dos usuários para 077 nos seguintes arquivos:
  • /etc/profile
  • /etc/logins.def

Crie os seguintes arquivos para garantir que o sistema desconecte os usuários em caso de inatividade, lembrando de colocar a permissão 750 nos mesmos.

bash:

Arquivo /etc/profile.d/tmout.sh:

TMOUT=900
readonly TMOUT
export TMOUT

csh:

Arquivo /etc/profile.d/autologout.csh:

set -r autologout 15

Crie o arquivo abaixo com o seu respectivo conteúdo para garantir um histórico mais detalhado dos comandos usados, lembrando a permissão de 750;

/etc/profile.d/history.sh:

#!/bin/bash
readonly HISTTIMEFORMAT="%d/%m/%Y as %T -> "
export HISTTIMEFORMAT

Devemos alterar os arquivos /etc/issue e /etc/issue.net para que quando algum usuário tentar acessar ao servidor o mesmo mostre um banner informando que o sistema é de acesso restrito.

################### A T E N C A O ###################

Esse sistema destina-se apenas a pessoas autorizadas.

Todas atividades são logadas e verificas regularmente

################### W A R N I N G ###################

This computer system is for authorized users only.

All activity is logged and regulary checked.

Vamos alterar o arquivo /etc/ssh/sshd_conf para adicionarmos entradas para bloquear o acesso via root, permitir somente o acesso de usuários liberados, criar um timeout de 5 minutos, forçar o uso do protocolo ssh versão 2 e especificar o banner que irá aparecer para o usuário quando o mesmo tentar acesso ao sistema.

Protocol 2
AllowUsers USER1 USER2
X11Forwarding no
StrictModes yes
ClientAliveInterval 300
ClientAliveCountMax 0
PermitRootLogin no
IgnoreRhosts yes
banner /etc/issue

Página anterior     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

Nagios - Automatizando Auditorias de Rootkit

Adicionando baterias automotivas extras em nobreaks

Como fazer: chroot SSH (SSH mais seguro)

Ferramentas de segurança - uma pequena compilação

Slackware vs PAM

  
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