Aplicando Políticas de Senha
O Linux fornece várias ferramentas para impor políticas de senha, o que ajuda a manter a segurança do sistema, garantindo que os usuários selecionem senhas fortes. Nesta etapa, você aprenderá como implementar políticas básicas de senha.
Definindo a Expiração da Senha
O comando chage permite que os administradores definam políticas de expiração de senha. Navegue até o seu diretório de projeto:
cd ~/project
Vamos definir a idade máxima da senha para nossa conta cyberuser para 90 dias:
sudo chage -M 90 cyberuser
Este comando define o número máximo de dias que uma senha permanece válida antes que o usuário seja obrigado a alterá-la.
Você também pode definir uma idade mínima para a senha, o que impede que os usuários alterem suas senhas com muita frequência:
sudo chage -m 7 cyberuser
Este comando exige que o usuário espere pelo menos 7 dias antes de alterar sua senha novamente.
Verifique as alterações que você fez:
sudo chage -l cyberuser
Você deve ver as informações atualizadas da política de senha:
Last password change : Jul 15, 2023
Password expires : Oct 13, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Criando um Script de Política de Senha
Agora, vamos criar um script que implementará políticas de senha mais avançadas. Crie um novo arquivo chamado cyberpolicy.sh:
nano ~/project/cyberpolicy.sh
Adicione o seguinte conteúdo ao arquivo:
#!/bin/bash
## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password
## Set password expiration policy for all new users
echo "PASS_MAX_DAYS 90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS 7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE 7" | sudo tee -a /etc/login.defs
echo "Password policy has been updated successfully."
Salve o arquivo pressionando Ctrl+O, depois Enter e saia do nano com Ctrl+X.
Torne o script executável:
chmod +x ~/project/cyberpolicy.sh
Este script define as seguintes políticas de senha:
- Complexidade da senha: Mínimo de 8 caracteres, pelo menos 3 caracteres diferentes da senha anterior, com 3 tentativas permitidas
- Expiração da senha: Idade máxima da senha de 90 dias
- Restrição de alteração de senha: Idade mínima da senha de 7 dias
- Aviso de senha: 7 dias antes da expiração da senha
Em um ambiente de produção, você executaria este script para aplicar essas políticas. No entanto, para este laboratório, apenas examinaremos o conteúdo para entender como as políticas de senha podem ser implementadas.