debian(ubuntu)で弱いパスワードの人を見つける(LDAP編)
2010/2/9 | Posted in linux
とあるサーバでユーザアカウントが乗っ取られて攻撃の踏み台に使われるという被害にあったので、対策のためパスワードの強度のチェックを行いました。
LDAPで複数サーバのアカウントを管理するシステムだったので、作業はLDAPのmasterで行いました。
まず、パスワードチェックに用いるのはjohnというソフト
aptで入ります。
$sudo apt-get install john
LDAPを使っていないならば、あとは
を参考にするとできると思います。
で、LDAP使ってる場合、パスワードファイルを引いてこなければならないので、まずはLDAPの情報を
/etc/ldap/ldap.conf か /etc/ldap/slapd.conf と /etc/ldap.secret
あたりを参照して、baseDNとadminDNとldappasswdを取得します。
base: dc=test,dc=example,dc=com admin: dn=ldapadmin,dc=test,dc=example,dc=com passwd: *******のような感じです。
次に(もしかしたら必要ないかもしれませんが)
$sudo apt-get install libnet-ldap-perlをやって、perlからldapを扱うライブラリを入れます。
そして、
からスクリプトをコピーして、先ほどメモしたbaseやpasswdを埋め、適当な名前で保存します。
(同じ動作をすると思われるプログラムが/usr/share/doc/john/examples/ldap-extractにもありますが、引数でパスワードを渡すのは嫌なので、使いませんでした。)
そのプログラムを使って
$ ./ldap-extract.pl > ldap_passwdのようにしてやると、うまくいけばldap_passwdの中に
user1:{crypt}abcdefghi...:
user2:{crypt}123456778...:
のような感じの文字列が並びます。こうしてできたファイルをjohnで解析します。
- シンプルなチェック これで引っかかる人はかなり弱いパスワードだと思われます。
$ john -single ldap_passwd
$ john -wordfile=/usr/share/john/password.lst ldap_passwd
$ john -incremental -users=[user1] ldap_passwd
解析にてパスワードが分かると、
john -show ldap_passwdで見ることができるようです。
悪用しないように。
Tags: linux, security