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

第 18 章 SASL の使用

この章では、簡易認証セキュリティー層 (SASL) について説明します。

SASL (概要)

簡易認証セキュリティー層 (SASL) は、ネットワークプロトコルに認証サービスとセキュリティーサービス (オプション) を提供するフレームワークです。アプリケーションは、SASL ライブラリ /usr/lib/libsasl.so を呼び出します。SASL ライブラリは、アプリケーションと各種 SASL メカニズムを結び付ける層の役割を果たします。このメカニズムは、認証プロセスや、オプションのセキュリティーサービスの提供時に使用されます。Solaris 10 リリースで提供される SASL のバージョンは、いくつかの変更が行われた Cyrus SASL に基づいています。

SASL は、次のサービスを提供します。

SASL (参照)

次の節では、Solaris 10 リリースの SASL の実装について説明します。

SASL プラグイン

SASL プラグインは、セキュリティーメカニズム、ユーザーの正規化、および補助プロパティーの検索をサポートします。デフォルトでは、動的に読み込まれる 32 ビットのプラグインは /usr/lib/sasl にインストールされ、64 ビットのプラグインは /usr/lib/sasl/$ISA にインストールされます。次のセキュリティーメカニズムのプラグインが、Solaris 10 リリースで提供されています。

crammd5.so.1

CRAM-MD5。認証のみをサポートし、承認はサポートしません

digestmd5.so.1

DIGEST-MD5。認証、整合性、機密性のほか、承認もサポートします

gssapi.so.1

GSSAPI。認証、整合性、機密性のほか、承認もサポートします。GSSAPI セキュリティーメカニズムには、機能している Kerberos 基盤が必要です。

plain.so.1

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 オプションによって完全に機能するメカニズムに制限してください。

SASL の環境変数

デフォルトでは、クライアントの認証名は getenv("LOGNAME") に設定されます。この変数は、クライアントまたはプラグインによってリセットすることができます。

SASL のオプション

libsasl およびプラグインの動作は、/etc/sasl/app.conf ファイルで設定可能なオプションを使用してサーバー上で変更することができます。変数 app は、サーバー定義のアプリケーション名です。サーバー app のマニュアルでは、サーバー定義のアプリケーション名が指定されています。

次のオプションが、Solaris 10 リリースでサポートされるようになりました。

auto_transition

ユーザーが平文認証に成功すると、自動的にそのユーザーをほかのメカニズムに切り替えます。

auxprop_login

使用する補助プロパティープラグインの名前を列挙します。

canon_user_plugin

使用する canon_user プラグインを選択します。

mech_list

サーバーアプリケーションが使用可能なメカニズムを列挙します。

pwcheck_method

パスワードを検証するために使用するメカニズムを列挙します。現在は、auxprop が唯一使用可能な値です。

reauth_timeout

迅速に再認証するために認証情報がキャッシュされる時間の長さを分単位で設定します。このオプションは、DIGEST-MD5 プラグインで使用されます。このオプションを 0 に設定すると、再認証が無効になります。

次のオプションは、Solaris 10 リリースでサポートされなくなりました。

plugin_list

使用可能なメカニズムを列挙します。このオプションは、プラグインの動的な読み込みの動作を変えるため、使用されなくなりました。

saslauthd_path

saslauthd デーモンとの通信に使用される saslauthd ドアの場所を定義します。saslauthd デーモンは、Solaris 10 リリースに組み込まれていません。このため、このオプションも組み込まれていません。

keytab

GSSAPI プラグインによって使用される keytab ファイルの場所を定義します。代わりに KRB5_KTNAME 環境変数を使用して、デフォルトの keytab の場所を設定します。

次のオプションは、Cyrus SASL では用意されていません。ただし、Solaris 10 リリースでは追加されています。

use_authid

GSS クライアントセキュリティーコンテキストの作成時に、デフォルトの資格を使用するのではなく、クライアントの資格を取得します。デフォルトでは、デフォルトのクライアント Kerberos 識別情報が使用されます。

log_level

サーバーのログのレベルを設定します。