JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11 セキュリティーサービス開発ガイド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris の開発者向けセキュリティー機能 (概要)

2.  特権付きアプリケーションの開発

3.  PAM アプリケーションおよび PAM サービスの記述

PAM フレームワークの概要

PAM サービスモジュール

このリリースでの PAM への変更

PAM ライブラリ

PAM 認証プロセス

PAM コンシューマの要件

PAM 構成

/etc/pam.d を介した PAM の構成

PAM サービスを使用するアプリケーションの記述

単純な PAM コンシューマ例

その他の有用な PAM 関数

対話関数の記述

PAM サービスを提供するモジュールの記述

PAM サービスプロバイダの要件

PAM プロバイダサービスモジュールの例

4.  GSS-API を使用するアプリケーションの記述

5.  GSS-API クライアント例

6.  GSS-API サーバー例

7.  SASL を使用するアプリケーションの記述

8.  Oracle Solaris 暗号化フレームワークの紹介

9.  ユーザーレベルの暗号化アプリケーションの記述

10.  Oracle Solaris 鍵管理フレームワークの紹介

A.  開発者のためのセキュアコーディングガイドライン

B.  C ベース の GSS-API プログラム例

C.  GSS-API リファレンス

D.  OID の指定

E.  SASL ソースコード例

F.  SASL リファレンス

用語集

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

PAM フレームワークの概要

PAM フレームワークは次の 4 つの部分から成ります。

このフレームワークは、認証関連アクティビティーの統一的な実施手段を提供します。このアプローチを使えば、アプリケーション開発者は、PAM サービスのポリシーの意味を知らなくてもサービスを使用できるようになります。アルゴリズムは一元的に提供されます。アルゴリズムの変更は、個々のアプリケーションとは無関係に行えます。PAM を使えば、管理者は、アプリケーションを変更しないで、特定システムのニーズに合わせて認証プロセスを調整できるようになります。調整は、PAM 構成ファイル pam.conf、または Oracle Solaris 11.1 リリース以降で使用可能な /etc/pam.d のファイルを通じて行われます。

次の図は、PAM のアーキテクチャーを示したものです。アプリケーションは、PAM アプリケーションプログラミングインタフェース (API) 経由で PAM ライブラリと通信します。PAM モジュールは、PAM サービスプロバイダインタフェース (SPI) 経由で PAM ライブラリと通信します。したがって、PAM ライブラリを使えば、アプリケーションとモジュールとの相互通信を実現できます。

図 3-1 PAM のアーキテクチャー

image:この図は、アプリケーションと PAM サービスモジュールが PAM ライブラリにアクセスする方法を示しています。

PAM サービスモジュール

PAM サービスモジュールは、loginrlogintelnet などのシステムエントリアプリケーションに対し、認証およびその他のセキュリティーサービスを提供する共有ライブラリです。

PAM サービスには次の 4 種類があります。

1 つの PAM モジュールには、上記サービスを 1 つ以上実装できます。ただし、タスク内容が明確に定義された単純なモジュールを使用すれば、構成の柔軟性が増します。したがって、PAM サービスは個別のモジュールとして実装することをお勧めします。その後、PAM 構成での定義に従い、サービスを必要に応じて使用できます。pam.conf(4) を参照してください。

たとえば、Oracle Solaris OS に付属する pam_authtok_check(5) モジュールを使えば、システム管理者はサイトのパスワードポリシーを構成できます。pam_authtok_check(5) モジュールは、提案されたパスワードを、さまざまな強度条件に基づいて検査します。

Oracle Solaris PAM モジュールの完全な一覧については、『SunOS リファレンスマニュアル 5 : 標準、環境、マクロ』を参照してください。PAM モジュールの接頭辞は pam_ です。

このリリースでの PAM への変更

Oracle Solaris 11.1 リリースでは、ユーザー別の PAM 構成のサポートを追加する新しい PAM モジュール pam_user_policy(5) が提供されています。このモジュールは pam_eval(3PAM) 関数を呼び出して、指定された PAM 構成を評価します。PAM ライブラリ libpam(3LIB)pam_eval() ルーチンも、Oracle Solaris 11.1 に新しく導入されました。

PAM ライブラリ

PAM ライブラリ libpam(3LIB) は、PAM アーキテクチャーの主要構成要素です。

PAM 認証プロセス

コンシューマが PAM ライブラリを使ってユーザー認証を行う例として、login がユーザー認証を行う手順を次に示します。

  1. login アプリケーションは、PAM セッションを開始するために、pam_start(3PAM) を呼び出し、login サービスを指定します。

  2. アプリケーションは、PAM ライブラリ pam_authenticate(3PAM) によってエクスポートされた PAM API に含まれる libpam(3LIB) を呼び出します。

  3. PAM ライブラリは、認証のサービスモジュールタイプ (auth) に対応する login エントリを PAM 構成内で検索します。

  4. PAM ライブラリは、pam.conf 内で login サービス用として構成されたモジュールごとに、pam_sm_authenticate(3PAM) を呼び出します。pam_sm_authenticate() は PAM SPI に含まれる関数です。pam.conf 制御フラグと各呼び出しの結果によって、ユーザーがシステムへのアクセスを許可されるかどうかが決まります。このプロセスについての詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「PAM の構成 (参照)」を参照してください。

PAM ライブラリはこのような方法で、PAM アプリケーションを、システム管理者によって構成された PAM モジュールへと接続します。

PAM コンシューマの要件

PAM コンシューマは PAM ライブラリ libpam とリンクする必要があります。各モジュールが提供するサービスをアプリケーションから利用するには、pam_start(3PAM) を呼び出して PAM ライブラリのインスタンスを初期化する必要があります。pam_start() を呼び出すと、ハンドルが初期化されます。このハンドルは、後続の PAM 呼び出し時に毎回指定する必要があります。アプリケーション内での PAM サービスの利用を終了する際には、pam_end() を呼び出し、PAM ライブラリが使用したすべてのデータをクリーンアップします。

PAM アプリケーションと PAM モジュール間の通信は、「アイテム」経由で実現されます。たとえば、初期化時に使うと便利なアイテムを、次に示します。

利用可能なすべてのアイテムの一覧については、pam_set_item(3PAM) のマニュアルページを参照してください。アプリケーションからアイテムを設定するには、pam_set_item (3PAM) を使用します。モジュールによって設定された値をアプリケーション内で取り出すには、pam_get_item(3PAM) を使用します。ただし、PAM_AUTHTOK と PAM_OLDAUTHTOK はアプリケーションから取得できません。また、PAM_SERVICE アイテムは設定できません。


注 - PAM コンシューマは一意の PAM サービス名を持っている必要があります。pam_start(3PAM) にこの名前が渡されます。