Solaris のパスワード暗号化アルゴリズムの設定
Solaris の従来のパスワード暗号化方式(crypt_unix、識別子 __unix__)では、パスワードの先頭 8 文字だけが使われる。設定ファイル /etc/security/policy.conf の CRYPT_DEFAULT を変更すると、パスワード変更時に使われる暗号化アルゴリズムを切り替えられる。
設定方法
root で /etc/security/policy.conf を編集し、CRYPT_DEFAULT に使いたいアルゴリズムの識別子を設定する。同時に、使用を許可するアルゴリズムを CRYPT_ALGORITHMS_ALLOW に列挙する。
CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 CRYPT_DEFAULT=5
識別子とアルゴリズムの対応は次の通りである。md5 は Solaris 独自の MD5(crypt_sunmd5)、1 は BSD や Linux と互換性のある MD5(crypt_bsdmd5)、2a は Blowfish(crypt_bsdbf)、5 は SHA-256(crypt_sha256)、6 は SHA-512(crypt_sha512)である。5 と 6 は Solaris 10 10/08 以降で利用できる。Solaris 11 では 5 が既定値である。
MD5 は衝突に対する強度が失われているため、新規に設定するときは 5(SHA-256)または 6(SHA-512)を選ぶ。BSD や Linux とパスワードを共用する必要がある場合に限り、識別子 1 を使う。
設定後の動作
設定を変更しても、既存のパスワードはそのまま保存されている。新しいアルゴリズムが適用されるのは、各利用者が passwd コマンドでパスワードを変更したときである。NIS や LDAP を使っている環境では、パスワードの暗号化はクライアント側の /etc/security/policy.conf に従うため、同じ設定ファイルを各クライアントに配布する。詳細は「man policy.conf」で確認する。