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

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

YASG (Yet Another Security Guide)

Como forçar alteração de senha de usuário no próximo login no Linux

Procedimento para descoberta de chave WEP

Utilizando hping

Como saber se houve uma invasão

  
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