Linux Tips

パスワードが安全か調べるには(John the Ripper編)

北浦訓行
2002/1/17

 セキュリティパッチをまめに当てていても、パスワードが簡単だと容易にクラッキングされてしまう。そこで、パスワードの解析ツールを使って、自分のパスワードが安全かどうか確かめてみてはどうだろう。ここでは、「John the Ripper」というツールを使って、パスワードが解析可能かチェックする方法を説明する。

 まず、John the RipperのWebサイト(http://www.openwall.com/john/)からソースファイル(john-1.6.tar.gz)をダウンロードして、適当なディレクトリで展開する。

$ tar zxvf john-1.6.tar.gz
(省略)
$ cd john-1.6/src ←生成されたディレクトリに移動

 makeコマンドでは、自分の使用している環境に適したオプションを指定する必要がある。引数なしでmakeコマンドを実行すると、指定可能なオプション一覧が表示される。

$ make
To build John the Ripper, type:
        make SYSTEM
where SYSTEM can be one of the following:
linux-x86-any-elf        Linux, x86, ELF binaries
linux-x86-mmx-elf        Linux, x86 with MMX, ELF binaries
linux-x86-k6-elf         Linux, AMD K6, ELF binaries
linux-x86-any-a.out      Linux, x86, a.out binaries
linux-alpha              Linux, Alpha
linux-sparc              Linux, SPARC
(省略)

 MMX Pentium以降のPentiumを搭載したPCであれば、「linux-x86-mmx-elf」を指定すればいいだろう。もし、このオプションを指定してエラーが出た場合は、これに近いオプション(例えば「linux-x86-any-elf」や「linux-x86-any-a.out」など)を指定して再度実行してみる。それでもうまくいかないときは、「general」というオプションを指定する。以上の作業で、john-1.6/runディレクトリにJohn the Ripperのコマンド本体やツール類が置かれる。

$ make linux-x86-mmx-elf
(省略)
$ cd ../run ←バイナリが保存されているrunディレクトリに移動

 解析を試みる前に、もう1つやっておくことがある。それは、解析するためのデータファイルの作成だ。最近のディストリビューションはシャドウパスワードになっているので、unshadowというコマンドを使ってパスワードファイルとシャドウパスワードファイルを結合する。また、シャドウパスワードのファイルはrootしか読めないのでrootになっておくこと。

$ su
Password:
# ./unshadow /etc/passwd /etc/shadow > passwdfile
# exit
exit

 いよいよパスワードの解析だ。

$ ./john passwdfile
Loaded 6 passwords with 6 different salts (FreeBSD MD5 [32/32])
suzuki (suzuki) ←ユーザーIDとパスワードが同じ

 John the Ripperには、解析のためのオプションがいくつかある。代表的なものは、辞書を使った解析だろう。John the Ripperには、デフォルトでrun/password.lstという辞書がある。この辞書を使用する場合は、以下のオプションを指定する。

$ ./john -wordfile:password.lst passwdfile
Loaded 5 passwords with 5 different salts (FreeBSD MD5 [32/32])
coffee (tanaka) ←パスワードに英単語を使用

 John the Ripperには、これ以外にも多くのオプションやツールが用意されている。具体的には、john-1.6/docディレクトリにあるドキュメントを参照のこと。なお、パスワード解析用の辞書は日本語版も含めて用意されており、オックスフォード大学のFTPサイト(ftp://ftp.ox.ac.uk/pub/wordlists/)などからダウンロードできる。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間