プラグイン可能認証モジュール (PAM) フレームワークを使用すると、login、ftp、telnet などのシステムに入るためのサービスを変更しなくても、新しい認証サービスを「プラグイン」できるようになります。また、PAM を使用すると、UNIX ログインを Kerberos などほかのセキュリティーメカニズムと統合できます。また、アカウント、資格、セッション、およびパスワードの管理メカニズムも「プラグイン」できます。
PAM フレームワークを使用すると、システムに入るためのサービス (ftp、login、telnet、rsh など) のユーザー認証を構成できます。PAM には次の利点があります。
柔軟な構成ポリシー
アプリケーションごとの認証ポリシー
デフォルトの認証メカニズムを選択する機能
高度なセキュリティーシステムにおいて複数の承認を要求する機能
一般ユーザーにも使いやすい
認証サービスが異なってもパスワードが同じであれば、パスワードを再入力する必要がない
ユーザーが複数のコマンドを入力しなくても、複数の認証方式のパスワードを求めるプロンプトを表示できる
任意のオプションをユーザー認証サービスに渡す機能
システムに入るためのサービスを変更しなくても、サイト固有のセキュリティーポリシーを実装する機能
PAM コンシューマ
PAM ライブラリ
pam.conf(4) 構成ファイル
PAM サービスモジュール。プロバイダとも呼ばれる
このフレームワークは、認証関連アクティビティーの統一的な実施手段を提供します。このアプローチを使えば、アプリケーション開発者は、PAM サービスのポリシーの意味を知らなくてもサービスを使用できるようになります。アルゴリズムは一元的に提供されます。アルゴリズムの変更は、個々のアプリケーションとは無関係に行えます。PAM を使えば、管理者は、アプリケーションを変更しないで、特定システムのニーズに合わせて認証プロセスを調整できるようになります。この調整は、PAM 構成ファイル pam.conf を通じて行われます。
次の図は、PAM のアーキテクチャーを示したものです。アプリケーションは、PAM アプリケーションプログラミングインタフェース (API) 経由で PAM ライブラリと通信します。PAM モジュールは、PAM サービスプロバイダインタフェース (SPI) 経由で PAM ライブラリと通信します。したがって、PAM ライブラリを使えば、アプリケーションとモジュールとの相互通信を実現できます。
Solaris 10 リリースには、プラグイン可能認証モジュール (PAM) フレームワークに対する、次のような変更が含まれています。
pam_authtok_check モジュールが、/etc/default/passwd ファイルの新しい調整可能なパラメータを使用して、厳しいパスワードチェックができるようになりました。新しいパラメータは次を定義します。
パスワードの共通辞書ワードをチェックするために使用する、コンマで区切られた辞書ファイルのリスト
新しいパスワードと古いパスワードの間に必要な最小限の差異
新しいパスワードで使用する必要がある英字または英字以外の最小文字数
新しいパスワードで使用する必要がある大文字または小文字の最小文字数
許容できる連続的に繰り返される文字の数
pam_unix_auth モジュールが、ローカルユーザーに対するアカウントロックを実装しています。アカウントロックは、/etc/security/policy.conf の LOCK_AFTER_RETRIES パラメータおよび /etc/user_attr の lock_after-retries 鍵によって有効になります。詳細は、policy.conf(4) および user_attr(4) のマニュアルページを参照してください。
新しいbinding 制御フラグが定義されました。この制御フラグについては、pam.conf(4) のマニュアルページおよび 「PAM スタックのしくみ」に記載されています。
pam_unix モジュールが削除され、同等またはそれ以上の機能を備えた一連のサービスモジュールで置き換えられました。これらのモジュールの多くは、Solaris 9 リリースで導入されました。置き換え後のモジュールのリストは、次のとおりです。
pam_authtok_check
pam_authtok_get
pam_authtok_store
pam_dhkeys
pam_passwd_auth
pam_unix_account
pam_unix_auth
pam_unix_cred
pam_unix_session
以前の pam_unix_auth モジュールの機能は、2 つのモジュールに分割されました。pam_unix_auth モジュールは、ユーザーのパスワードが正しいかどうかを検証するように変更されました。新しく追加された pam_unix_cred モジュールは、ユーザーの資格情報を確立する機能を提供します。
pam_krb5 モジュールに、PAM フレームワークを使って Kerberos 資格キャッシュを管理する機能が追加されました。
新しい pam_deny モジュールが追加されました。このモジュールは、サービスへのアクセスを拒否するために使用できます。デフォルトでは、pam_deny モジュールは無効になっています。詳細は、pam_deny(5) のマニュアルページを参照してください。