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