Um recurso muito útil (e nem sempre utilizado) do Samba é o controle da qualidade (e validade) da senha dos usuários.

Para implementar tal controle é possível fazer uso de duas ferramentas diferentes (que podem, e devem, ser usadas em conjunto): pdbedit e crackcheck.

pdbedit

O pdbedit é uma ferramenta que pode ser utilizada para, entre outras coisas, configurar algumas políticas de senha do samba.

Com o pdbedit é possível setar o seguinte:

  • maximum password age – validade máxima da senhas (em segundos);
  • minimum password age – validade mínima da senhas (em segundos);
  • min password length – tamanho mínimo (caracteres) da senha;
  • password history – histórico de senhas (não permite o uso das últimas X senhas);
  • bad lockout attempt – número máximo de erros da senha, antes que a conta seja bloqueada;
  • lockout duration – tempo de bloqueio da conta (em minutos);
  • reset count minutes – tempo necessário para resetar o contador de senhas erradas (em minutos);
Todas essas políticas podem ser facilmente visualizadas com o comando:

pdbedit -P “nome_da_política”

A alteração de uma determinada política pode ser realizada com o comando:

pdbedit -P “nome_da_política” -C novo_valor_da_política

Ou, de forma similar, com o comando:

net sam policy set “nome_da_política” novo_valor_da_política


ATENÇÃO:
a política de senhas é implementada para todo o domínio e não pode ser administrada por conta.

ATENÇÃO 2: as políticas do domínio respeitam as configurações específicas das contas. Por exemplo: se você configurar que as senhas dos usuários tem validade máxima de 90 dias, mas quiser que uma determinada conta não tenha sua senha expirada nunca, use o comando:

net sam set pwnoexp login yes

ATENÇÃO 3: se você utilizar o OpenLDAP como backend dos usuários e senhas do Samba, é fundamental que o arquivo samba.schema seja da mesma versão do Samba que você estiver rodando.

Como foi possível perceber, as políticas tratadas pelo pdbedit já implementam um relativo controle das senhas, mas somente o uso destas não garante que a senha do usuário seja forte. E e aí que entra em cena o crackcheck.

crackcheck

O crackcheck é uma ferramenta que já vem com o Samba, e que faz uso da cracklib para controlar a qualidade das senhas dos usuários.

Antes de mais nada, é preciso esclarecer que esse post não pretende discutir os aspectos técnicos da ferramenta, e nem tratar do desenvolvimento de dicionários próprios (algo que poderá gerar uma postagem futura). Neste vou simplesmente explicar como forçar o uso de senhas como as utilizadas no Windows NT e no AD.

A política padrão de senhas do NT/AD implementa a seguinte regra: é preciso que a senha possua três entre quatro dos grupos de caracteres: letras maiúsculas, letras minúsculas, números e caracteres não alfabéticos (ex: #, $, *, etc…)

Se você utiliza Debian ou Ubuntu, a implementação desse recurso é bastante simples:

  • Instale os pacotes samba-doc, libcrack2-dev e libtool;
  • Acesse o diretório /usr/share/doc/samba-doc/examples/auth/crackcheck;
  • Compile o software e copie-o para o diretório /usr/local/sbin;
Adicione a seguinte linha a seu arquivo smb.conf e recarregue o samba:

check password script = /usr/local/sbin/crackcheck -s

Se você não quiser utilizar o crackcheck você poderá desenvolver seu próprio script de checagem de senhas, mas isso também é assunto para outra hora.

Uso de senhas fortes no samba
Plugin for Social Media by Acurax Wordpress Design Studio
Visit Us On FacebookVisit Us On TwitterCheck Our FeedVisit Us On Linkedin