Como configurar uma política de senha forte no Debian

Definir uma boa senha de acesso em nossos computadores e servidores é essencial. Hoje continuamos a entrar em nossos computadores em muitas ocasiões com um nome de usuário e senha, embora já haja a possibilidade de configurar a autenticação em duas etapas para adicionar outra camada de segurança à autenticação. Configurar uma senha forte em nossos computadores é básico, mas é possível que muitos usuários não cumpram as diretrizes de uma senha segura, por isso é muito importante configurar uma boa política de senhas para obrigar todos os usuários a cumpri-la. Hoje, neste artigo, vamos mostrar como configurá-lo em qualquer Linux sistema operacional, vamos usar o Debian, mas em sistemas como Ubuntu O processo é o mesmo.

Qual é o propósito de configurar uma política de senha?

configurar uma política de senha forte no Debian

Quando instalamos o sistema operacional, o assistente de instalação nos pediu para inserir um nome de usuário e também uma senha de acesso para nos autenticar no sistema operacional. Se decidimos criar uma senha de root, então tivemos que inserir duas senhas diferentes (embora possam ser as mesmas, mas por segurança é recomendado que sejam diferentes). Porém, no assistente de instalação não temos nenhum tipo de política de senha pré-configurada, portanto podemos colocar uma senha tão simples como “key” ou “123456” entre outras senhas que não são seguras. Os usuários root e aqueles pertencentes ao grupo Administradores devem ter senhas fortes, bem como usuários normais sem privilégios, a fim de proteger a segurança do sistema operacional.

Se quisermos forçar todos os usuários de PC ou servidor a usarem senhas fortes, é absolutamente necessário que o administrador do sistema crie uma política de senha robusta, a fim de evitar que os usuários usem senhas tão fáceis de quebrar ou adivinhar. Também poderíamos forçar diferentes usuários a criar uma nova senha que obedeça aos novos requisitos-chave do sistema operacional, além disso, também poderíamos forçar todos os usuários ou apenas alguns, que suas senhas expirem de vez em quando e precisem inserir uma nova senha se não quiser ficar sem acesso ao sistema operacional.

Para ter uma boa política de senhas, é muito importante levar em consideração:

  • Crie senhas fortes que não estejam em dicionários e tenham certa complexidade.
  • Forçar os usuários a alterar suas senhas para cumprir a nova política de senha de acesso.
  • Configure a expiração de senha para forçar os usuários a alterar suas senhas de tempos em tempos.

A seguir, veremos como configurar uma boa política de senha em nosso servidor ou PC com Debian ou Ubuntu.

Configure uma política de senha forte

A primeira coisa que devemos levar em conta para configurar uma política de senhas robusta é sermos administradores, devemos ter privilégios de root para poder fazer todas as alterações, já que afetam todos os usuários do sistema operacional. Assim que tivermos as permissões de administrador, podemos começar a executar as diferentes etapas para configurar corretamente a política de senha.

Instale a ferramenta libpam_cracklib

A primeira coisa que vamos fazer é instalar a biblioteca libpam_cracklib, esta biblioteca se encarrega de verificar se a senha que você vai digitar não faz parte de um dicionário, ou seja, não é uma palavra simples. Também verificará se a senha não é a mesma que você já utilizou anteriormente, ou seja, não nos permitirá reutilizar as senhas que já utilizamos anteriormente. Nem nos permitirá reutilizar senhas que mudaram apenas um caractere, vamos imaginar que a nova senha seja “Pepe123.”, Uma vez que a nova senha não pode ser “Pepe123-” porque mudamos apenas um caractere. Outra característica desta biblioteca é que ela verifica se a nova senha é muito curta, se não é muito complexa, e ainda permite saber se não possui um único caractere inserido várias vezes consecutivas, com o objetivo de fazer a senha mais complexo.

Devemos ter em mente que definir uma senha forte é muito importante, pois é a primeira linha de defesa na segurança do nosso sistema operacional. Para instalar esta biblioteca, basta executar o seguinte comando:

sudo apt install libpam-cracklib

Se você usa “sudo” em seu sistema operacional, terá que colocar este comando antes do comando de instalação, caso contrário, se estiver no modo root, não precisará usá-lo. Antes de continuar, devemos indicar que a instalação desta biblioteca é muito importante, pois graças a ela poderemos configurar a política de senhas como desejamos.

Edite o arquivo de configuração

Assim que tivermos a biblioteca instalada, agora é quando vamos editar o arquivo que está localizado em /etc/pam.d/common-password. Mas antes de editá-lo diretamente, recomendamos que você faça uma cópia de backup deste arquivo de configuração, caso façamos alguma configuração errada, para poder voltar às configurações de fábrica com facilidade e rapidez.

Para fazer um backup deste arquivo, basta executar o seguinte comando e colocar o caminho que desejamos:

sudo cp /etc/pam.d/common-password /root/

Feito isso, abrimos o arquivo com permissões de superusuário para poder editá-lo, podemos usar o vi, vim, nano ou outro editor de arquivos de texto pelo console, usaremos o nano. Você também pode usar um editor de texto gráfico, mas sempre com permissões de root, caso contrário, ele não permitirá que você edite.

sudo nano /etc/pam.d/common-password

Agora veremos o arquivo de configuração completo do sistema operacional:

Uma vez dentro do editor, devemos localizar uma linha semelhante à seguinte:

password requisite pam_cracklib.so retry=3 minlen=8 difok=3

Na imagem a seguir você pode ver onde ele aparece:

É aqui que devemos editá-lo, e teremos as seguintes opções para configurá-lo como quisermos.

  • repetir: número de tentativas antes que o sistema retorne um erro de autenticação e nos expulse.
  • minlen: é o comprimento mínimo da senha, por padrão é 8 caracteres.
  • difok: número de caracteres diferentes que a nova chave deve ter em comparação com a antiga.
  • ucredit: caracteres maiúsculos que devem ser no mínimo ou no máximo.
  • lcredit: caracteres minúsculos que devem ser no mínimo ou no máximo.
  • dcredit: o número de dígitos que deve ter como mínimo ou máximo.
  • ocredit: o número mínimo ou máximo de outros caracteres (símbolos) que a chave deve ter.

As opções ucredit, lcredit, dcredit e ocredit podem ter números negativos ou positivos, para definir se queremos ter um intervalo mínimo ou máximo, por exemplo:

  • lcredit = -2: significa que deve ter pelo menos 2 caracteres minúsculos.
  • lcredit = + 2: significa que deve ter no máximo 2 caracteres minúsculos.

E é o mesmo com o resto das opções lcredit, dcredit e ocredit.

Configure a política principal a ser aplicada

Assim que conhecermos todas as opções de configuração que temos à nossa disposição, vamos escolher a política-chave a configurar. Um exemplo de política-chave pode ser o seguinte:

password requisite pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-3 lcredit=-3 dcredit=-3 ocredit=-3

Com a política anterior teremos:

  • Senha de comprimento mínimo de 12 caracteres.
  • Se mudarmos a senha, deve haver pelo menos três diferenças.
  • 3 caracteres maiúsculos, 3 caracteres minúsculos, 3 dígitos e 3 símbolos no mínimo

Não colocamos nenhum caractere como máximo, mas também poderíamos incorporá-lo, para limitar o número de caracteres do mesmo tipo que é permitido, no entanto, com esta política de chave acreditamos que a chave é complexa o suficiente para evitar problemas.

Verifique a nova política de chave

Depois de configurada, vamos alterar a senha do nosso próprio usuário para que se encaixe perfeitamente com a nova política de senha que configuramos. Para alterar a senha, devemos executar a seguinte ordem:

sudo passwd

Teremos um assistente onde teremos que indicar a nova senha, para que se encaixe perfeitamente com a política anterior. Dependendo da senha que inserirmos, poderemos ver um erro diferente, por exemplo, ele pode nos dizer que a chave é muito simples, é uma palavra do dicionário, é muito curta, etc. Uma vez que a nova senha que inserimos está em conformidade com a política, nos permitirá alterá-la sem qualquer problema.

Forçar outros usuários a alterar suas senhas

O Debian nos dá a possibilidade de forçar a mudança de senha para o próximo login de usuário, desta forma, eles não poderão evitar a nova política de senha que devem cumprir. Para forçar os usuários a inserir uma nova senha de acesso, o usuário administrador deve executar o seguinte comando:

passwd -e USUARIO

O argumento “-e” força a expiração da senha do usuário e, no próximo login, você precisará inserir uma nova senha que esteja em conformidade com os novos requisitos de senha do sistema operacional.

Configurar expiração de senha para usuários

Se quisermos configurar a expiração de senhas para usuários, também podemos usar o comando passwd para realizar esta configuração para cada um dos usuários do sistema, ou individualmente. Para definir uma expiração de senha e forçar os usuários a alterá-la antes que o prazo expire, devemos executar o seguinte comando:

passwd -w 5 -x 30 USUARIO

O argumento “-x” significa que os usuários devem alterar sua senha no máximo a cada 30 dias. O argumento “-w” significa que nos avisa 5 dias antes que a senha expire, para alterá-la, desta forma lembramos ao usuário que deve alterar a senha de acesso.

Também seria altamente recomendável configurar a inatividade da conta, caso o usuário não altere a senha após o vencimento da chave, que seja colocada como inativa e seja o administrador do sistema quem deve ativá-la novamente. Vamos imaginar que queremos marcar uma conta como inativa se já passou um dia desde o vencimento da chave, neste caso a configuração seria:

passwd -w 5 -x 30 -i 1 USUARIO

O comando passwd nos permite colocar diferentes argumentos na mesma ordem, recomendamos que você leia as páginas de manual desta ferramenta onde você encontrará todas as opções de configuração disponíveis.

Como você viu, configurar uma boa política de senha em nosso servidor com Debian ou Ubuntu é realmente simples, apenas teremos que instalar a biblioteca e fazer alguns ajustes, além disso, seria altamente recomendável forçar os usuários atuais (se existirem ) para criar uma nova senha de acesso.