Skip to content

Política de senhas Samba

A cada dia que passa existem mais pessoas má intensionadas  na internet, esperando apenas a oportunidade certa para roubar dados de pessoas e empresas.
Muitas dessas invasões são provenientes do uso de senhas com pouca complexidade, que são facilmente quebradas com a utilização de ataques de força bruta. Para dificultar as ações de criminosos, é importante que os usuários façam a troca de sua senha períodicamente e utilizem sempre uma senha difícil, contendo pelo menos três, dos quatro grupos de caracteres: letras minúsculas (a…z), letras maiúsculas (A…Z), números (1…0) e caracteres especiais (#,$,%,@).

Empresas, geralmente possuem um servidor de domínio, e nesse servidor é possível definir políticas de senhas que obriguem os usuários a fazer a troca períodicamente. Em servidores Windows Server, essas políticas já vem ativadas por padrão, já em servidores Linux com Samba, elas vem desativadas, mas são facilmente implementadas utilizando duas ferramentas que já vem inclusas no pacote do samba: pdbedit e crackcheck.

O pdbedit é responsável por definir as políticas de senha como: tempo mínimo e máximo de senha, limite minimo e máximo de caracteres, histórico de senhas, entre outros. Já o crackcheck, é responsável apenas por fazer a verificação da complexidade de senhas, não permitindo que o usuário utilize uma senha muito fácil.
Vamos ao tutorial de implementação das políticas:

Obs: Para que o tutorial abaixo funcione corretamente, o backend do samba deve ser LDAP ou TDBSAM.

Tutorial

Este tutorial é baseado em Debian com Samba 3

PDBEDIT

 Para utilizar esta ferramenta, não é necessário efetuar nenhuma alteração no smb.conf, apenas executar os comandos que serão passados abaixo (estou levando em consideração, que seu samba já esta corretamente configurado e funcionando). Toda política aplicada pelo pdbedit, será aplicada pra todo o domínio.
Fazer a senha do usuário expirar em 60 dias (o tempo de expiração da senha é definido em segundos):
 pdbedit -P "maximum password age" -C 5184000
Fazer com que o usuário possa alterar sua senha somente após 7 dias:
 pdbedit -P "minimum password age" -C 604800
Definir que a senha terá no mínimo 8 caracteres:
 pdbedit -P "min password length" -C 8
Definir comprimento máximo de senha:
 pdbedit -P "max password length" -C 15
Histórico de senhas. Define quantas das últimas senhas do usuário não poderão ser repetidas:
 pdbedit -P "password history" -C 3
O comando abaixo define que após X tentativas inválidas de logon, a conta ficará bloqueada por um tempo.
 pdbedit -P "bad lockout attempt" -C 3
Define o tempo que a conta ficará bloqueada:
 pdbedit -P "lockout duration" -C 1800
Obs: Caso queira voltar algum desses valores para o padrão, basta utilizar “-C -1” .
Fazer com que a conta de um usuário não expire a senha:
 pdbedit -c "[X ]" -u root
Forçar usuário a trocar a senha no próximo login:
 net sam set pwdmustchangenow usuario yes
Se der um erro na hora de criar qualquer uma das politicas acima, basta apagar o arquivo “account_policy.tdb”. No Debian este arquivo fica localizado em “/var/lib/samba/”.
 CRACKCHECK
Essa ferramenta faz a implementação das políticas de complexidade de senhas básicas do NT/AD. Essa política de senhas, define que a senha deve conter três dos quatro grupos de caracteres: Letras maiúsculas (A…Z), letras minúsculas (a…z), números (1…0) e caracteres especiais (#,$,@…).
Instalação:
 apt-get install samba-doc libcrack2-dev libtool make
 cd /usr/share/doc/samba-doc/examples/auth/crackcheck
 make
 cp crackcheck /usr/bin
Para configurar a verificação de senha, basta adicionar a seguinte linha ao smb.conf:
 check password script = /usr/bin/crackcheck -s
Reinicie o samba e pronto, a complexidade da senha será verificada toda vez que um usuário for alterá-la.

 

Published inLinux

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *