CrackLib-2.10.3
Introdução ao CrackLib
O pacote CrackLib contém uma
biblioteca usada para impor senhas fortes comparando senhas
selecionadas pelo(a) usante com palavras em listas de palavras
escolhidas.
Nota
Esse pacote é conhecido por construir e
funcionar adequadamente usando-se uma plataforma LFS 13.1.
Informação do Pacote
Transferências Adicionais
Lista de palavras recomendadas para países de idioma inglês:
Existem listas adicionais de palavras disponíveis para baixar, por
exemplo, a partir de https://www.skullsecurity.org/wiki/Passwords.
O CrackLib consegue utilizar o
máximo ou o mínimo possível das listas de palavras que você
escolher instalar.
Importante
Usantes tendem a basear as senhas deles(as) em palavras comuns do
idioma falado e os crackers sabem disso. CrackLib destina-se a filtrar essas senhas
ruins na fonte usando um dicionário criado a partir de listas de
palavras. Para conseguir isso, a(s) lista(s) de palavras para uso
com CrackLib precisa(m) ser uma
lista exaustiva de palavras e combinações de teclas baseadas em
palavras que provavelmente serão escolhidas por usantes do
sistema como senhas (adivinháveis).
A lista de palavras padrão recomendada acima para download atende
principalmente a essa função em países de língua inglesa. Em
outras situações, possivelmente seja necessário baixar (ou mesmo
criar) listas adicionais de palavras.
Observe que as listas de palavras adequadas para verificação
ortográfica não podem ser usadas como listas de palavras do
CrackLib em países com alfabetos
não latinos, devido às “combinações de teclas baseadas em palavras”
que tornam as senhas incorretas .
Instalação do CrackLib
Instale o CrackLib executando os
seguintes comandos:
./configure --prefix=/usr \
--disable-static \
--with-default-dict=/usr/lib/cracklib/pw_dict &&
make
Agora, como o(a) usante root:
make install
Emita os seguintes comandos como o(a) usuário(a) root para instalar a lista de palavras
recomendadas e criar o dicionário CrackLib. Outras listas de palavras (baseadas
em texto, uma palavra por linha) também podem ser usadas
simplesmente instalando-as em /usr/share/dict e adicionando-as ao comando
create-cracklib
-dict.
xzcat ../cracklib-words-2.10.3.xz \
> /usr/share/dict/cracklib-words &&
ln -v -sf cracklib-words /usr/share/dict/words &&
echo $(hostname) >> /usr/share/dict/cracklib-extra-words &&
install -v -m755 -d /usr/lib/cracklib &&
create-cracklib-dict /usr/share/dict/cracklib-words \
/usr/share/dict/cracklib-extra-words
Se desejado, verifique a operação adequada da biblioteca como um(a)
usuário(a) não privilegiado(a) emitindo o seguinte comando:
make test
Se desejado, teste o módulo Python com:
python3 -c 'import cracklib; cracklib.test()'
Explicações do Comando
--with-default-dict=/usr/lib/cracklib/pw_dict:
Esse parâmetro força a instalação do dicionário CrackLib na hierarquia /lib.
--disable-static: Essa
chave impede a instalação das versões estáticas das bibliotecas.
install -v -m644 -D
...: Esse comando cria o diretório /usr/share/dict (se já não existir) e instala a
lista compactada de palavras lá.
ln -v -s cracklib-words
/usr/share/dict/words: A lista de palavras está
vinculada a /usr/share/dict/words
como historicamente; words é a lista
principal de palavras no diretório /usr/share/dict. Omita esse comando se você já
tiver um arquivo /usr/share/dict/words instalado em seu sistema.
echo $(hostname)
>>...: O valor de hostname é ecoado para um arquivo
chamado cracklib-extra-words. Esse
arquivo extra destina-se a ser uma lista específica do sítio que
inclui senhas fáceis de adivinhar, como nomes de organizações
empresariais ou departamentos, nomes de usuários(as), nomes de
produtos, nomes de computadores, nomes de domínio, etc.
create-cracklib-dict
...: Esse comando cria o dicionário CrackLib a partir das listas de palavras.
Modifique o comando para adicionar quaisquer listas adicionais de
palavras que você tiver instalado.
Conteúdo
Aplicativos Instalados:
cracklib-check, cracklib-format,
cracklib-packer, cracklib-unpacker, cracklib-update e
create-cracklib-dict
Bibliotecas Instaladas:
libcrack.so e _cracklib.so (módulo
Python)
Diretórios Instalados:
/usr/lib/cracklib, /usr/share/dict e
/usr/share/cracklib
Descrições Curtas
|
cracklib-check
|
é usado para determinar se uma senha é forte
|
|
cracklib-format
|
é usado para formatar arquivos de texto (minuscula todas
as palavras, remove caracteres de controle e ordena as
listas)
|
|
cracklib-packer
|
cria uma base de dados com palavras lidas a partir da
entrada gerada padrão
|
|
cracklib-unpacker
|
exibe na saída gerada padrão a base de dados especificada
|
|
create-cracklib-dict
|
é usado para criar o dicionário CrackLib a partir da(s) lista(s)
fornecida(s) de palavras
|
|
libcrack.so
|
fornece um método rápido de pesquisa de dicionário para
imposição de senha forte
|