パスワードの強力な暗号化は攻撃に対する最初の障壁になります。Solaris 9 12/02 リリースには、4 つのパスワード暗号化モジュールがあります。MD5 モジュール群と Blowfish モジュールでは、UNIX アルゴリズムよりも強固なパスワードの暗号化が行われます。
サイトのアルゴリズム構成は、/etc/security/policy.conf ファイルに指定します。policy.conf ファイルには、次の表に示す識別子でアルゴリズムを指定します。
表 15–1 パスワードの暗号化アルゴリズム
識別子 |
説明 |
アルゴリズムのマニュアルページ |
---|---|---|
1 |
BSD システムや Linux システムの MD5 アルゴリズムと互換性のある MD5 アルゴリズム |
crypt_bsdmd5(5) |
2a |
BSD システムの Blowfish アルゴリズムと互換性のある Blowfish アルゴリズム |
crypt_bsdbf(5) |
md5 |
BSD バージョンや Linux バージョンの MD5 よりも強力とされている Sun MD5 アルゴリズム |
crypt_sunmd5(5) |
__unix__ |
従来の UNIX 暗号化アルゴリズム。policy.conf ファイルのデフォルトモジュールはこのアルゴリズム |
crypt_unix(5) |
次に、デフォルトの policy.conf ファイルを示します。
# # Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # /etc/security/policy.conf # # security policy configuration for user attributes. see policy.conf(4) # #ident "@(#)policy.conf 1.6 02/06/07 SMI" # AUTHS_GRANTED=solaris.device.cdrw PROFS_GRANTED=Basic Solaris User # crypt(3c) Algorithms Configuration # # CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to # be used for new passwords. This is enforced only in crypt_gensalt(3c). # CRYPT_ALGORITHMS_ALLOW=1,2a,md5 # To deprecate use of the traditional unix algorithm, uncomment below # and change CRYPT_DEFAULT= to another algorithm. For example, # CRYPT_DEFAULT=1 for BSD/Linux MD5. # #CRYPT_ALGORITHMS_DEPRECATE=__unix__ # The Solaris default is the traditional UNIX algorithm. This is not # listed in crypt.conf(4) since it is internal to libc. The reserved # name __unix__ is used to refer to it. # CRYPT_DEFAULT=__unix__ |
CRYPT_DEFAULT の値を変更すると、新しいユーザーのパスワードは、新しい値に対応するアルゴリズムを使って暗号化されます。現在のユーザーがパスワードを変更したときに新しいパスワードがどのアルゴリズムで暗号化されるかは、古いパスワードがどのように暗号化されているかによって異なります。
たとえば、CRYPT_ALGORITHMS_ALLOW=1,2a,md5 かつ CRYPT_DEFAULT=1 であるとします。次の表は、パスワードの暗号化にどのアルゴリズムが使用されるかを示します。
元のパスワードアルゴリズム |
変更後のパスワードアルゴリズム |
意味 |
---|---|---|
crypt_bsdmd5 |
crypt_bsdmd5 |
crypt_bsdmd5 の識別子は 1、すなわち CRYPT_DEFAULT の値。ユーザーのパスワードは引き続き crypt_bsdmd5 アルゴリズムで暗号化される |
crypt_bsdbf |
crypt_bsdbf |
crypt_bsdbf の識別子は 2a。CRYPT_ALGORITHMS_ALLOW リストには 2a があるため、新しいパスワードは crypt_bsbdf アルゴリズムで暗号化される |
crypt_md5 |
crypt_md5 |
crypt_md5 の識別子は md5。CRYPT_ALGORITHMS_ALLOW リストには md5 があるため、新しいパスワードは crypt_md5 アルゴリズムで暗号化される |
crypt_unix |
crypt_bsdmd5 |
crypt_unix の識別子は __unix__。__unix__ 識別子は CRYPT_ALGORITHMS_ALLOW リストにないため、crypt_unix アルゴリズムを使用することはできない。新しいパスワードは CRYPT_DEFAULT アルゴリズムで暗号化される |
アルゴリズムの選択を構成するための構文については、policy.conf(4) のマニュアルページを参照してください。新しいパスワード暗号化アルゴリズムを使用する方法については、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。