Será apresentado dicas simples para uma boa política de senhas que vão além das dicas comuns como “mantenha uma senha que contenha mais de 8 caracteres, sendo eles números, letras minúsculas, maiúsculas e caracteres especiais…”
1- Definindo a complexidade das senhas de usuários:
Para definir a complexidade, precisaremos alterar a configuração de definição de senhas de usuários. O processo pode ser diferente, de acordo com a sua distribuição.
Arch Linux:
Edite o arquivo passwd que se encontra em /etc/pam.d/passwd, da seguinte forma:
# vim /etc/pam.d/passwd
Debian, Ubuntu, RedHat, CentOS e outras:
# vim /etc/pam.d/system-auth
Configure sua linha de senha de forma que fique algo parecido com o seguinte:
password required pam_cracklib.so difok=3 minlen=10 ucredit=3 ocredit=2 retry=3
Onde:
difok=3 –> Informa a quantidade de caracteres que podem se repetir em relação à última senha. Por exemplo: Se minha antiga senha era “kalib” e eu tento usar “kalamba” como nova senha, receberei uma informação de erro, pois eu repeti 3 letras que já existem na senha anterior “kal”.
minlen=10 –> Informa qual a quantidade mínima de caracteres aceitos para a senha do usuário. No exemplo, o mínimo de caracteres aceitos serão 10, caso contrário será apresentada uma mensagem de erro solicitando que o usuário tente uma nova senha.
ucredit=3 –>Informa a quantidade de letras maiúsculas que deverão compor minha senha. No exemplo, eu precisarei utilizar no mínimo 3 letras em maiúsculo, ou “Uper Characters” em minha nova senha.
ocredit=2 –> Informa a quantidade de “outros caracteres” ou caracteres especiais, como por exemplo *, &, %, $, _, etc.
retry=3 –> Informa quantas vezes o usuário vai poder tentar, em caso de senha indevida, antes de receber a mensagem de erro.
Outros parâmetros que podem ser utilizados são os seguintes:
dcredit=x –> Informa a quantidade de dígitos que deverão ser utilizados como números na senha, onde x é o número mínimo desejado.
lcredit=x –> Informa a quantidade de caracteres minúsculos, ou “Lower Characters”, mínimos em sua senha.
2- Definindo que a nova senha não poderá ser igual às anteriores:
No mesmo arquivo do ponto anterior, iremos inserir o parâmetro remember na linha conforme exemplo:
password sufficient pam_unix.so use_authtok md5 shadow remember=10
remember=10 –> Informa que a nova senha não poderá ser igual às últimas 10 senhas utilizadas por este usuário.
Agora que já sabemos como definir uma política para criação de senhas seguras, vamos conhecer o “chage”, que nos ajudará a definir a política de datas ou validade das senhas.
3- Checando as políticas de validade de senhas de um determinado usuário:
# chage -l usuário
O comando acima verifica os atributos de validade daquela senha, e lhe retornará algo similar ao seguinte:
Last password change : May 11, 2011
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
As informações acima apresentam dados como data de última mudança de senha, data de expiração, tempo de inatividade, quantidade mínima de dias para se trocar a senha antes de a mesma expirar, etc.
4- Criando uma “validade” ou período de expiração para a senha de um determinado usuário:
# chage -M 99999 linustorvalds
Este comando vai desabilitar o período de validade da senha, informando que a mesma não expira nunca.
# chage -M 50 -m 7 -W 7 linustorvalds
Este comando aplica a política de senha para o usuário “linustorvalds” onde: -M 50 –> Define que a senha será válida por um máximo de 50 dias, quando a mesma deverá ser trocada. -m 7 –> Define o número mínimo de dias em que o usuário poderá trocar sua senha antes do período especificado para expiração. Caso o usuário possa trocar a qualquer momento ou dia, o valor deverá ser 0. -W 7 –> Número de dias antes de expirar nos quais o usuário vai receber alertas informando que sua senha irá expirar.
Caso você deseje especificar um dia exato no qual a senha de determinado usuário vai expirar, você pode utilizar o parâmetro -E seguido da data desejada no formato AAAA-MM-DD.
Além disto, você pode desejar que a senha do usuário “linustorvalds” seja trocada no próximo login do mesmo. Neste caso você poderá utilizar o parâmetro -d, conforme exemplo abaixo:
# chage -d 0 linuxtorvalds
O -d significa quantidade de dias também.
É isso pessoal.
Fonte: https://blog.marcelocavalcante.net/blog/2011/09/27/politica-de-senhas-no-linux-senhas-com-data-para-expirar/
1- Definindo a complexidade das senhas de usuários:
Para definir a complexidade, precisaremos alterar a configuração de definição de senhas de usuários. O processo pode ser diferente, de acordo com a sua distribuição.
Arch Linux:
Edite o arquivo passwd que se encontra em /etc/pam.d/passwd, da seguinte forma:
# vim /etc/pam.d/passwd
Debian, Ubuntu, RedHat, CentOS e outras:
# vim /etc/pam.d/system-auth
Configure sua linha de senha de forma que fique algo parecido com o seguinte:
password required pam_cracklib.so difok=3 minlen=10 ucredit=3 ocredit=2 retry=3
Onde:
difok=3 –> Informa a quantidade de caracteres que podem se repetir em relação à última senha. Por exemplo: Se minha antiga senha era “kalib” e eu tento usar “kalamba” como nova senha, receberei uma informação de erro, pois eu repeti 3 letras que já existem na senha anterior “kal”.
minlen=10 –> Informa qual a quantidade mínima de caracteres aceitos para a senha do usuário. No exemplo, o mínimo de caracteres aceitos serão 10, caso contrário será apresentada uma mensagem de erro solicitando que o usuário tente uma nova senha.
ucredit=3 –>Informa a quantidade de letras maiúsculas que deverão compor minha senha. No exemplo, eu precisarei utilizar no mínimo 3 letras em maiúsculo, ou “Uper Characters” em minha nova senha.
ocredit=2 –> Informa a quantidade de “outros caracteres” ou caracteres especiais, como por exemplo *, &, %, $, _, etc.
retry=3 –> Informa quantas vezes o usuário vai poder tentar, em caso de senha indevida, antes de receber a mensagem de erro.
Outros parâmetros que podem ser utilizados são os seguintes:
dcredit=x –> Informa a quantidade de dígitos que deverão ser utilizados como números na senha, onde x é o número mínimo desejado.
lcredit=x –> Informa a quantidade de caracteres minúsculos, ou “Lower Characters”, mínimos em sua senha.
2- Definindo que a nova senha não poderá ser igual às anteriores:
No mesmo arquivo do ponto anterior, iremos inserir o parâmetro remember na linha conforme exemplo:
password sufficient pam_unix.so use_authtok md5 shadow remember=10
remember=10 –> Informa que a nova senha não poderá ser igual às últimas 10 senhas utilizadas por este usuário.
Agora que já sabemos como definir uma política para criação de senhas seguras, vamos conhecer o “chage”, que nos ajudará a definir a política de datas ou validade das senhas.
3- Checando as políticas de validade de senhas de um determinado usuário:
# chage -l usuário
O comando acima verifica os atributos de validade daquela senha, e lhe retornará algo similar ao seguinte:
Last password change : May 11, 2011
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
As informações acima apresentam dados como data de última mudança de senha, data de expiração, tempo de inatividade, quantidade mínima de dias para se trocar a senha antes de a mesma expirar, etc.
4- Criando uma “validade” ou período de expiração para a senha de um determinado usuário:
# chage -M 99999 linustorvalds
Este comando vai desabilitar o período de validade da senha, informando que a mesma não expira nunca.
# chage -M 50 -m 7 -W 7 linustorvalds
Este comando aplica a política de senha para o usuário “linustorvalds” onde: -M 50 –> Define que a senha será válida por um máximo de 50 dias, quando a mesma deverá ser trocada. -m 7 –> Define o número mínimo de dias em que o usuário poderá trocar sua senha antes do período especificado para expiração. Caso o usuário possa trocar a qualquer momento ou dia, o valor deverá ser 0. -W 7 –> Número de dias antes de expirar nos quais o usuário vai receber alertas informando que sua senha irá expirar.
Caso você deseje especificar um dia exato no qual a senha de determinado usuário vai expirar, você pode utilizar o parâmetro -E seguido da data desejada no formato AAAA-MM-DD.
Além disto, você pode desejar que a senha do usuário “linustorvalds” seja trocada no próximo login do mesmo. Neste caso você poderá utilizar o parâmetro -d, conforme exemplo abaixo:
# chage -d 0 linuxtorvalds
O -d significa quantidade de dias também.
É isso pessoal.
Fonte: https://blog.marcelocavalcante.net/blog/2011/09/27/politica-de-senhas-no-linux-senhas-com-data-para-expirar/