次の節では、Solaris 10 リリースの SASL の実装について説明します。
SASL プラグインは、セキュリティーメカニズム、ユーザーの正規化、および補助プロパティーの検索をサポートします。デフォルトでは、動的に読み込まれる 32 ビットのプラグインは /usr/lib/sasl にインストールされ、64 ビットのプラグインは /usr/lib/sasl/$ISA にインストールされます。次のセキュリティーメカニズムのプラグインが、Solaris 10 リリースで提供されています。
CRAM-MD5。認証のみをサポートし、承認はサポートしません
DIGEST-MD5。認証、整合性、機密性のほか、承認もサポートします
GSSAPI。認証、整合性、機密性のほか、承認もサポートします。GSSAPI セキュリティーメカニズムには、機能している Kerberos 基盤が必要です。
PLAIN。認証と承認をサポートします。
さらに、 EXTERNAL セキュリティーメカニズムのプラグインと INTERNAL ユーザー正規化プラグインが、libsasl.so.1に装備されています。EXTERNAL メカニズムは、認証と承認をサポートします。外部のセキュリティーソースによって提供された場合には、整合性と機密性がサポートされます。INTERNAL プラグインは、必要に応じて、レルム名をユーザー名に追加します。
Solaris 10 は、現時点では auxprop プラグインを提供していません。CRAM-MD5 および DIGEST-MD5 メカニズムプラグインをサーバー側で完全に機能させるには、ユーザーは auxprop プラグインを用意して平文のパスワードを取り出す必要があります。PLAIN プラグインでは、さらに、パスワードを検証できるようにするために追加のサポートが必要です。パスワード検証に利用できるものは、 サーバーアプリケーションへのコールバック、auxprop プラグイン、saslauthd、または pwcheck のいずれかです。salauthd デーモンおよび pwcheck デーモンは、今回の Solaris のリリースでは提供されません。相互運用性を向上させるために、サーバーアプリケーションは、mech_list SASL オプションによって完全に機能するメカニズムに制限してください。
デフォルトでは、クライアントの認証名は getenv("LOGNAME") に設定されます。この変数は、クライアントまたはプラグインによってリセットすることができます。
libsasl およびプラグインの動作は、/etc/sasl/app.conf ファイルで設定可能なオプションを使用してサーバー上で変更することができます。変数 app は、サーバー定義のアプリケーション名です。サーバー app のマニュアルでは、サーバー定義のアプリケーション名が指定されています。
次のオプションが、Solaris 10 リリースでサポートされるようになりました。
ユーザーが平文認証に成功すると、自動的にそのユーザーをほかのメカニズムに切り替えます。
使用する補助プロパティープラグインの名前を列挙します。
使用する canon_user プラグインを選択します。
サーバーアプリケーションが使用可能なメカニズムを列挙します。
パスワードを検証するために使用するメカニズムを列挙します。現在は、auxprop が唯一使用可能な値です。
迅速に再認証するために認証情報がキャッシュされる時間の長さを分単位で設定します。このオプションは、DIGEST-MD5 プラグインで使用されます。このオプションを 0 に設定すると、再認証が無効になります。
次のオプションは、Solaris 10 リリースでサポートされなくなりました。
使用可能なメカニズムを列挙します。このオプションは、プラグインの動的な読み込みの動作を変えるため、使用されなくなりました。
saslauthd デーモンとの通信に使用される saslauthd ドアの場所を定義します。saslauthd デーモンは、Solaris 10 リリースに組み込まれていません。このため、このオプションも組み込まれていません。
GSSAPI プラグインによって使用される keytab ファイルの場所を定義します。代わりに KRB5_KTNAME 環境変数を使用して、デフォルトの keytab の場所を設定します。
次のオプションは、Cyrus SASL では用意されていません。ただし、Solaris 10 リリースでは追加されています。
GSS クライアントセキュリティーコンテキストの作成時に、デフォルトの資格を使用するのではなく、クライアントの資格を取得します。デフォルトでは、デフォルトのクライアント Kerberos 識別情報が使用されます。
サーバーのログのレベルを設定します。