パスワード割り当てとログイン制御によって、システムやネットワークへの未承認のログインを防止できます。パスワードはシンプルな認証メカニズムです。システム上のすべてのアカウントには、パスワードが必要です。アカウントにパスワードを設定しないと、ユーザー名を推測できる侵入者であれば誰でもネットワーク全体にアクセスできることになります。力ずくの野蛮な攻撃を許さないためには、強力なパスワードアルゴリズムが必要です。
ユーザーがシステムにログインすると、login コマンドはネームスイッチサービス svc:/system/name-service/switch 内の情報に従って、該当するネームサービスまたはディレクトリサービスデータベースを確認します。ネームサービスデータベースの値を変更するには、SMF コマンドを使用します。ネームサービスは、ログインに影響を与えるデータベースの場所を示します。
files – ローカルシステムの /etc ファイルを指定します
ldap – LDAP サーバーの LDAP ディレクトリサービスを指定します
nis – NIS マスターサーバーの NIS データベースを指定します
dns – ネットワーク上のドメインネームサービスを指定します。
ネームサービスについては、nscd(1M) のマニュアルページを参照してください。ネームサービスおよびディレクトリサービスについては、Oracle Solaris 11.2 ディレクトリサービスとネームサービスでの作業: DNS と NIS およびOracle Solaris 11.2 ディレクトリサービスとネームサービスでの作業: LDAP を参照してください。
login コマンドは、ユーザーによって指定されたユーザー名とパスワードを検証します。ユーザー名がパスワードデータベース内に存在しない場合、login コマンドはシステムへのアクセスを拒否します。あるいは、指定されたユーザー名に対するパスワードが正しくないと、login コマンドはシステムへのアクセスを拒否します。有効なユーザー名とそれに対応するパスワードが入力されれば、システムはシステムへのアクセスをユーザーに認可します。
PAM モジュールには、システムへのログインが正常に完了したあとのアプリケーションへのログインを効率化できます。詳細は、Oracle Solaris 11.2 での Kerberos およびその他の認証サービスの管理 の第 1 章プラグイン可能認証モジュールの使用を参照してください。
Oracle Solaris システムには、精巧な認証メカニズムと承認メカニズムが備わっています。ネットワークレベルでの認証メカニズムや承認メカニズムについては、リモートアクセスの認証と承認を参照してください。
ユーザーはシステムにログインするときに、ユーザー名とパスワードの両方を入力する必要があります。ログイン名は公開されていますが、パスワードは秘密にしなければなりません。ユーザーは、自分のパスワードを他人に知られてはいけません。ユーザーは、自分のパスワードを慎重に選択し、頻繁に変更する必要があります。
パスワードは、最初にユーザーアカウントを設定するときに作成されます。ユーザーアカウントのセキュリティーを管理するために、パスワード有効期限を設定し、パスワードを定期的に強制変更することができます。また、ユーザーアカウントを無効にして、パスワードをロックすることもできます。パスワードの管理の詳細は、Oracle Solaris 11.2 のユーザーアカウントとユーザー環境の管理 の第 1 章ユーザーアカウントとユーザー環境についておよび passwd(1) のマニュアルページを参照してください。
ネットワークでローカルファイルを使用してユーザーを認証している場合、パスワード情報はシステムの /etc/passwd ファイルと /etc/shadow ファイルに保持されます。ユーザー名などの情報は、/etc/passwd ファイルに保持されます。暗号化されたパスワード自体は、個別のシャドウファイル (/etc/shadow) に保持されます。このセキュリティー方式によって、暗号化されたパスワードにアクセスされることを防ぎます。/etc/passwd ファイルは、システムにログインできるすべてのユーザーが使用できますが、/etc/shadow ファイルを読み取ることができるのは root アカウントだけです。passwd コマンドを使用すると、ローカルシステム上のユーザーのパスワードを変更できます。
ネットワークで NIS を使用してユーザーを認証している場合、パスワード情報は NIS パスワードマップに保持されます。NIS では、パスワードの有効期間を指定できません。NIS パスワードマップに保持されているユーザーのパスワードを変更するには、コマンド passwd -r nis を使用します。
Oracle Solaris の LDAP ネームサービスは、パスワード情報とシャドウ情報を LDAP ディレクトリツリーの ou=people コンテナに格納します。Oracle Solaris LDAP ネームサービスクライアントでユーザーのパスワードを変更するには、passwd -r ldap コマンドを使用します。LDAP ネームサービスは、パスワードを LDAP リポジトリに格納します。
パスワードポリシーは Oracle Directory Server Enterprise Edition で適用されます。具体的には、クライアントの pam_ldap モジュールは Oracle Directory Server Enterprise Edition で適用されているパスワードポリシー制御に従います。詳細は、Oracle Solaris 11.2 ディレクトリサービスとネームサービスでの作業: LDAP のLDAP ネームサービスのセキュリティーモデルを参照してください。
パスワードの強力な暗号化は攻撃に対する最初の障壁になります。Oracle Solaris ソフトウェアには 6 つのパスワード暗号化アルゴリズムが用意されています。Blowfish および SHA アルゴリズムは、強力なパスワード暗号化を提供します。
サイトのアルゴリズムの構成は、/etc/security/policy.conf ファイルに指定します。policy.conf ファイルには、次の表に示す識別子でアルゴリズムを指定します。識別子とアルゴリズムのマッピングについては、/etc/security/crypt.conf ファイルを参照してください。
|
アルゴリズムがパスワード暗号化で使用することが許可されているアルゴリズムのリストに含まれている。
識別子が _unix_ 以外である。
パスワード暗号化のアルゴリズムを切り替える方法については、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。
policy.conf ファイルでは、デフォルトのアルゴリズムが次のように構成されています。
# … # 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,5,6 # 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 Oracle Solaris default is a SHA256 based algorithm. To revert to # the policy present in Solaris releases set CRYPT_DEFAULT=__unix__, # which is not listed in crypt.conf(4) since it is internal to libc. # CRYPT_DEFAULT=5 …
CRYPT_DEFAULT の値を変更すると、新しいユーザーのパスワードは、新しい値に対応するアルゴリズムを使って暗号化されます。
既存のユーザーがパスワードを変更したときに新しいパスワードがどのアルゴリズムで暗号化されるかは、古いパスワードがどのように暗号化されているかによって異なります。たとえば、CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 かつ CRYPT_DEFAULT=6 であるとします。次の表は、パスワードの暗号化にどのアルゴリズムが使用されるかを示します。パスワードは「識別子 = アルゴリズム」で構成されます。
|
選択したアルゴリズムの構成の詳細については、policy.conf(4) のマニュアルページを参照してください。パスワード暗号化アルゴリズムを指定する場合は、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。
root アカウントは特殊なシステムアカウントの 1 つです。これらのアカウントのうち、root アカウントにのみパスワードが割り当てられ、ログインできます。nuucp アカウントはファイル転送用にログインできます。他のシステムアカウントは、ファイルを保護したり、または root の完全な権限を使用せずに管理プロセスを実行したりします。
注意 - システムアカウントのパスワード設定は決して変更しないでください。Oracle Solaris からのシステムアカウントは、安全かつ確実な状態で配布されます。UID が 101 以下のシステムファイルは修正したり、作成したりしないでください。 |
次の表に、一部のシステムアカウントとその使用方法の一覧を示します。システムアカウントは特殊な機能を実行します。この一覧の各アカウントは、100 より小さい UID を持ちます。システムファイルの完全なリストを表示するには、logins –s コマンドを使用します。
|
侵入者にとって、リモートログインは魅力的な手段です。Oracle Solaris は、リモートログインをモニター、制限、および無効にする、いくつかのコマンドを提供します。手順については、Table 3–1 を参照してください。
デフォルトでは、システムのマウスやキーボード、フレームバッファー、オーディオデバイスなど、ある種のシステムデバイスについては、リモートログインを通して制御したり読み取ったりすることはできません。詳細は、logindevperm(4) のマニュアルページを参照してください。