/ #Arch Linux #Cultura Hacker 

Política De Senhas No Linux: Senhas Com Data Para Expirar

Já é sabido que a maior vulnerabilidade dentro das empresas ou mesmo computadores pessoais são justamente os próprios funcionários ou usuários.

Securepassword Manter uma boa política de senhas é fundamental para garantir a segurança básica de suas informações e tentar minimizar as chances de alguém ter acesso indevido a elas.

Vou apresentar 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…”.

Em escritórios é importante haver também uma política de troca de senha regular. Mas, como forçar os usuários a seguirem essa política de troca de senha regular? Evitando que o mesmo se logue caso não troque a senha de forma periódica, claro.

Vamos começar pelo básico.

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        pamcracklib.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 useauthtok 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:

<em>Last password change : May 11, 2011</em>




<em>Password expires : never</em>




<em>Password inactive : never</em>




<em>Account expires : never</em>




<em>Minimum number of days between password change : 0</em>




<em>Maximum number of days between password change : 99999</em>




<em>Number of days of warning before password expires : 7</em>

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:

<em># chage -M 99999 linustorvalds</em>

Este comando vai desabilitar o período de validade da senha, informando que a mesma não expira nunca.

<em># chage -M 50 -m 7 -W 7 linustorvalds</em>

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:

<em># chage -d 0 linuxtorvalds</em>

O -d significa quantidade de dias também.

<strong>É</strong> isso pessoal.




<strong>H</strong>ave fun!