Solaris のシステム管理 (セキュリティサービス)

パスワードの暗号化

パスワードの強力な暗号化は攻撃に対する最初の障壁になります。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 ファイルのアルゴリズム構成

次に、デフォルトの 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 の識別子は 2aCRYPT_ALGORITHMS_ALLOW リストには 2a があるため、新しいパスワードは crypt_bsbdf アルゴリズムで暗号化される

crypt_md5

crypt_md5

crypt_md5 の識別子は md5CRYPT_ALGORITHMS_ALLOW リストには md5 があるため、新しいパスワードは crypt_md5 アルゴリズムで暗号化される

crypt_unix

crypt_bsdmd5

crypt_unix の識別子は __unix____unix__ 識別子は CRYPT_ALGORITHMS_ALLOW リストにないため、crypt_unix アルゴリズムを使用することはできない。新しいパスワードは CRYPT_DEFAULT アルゴリズムで暗号化される

アルゴリズムの選択を構成するための構文については、policy.conf(4) のマニュアルページを参照してください。新しいパスワード暗号化アルゴリズムを使用する方法については、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。