CrackLib-2.9.6

CrackLib の概要

CrackLib パッケージは、強力なパスワードを実現するライブラリを提供します。 ユーザーが選び出したパスワードは、あらかじめ登録されている語句リスト (word list) との比較が行われます。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

追加のダウンロード

上以外にも追加の用語リストがあって、例えば http://www.cotse.com/tools/wordlists.htm などからダウンロードすることができます。 CrackLib では、語句リストの大小を問わず、望みのものを選んでインストールすることができます。

[重要項目]

重要項目

各ユーザーがパスワードを決める際には、自国語のごく普通の単語を選びがちです。 このことはクラッカーも承知しています。 CrackLib はそのような不適切なパスワードを受け付けません。 CrackLib にて利用する語句リストは、パスワードとして用いそうな単語ベースでの語句の組み合わせを余すことなく収容するものでなければなりません。

上の語句リストは、デフォルトの語句リストとしてダウンロードし利用することが推奨されています。 英語圏ユーザーなら、これを利用すれば十分です。 他のユーザーの場合は、追加の語句リストをダウンロードするか新規に生成するかして利用することが必要です。

Note that word lists suitable for spell-checking are not usable as CrackLib word lists in countries with non-Latin based alphabets, because of 「word-based keystroke combinations」 that make bad passwords.

CrackLib の依存パッケージ

任意

Python-2.7.15

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/cracklib

CrackLib のインストール

以下のコマンドを実行して CrackLib をビルドします。

sed -i '/skipping/d' util/packer.c &&

./configure --prefix=/usr    \
            --disable-static \
            --with-default-dict=/lib/cracklib/pw_dict &&
make

root ユーザーになって以下を実行します。

make install                      &&
mv -v /usr/lib/libcrack.so.* /lib &&
ln -sfv ../../lib/$(readlink /usr/lib/libcrack.so) /usr/lib/libcrack.so

root ユーザーになって以下のコマンドを実行します。 これにより、推奨されている語句リストをインストールし CrackLib の辞書情報を生成します。 これ以外の語句リストでも、テキストベースであり、一語につき一行のものであれば利用することができます。 利用する場合は、そのファイルを /usr/share/dict にインストールし create-cracklib-dict コマンドを使ってそのファイルの追加登録を行います。

install -v -m644 -D    ../cracklib-words-2.9.6.gz \
                         /usr/share/dict/cracklib-words.gz     &&

gunzip -v                /usr/share/dict/cracklib-words.gz     &&
ln -v -sf cracklib-words /usr/share/dict/words                 &&
echo $(hostname) >>      /usr/share/dict/cracklib-extra-words  &&
install -v -m755 -d      /lib/cracklib                         &&

create-cracklib-dict     /usr/share/dict/cracklib-words \
                         /usr/share/dict/cracklib-extra-words

必要なら以下のコマンドを実行して、一般ユーザーであってもライブラリの動作が正しく行われるかをチェックします。

make test
[重要項目]

重要項目

LFS を構築することで Shadow パッケージがインストールされているので、その後に CrackLib をインストールしたら、Shadow-4.6 を再インストールしてください。 これを行わないと強力なパスワードを実現することはできません。 今から Linux-PAM-1.3.0 パッケージをインストールしようとしている場合は、上の説明は無視して Linux-PAM をインストールした後に Shadow をインストールしてください。

コマンド説明

sed -i '/skipping/d' util/packer.c: 意味のない警告メッセージを取り除きます。

--with-default-dict=/lib/cracklib/pw_dict: このパラメーターは CrackLib の辞書情報を /lib ディレクトリ配下にインストールすることを指示します。

--disable-static: このスイッチはスタティックライブラリをインストールしないようにします。

mv -v /usr/lib/libcrack.so.2* /libln -v -sf ../../lib/libcrack.so.2.8.1 ...: この2つのコマンドは、libcrack.so.2.9.0 ライブラリとこれに関するシンボリックリンクを /usr/lib ディレクトリから /lib ディレクトリに移動します。 そして移動したファイルを指し示すシンボリックリンク /usr/lib/libcrack.so を生成します。

install -v -m644 -D ...: This command creates the /usr/share/dict directory (if it doesn't already exist) and installs the compressed word list there.

ln -v -s cracklib-words /usr/share/dict/words: The word list is linked to /usr/share/dict/words as historically, words is the primary word list in the /usr/share/dict directory. Omit this command if you already have a /usr/share/dict/words file installed on your system.

echo $(hostname) >>...: The value of hostname is echoed to a file called cracklib-extra-words. This extra file is intended to be a site specific list which includes easy to guess passwords such as company or department names, user's names, product names, computer names, domain names, etc.

create-cracklib-dict ...: このコマンドは語句リスト (word list) から CrackLib の辞書情報を生成します。 語句リストを追加インストールしたい場合は、このコマンドを修正してください。

パッケージ構成

インストールプログラム: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, create-cracklib-dict
インストールライブラリ: libcrack.so, _cracklibmodule.so Python モジュール
インストールディレクトリ: /lib/cracklib, /usr/share/dict, /usr/share/cracklib

概略説明

cracklib-check

is used to determine if a password is strong.

cracklib-format

is used to format text files (lowercases all words, removes control characters and sorts the lists).

cracklib-packer

creates a database with words read from standard input.

cracklib-unpacker

displays on standard output the database specified.

create-cracklib-dict

指定された語句リスト (word list) から CrackLib の辞書情報を生成します。

libcrack.so

強力なパスワード機能に対しての、高速な辞書情報の検索を実現します。

最終更新日: 2018-08-15 11:39:38 +0900