19 RADIUS認証の構成
RADIUSは、リモート認証およびアクセスを実現するために広く使用されているクライアント/サーバー・セキュリティ・プロトコルです。
- RADIUS認証の構成について
Oracle Databaseネットワークでは、RADIUS標準をサポートする任意の認証方法を使用できます。 - RADIUSの構成要素
RADIUSには、構成設定を管理できる一連の認証の構成要素があります。 - RADIUS認証モード
ユーザー認証は、同期認証モードまたはチャレンジ・レスポンス(非同期)認証モードのいずれかで行われます。 - RADIUS認証、認可およびアカウンティングの有効化
RADIUS認証、認可およびアカウンティングを有効にするには、Oracle Net Managerを使用します。 - RADIUSを使用したデータベースへのログイン
RADIUSを使用してデータベースにログインするには、同期認証モードまたはチャレンジ・レスポンス・モードのいずれかを使用します。 - RSA ACE/Server構成チェックリスト
RSA ACE/Server RADIUSサーバーを使用する場合は、最初の接続を試みる前に、このサーバーのホスト・エージェントとSecurIDトークンを確認してください。
親トピック: 厳密認証の管理
19.1 RADIUS認証の構成について
Oracle Databaseネットワークでは、RADIUS標準をサポートする任意の認証方法を使用できます。
RADIUSプロトコルをインストールおよび構成するときには、トークン・カードやスマート・カードといったRADIUS標準もサポートされます。Oracle Databaseは、クライアント/サーバー・ネットワーク環境でRADIUSを使用します。さらに、RADIUSを使用すると、OracleクライアントまたはOracleデータベース・サーバーを変更することなく、認証方式を変更できます。
エンド・ユーザーから見ると、認証手続き全体は透過的です。ユーザーがOracleデータベース・サーバーにアクセスしようとすると、RADIUSクライアントとして機能するOracleデータベース・サーバーはRADIUSサーバーに通知します。RADIUSサーバーは次の処理を行います。
-
ユーザーのセキュリティ情報を検索します。
-
適切な認証サーバー(複数可)とOracleデータベース・サーバーの間で認証および認可情報の受渡しを行います。
-
Oracleデータベース・サーバーへのユーザー・アクセスを許可します。
-
ユーザーがいつ、どのくらいの頻度で、どのくらいの時間、Oracleデータベース・サーバーに接続していたかなどのセッション情報をログに記録します。
ノート:
Oracle Databaseでは、データベース・リンクを介したRADIUS認証はサポートされません。
図19-1に、Oracle Database-RADIUS環境を示します。
Oracle DatabaseサーバーはRADIUSクライアントとして機能し、OracleクライアントとRADIUSサーバーの間で情報の受渡しを行います。同様に、RADIUSサーバーはOracleデータベース・サーバーと適切な認証サーバーの間で情報の受渡しを行います。
RADIUSサーバーのベンダーが認証サーバーのベンダーでもある場合も多くあります。この場合、RADIUSサーバーで認証を処理できます。たとえば、RSA ACE/Serverは、RADIUSサーバーであり認証サーバーでもあります。したがって、ユーザーのパス・コードが認証されます。
ノート:
RSA Security社の認証製品であるSecurIDは、Oracle Databaseで直接的にはサポートされていませんが、RADIUS準拠として認定されています。したがって、RADIUSのもとでSecurIDを実行できます。
詳細は、RSA Security社のSecurIDのドキュメントを参照してください。
関連項目:
sqlnet.ora
ファイルの詳細は、Oracle Database Net Servicesリファレンス を参照してください
親トピック: RADIUS認証の構成
19.2 RADIUSの構成要素
RADIUSには、構成設定を管理できる一連の認証の構成要素があります。
表19-1に、認証の構成要素を示します。
表19-1 RADIUS認証の構成要素
構成要素 | 格納される情報 |
---|---|
Oracleクライアント |
RADIUSによる通信のための構成設定 |
Oracleデータベース・サーバー/RADIUSクライアント |
OracleクライアントとRADIUSサーバーの間で情報の受渡しを行うための構成設定 秘密キー・ファイル |
RADIUSサーバー |
すべてのユーザーの認証および認可情報 各クライアントの名前またはIPアドレス 各クライアントの共有シークレット すでに認証されているユーザーが再接続しなくても別のログイン・オプションを選択できるようにする無制限の数のメニュー・ファイル |
認証サーバー(複数可) |
パス・コードやPINなどのユーザー認証情報(使用中の認証方式によって異なる) ノート: RADIUSサーバーは認証サーバーになることもできます。 |
親トピック: RADIUS認証の構成
19.3 RADIUS認証モード
ユーザー認証は、同期認証モードまたはチャレンジ・レスポンス(非同期)認証モードのいずれかで行われます。
- 同期認証モード
同期モードでは、RADIUSでパスワードやSecurIDトークン・カードなどの様々な認証方式を使用できます。 - チャレンジ・レスポンス(非同期)認証モード
システムで非同期モードが使用されている場合、ユーザーは、SQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要はありません。
親トピック: RADIUS認証の構成
19.3.1 同期認証モード
同期モードでは、RADIUSでパスワードやSecurIDトークン・カードなどの様々な認証方式を使用できます。
- 同期認証モードの順序
同期認証モードは6ステップの順序です。 - 例: SecurIDトークン・カードによる同期認証
SecurID認証では、各ユーザーにトークン・カードあり、60秒ごとに変わる動的番号が表示されます。
親トピック: RADIUS認証モード
19.3.1.1 同期認証モードの順序
同期認証モードは6ステップの順序です。
図19-2に、同期認証が行われる順序を示します。
次のステップは、同期認証の順序を示しています。
-
ユーザーが、接続文字列、パス・コードまたはその他の値を入力してログインします。クライアント・システムは、このデータをOracleデータベース・サーバーに渡します。
-
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
-
RADIUSサーバーは、検証のためにデータをスマートカードやSecurID ACEなどの適切な認証サーバーに渡します。
-
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
-
RADIUSサーバーは、このレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに返します。
親トピック: 同期認証モード
19.3.1.2 例: SecurIDトークン・カードによる同期認証
SecurID認証では、各ユーザーにトークン・カードあり、60秒ごとに変わる動的番号が表示されます。
Oracleデータベース・サーバー/RADIUSクライアントにアクセスするために、ユーザーは個人識別番号(PIN)とユーザーのSecurIDカード上に現在表示されている動的番号の両方を含む有効なパス・コードを入力します。Oracleデータベース・サーバーは、Oracleクライアントからのこの認証情報をRADIUSサーバー(この場合は、検証のための認証サーバー)に渡します。認証サーバー(RSA ACE/Server)によってユーザーが検証されると、受入れパケットがOracleデータベース・サーバーに送られ、次に、Oracleクライアントに渡されます。これでユーザーは認証され、適切な表やアプリケーションにアクセスできます。
関連項目:
RSA Security社から提供されるドキュメント
親トピック: 同期認証モード
19.3.2 チャレンジ・レスポンス(非同期)認証モード
システムで非同期モードが使用されている場合、ユーザーは、SQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要はありません。
- チャレンジ・レスポンス(非同期)認証モードの順序
チャレンジ・レスポンス(非同期)認証モードは12ステップの順序です。 - 例: スマートカードによる非同期認証
スマートカード認証では、ユーザーは、スマートカードを読み取るスマートカード・リーダーにスマートカードを挿入することによってログインします。 - 例: ActivCardトークンによる非同期認証
ActivCardトークンの1つに、キーパッドを備えた、動的パスワードを表示するハンドヘルド・デバイスがあります。
親トピック: RADIUS認証モード
19.3.2.1 チャレンジ・レスポンス(非同期)認証モードの順序
チャレンジ・レスポンス(非同期)認証モードは12ステップの順序です。
図19-3に、チャレンジ・レスポンス(非同期)認証が行われる順序を示します。
ノート:
RADIUSサーバーが認証サーバーである場合、図19-3のステップ3、4、5およびステップ9、10、11は結合されます。
次のステップは、非同期認証の順序を示しています。
-
ユーザーが、Oracleデータベース・サーバーへの接続を開始します。クライアント・システムは、データをOracleデータベース・サーバーに渡します。
-
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
-
RADIUSサーバーは、データをスマートカード、SecurID ACE、トークン・カード・サーバーなどの適切な認証サーバーに渡します。
-
認証サーバーは、ランダム番号などのチャレンジをRADIUSサーバーに送信します。
-
RADIUSサーバーは、チャレンジをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、それをOracleクライアントに渡します。グラフィカル・ユーザー・インタフェースで、ユーザーにチャレンジが表示されます。
-
ユーザーは、チャレンジに対するレスポンスを入力します。レスポンスを作成するために、ユーザーは、たとえば、受け取ったチャレンジをトークン・カードに入力できます。トークン・カードによって、グラフィカル・ユーザー・インタフェースに入力する動的なパスワードが提供されます。Oracleクライアントは、ユーザーのレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、ユーザーのレスポンスをRADIUSサーバーに送信します。
-
RADIUSサーバーは、検証のためにユーザーのレスポンスを適切な認証サーバーに渡します。
-
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
-
RADIUSサーバーは、レスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに渡します。
親トピック: チャレンジ・レスポンス(非同期)認証モード
19.3.2.2 例: スマートカードによる非同期認証
スマートカード認証では、ユーザーは、スマートカードを読み取るスマートカード・リーダーにスマートカードを挿入することによってログインします。
スマートカードは、情報を格納するための集積回路が埋め込まれた、クレジット・カードのようなプラスチック・カードです。
Oracleクライアントは、Oracleデータベース・サーバー/RADIUSクライアントおよびRADIUSサーバーを経由して、スマートカードに含まれるログイン情報を認証サーバーに送信します。認証サーバーは、RADIUSサーバーおよびOracleデータベース・サーバーを経由してOracleクライアントにチャレンジを戻し、認証情報をユーザーに要求します。この情報は、PINやスマートカードに含まれている他の認証情報などです。
Oracleクライアントは、Oracleデータベース・サーバーおよびRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送信します。ユーザーが有効な番号を入力した場合、認証サーバーはRADIUSサーバーおよびOracleデータベース・サーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーは認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが誤った情報を入力した場合、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。
親トピック: チャレンジ・レスポンス(非同期)認証モード
19.3.2.3 例: ActivCardトークンによる非同期認証
ActivCardトークンの1つに、キーパッドを備えた、動的パスワードを表示するハンドヘルド・デバイスがあります。
ユーザーがパスワードを入力してOracleデータベース・サーバーにアクセスしようとすると、情報はOracleデータベース・サーバー/RADIUSクライアントおよびRADIUSサーバーを経由して、適切な認証サーバーに渡されます。認証サーバーは、RADIUSサーバーおよびOracleデータベース・サーバーを経由して、クライアントにチャレンジを戻します。ユーザーがそのチャレンジをトークンに入力すると、ユーザーがレスポンスで送信する番号がトークンに表示されます。
次に、Oracleクライアントは、Oracleデータベース・サーバーおよびRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送信します。ユーザーが有効な番号を入力した場合、認証サーバーはRADIUSサーバーおよびOracleデータベース・サーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーは認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが誤ったレスポンスを入力した場合、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。
親トピック: チャレンジ・レスポンス(非同期)認証モード
19.4 RADIUS認証、認可およびアカウンティングの有効化
RADIUS認証、認可およびアカウンティングを有効にするには、Oracle Net Managerを使用します。
- ステップ1: RADIUS認証の構成
RADIUS認証を構成するには、Oracleクライアントで最初に認証を構成してからサーバーで構成する必要があります。その後、追加のRADIUS機能を構成できます。 - ステップ2: ユーザーの作成とアクセス権の付与
RADIUS認証の完了後、RADIUS構成を担当するOracle Databaseユーザーを作成する必要があります。 - ステップ3: 外部RADIUS認可の構成(オプション)
Oracleデータベースに接続する必要があるRADIUSユーザーに対して、Oracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。 - ステップ4: RADIUSアカウンティングの構成
RADIUSアカウンティングは、Oracleデータベース・サーバーへのアクセスに関する情報をログに記録し、RADIUSアカウンティング・サーバー上のファイルに格納します。 - ステップ5: RADIUSクライアント名のRADIUSサーバー・データベースへの追加
選択するRADIUSサーバーは、RADIUS標準に準拠している必要があります。 - ステップ6: RADIUSとともに使用する認証サーバーの構成
RADIUSクライアント名をRADIUSサーバー・データベースに追加した後、RADIUSを使用するように認証サーバーを構成できます。 - ステップ7: 認証サーバーとともに使用するRADIUSサーバーの構成
RADIUSで使用するように認証サーバーを構成した後、その認証サーバーを使用するようにRADIUSサーバーを構成できます。 - ステップ8: マッピング・ロールの構成
RADIUSサーバーでベンダー・タイプ属性がサポートされている場合は、ロールをRADIUSサーバーに格納して管理できます。
親トピック: RADIUS認証の構成
19.4.1 ステップ1: RADIUS認証の構成
RADIUS認証を構成するには、Oracleクライアントで最初に認証を構成してからサーバーで構成する必要があります。その後、追加のRADIUS機能を構成できます。
ノート:
特に示されていないかぎり、これらの構成タスクを実行するには、Oracle Net Managerを使用するか、任意のテキスト・エディタを使用してsqlnet.ora
ファイルを変更します。マルチテナント環境では、sqlnet.ora
ファイルの設定はすべてのプラガブル・データベース(PDB)に適用されることに注意してください。
- ステップ1A: OracleクライアントでのRADIUSの構成
Oracle Net Managerを使用して、OracleクライアントでRADIUSを構成できます。 - ステップ1B: Oracleデータベース・サーバーでのRADIUSの構成
RADIUSキーを保持するファイルを作成して、Oracleデータベース・サーバー上にこのファイルを格納する必要があります。次に、sqlnet.ora
ファイルで適切なパラメータを構成する必要があります。 - ステップ1C: その他のRADIUS機能の構成
デフォルト設定を変更し、チャレンジ・レスポンス・モードを構成して、代替RADIUSサーバーのパラメータを設定できます。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.1.1 ステップ1A: OracleクライアントでのRADIUSの構成
Oracle Net Managerを使用して、OracleクライアントでRADIUSを構成できます。
-
Oracle Net Managerを起動します。
-
(UNIX)
$ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。netmgr
-
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
-
-
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
-
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
-
「認証」タブを選択します。(デフォルトで選択されています。)
-
「使用可能なメソッド」リストから、RADIUSを選択します。
-
右矢印(>)を選択して、RADIUSを「選択メソッド」リストに移動します。
使用するその他のメソッドを同じ方法で移動します。
-
「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」をクリックしてリスト内での位置を指定して、選択したメソッドを使用に必要な順序に並べます。
たとえば、RADIUSをリストの最も上に置いて、使用される最初のサービスにします。
-
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルが次のエントリで更新されます。SQLNET.AUTHENTICATION_SERVICES=(RADIUS)
親トピック: ステップ1: RADIUS認証の構成
19.4.1.2 ステップ1B: Oracleデータベース・サーバーでのRADIUSの構成
RADIUSキーを保持するファイルを作成して、Oracleデータベース・サーバー上にこのファイルを格納する必要があります。次に、sqlnet.ora
ファイルで適切なパラメータを構成する必要があります。
- ステップ1B(1): Oracleデータベース・サーバーでのRADIUS秘密キー・ファイルの作成
最初に、RADIUS秘密キー・ファイルを作成する必要があります。 - ステップ1B(2): サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成
RADIUS秘密キー・ファイルの作成後、sqlnet.ora
ファイルで適切なパラメータを構成します。 - ステップ1B(3): Oracleデータベース・サーバー初期化パラメータの設定
sqlnet.oraファイルの構成後、init.ora
初期化ファイルを構成する必要があります。
親トピック: ステップ1: RADIUS認証の構成
19.4.1.2.1 ステップ1B(1): Oracleデータベース・サーバーでのRADIUS秘密キー・ファイルの作成
最初に、RADIUS秘密キー・ファイルを作成する必要があります。
-
RADIUSサーバーからRADIUS秘密キーを取得します。
RADIUSクライアントごとに、RADIUSサーバーの管理者が共有秘密キーを作成します。長さは16文字以下である必要があります。
-
Oracleデータベース・サーバーで、次のディレクトリを作成します。
-
(UNIX)
$ORACLE_HOME
/network/security
-
(Windows)
ORACLE_BASE
\
ORACLE_HOME
\network\security
-
-
RADIUSサーバーからコピーした共有シークレットを格納するために、ファイル
radius.key
を作成します。このファイルをステップ2で作成したディレクトリに配置します。 -
共有秘密キーをコピーし、このキーのみを、Oracleデータベース・サーバーに作成した
radius.key
ファイルに貼り付けます。 -
セキュリティのために、
radius.key
のファイル権限を読取り専用に変更し、Oracle所有者のみがアクセスできるようにします。Oracleは、ファイル・システムに依存してこのファイルを秘密にします。
関連項目:
秘密キーの取得の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。
19.4.1.2.2 ステップ1B(2): サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成
RADIUS秘密キー・ファイルの作成後、sqlnet.ora
ファイルで適切なパラメータを構成します。
-
Oracle Net Managerを起動します。
-
(UNIX)
$ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。netmgr
-
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
-
-
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
-
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
-
「認証」タブを選択します。
-
「使用可能なメソッド」リストから、RADIUSを選択します。
-
右矢印(>)を選択して、RADIUSを「選択メソッド」リストに移動します。
-
選択したメソッドを使用に必要な順序に並べるには、「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」を選択してリスト内での位置を指定します。
たとえば、RADIUSを使用される最初のサービスにする場合は、リストの最も上に置きます。
-
「その他のパラメータ」タブを選択します。
-
「認証サービス」リストから、RADIUSを選択します。
-
「ホスト名」フィールドで、デフォルトのプライマリRADIUSサーバーとしてlocalhostを受け入れるか、または別のホスト名を入力します。
-
「シークレット・ファイル」フィールドのデフォルト値が有効であることを確認します。
-
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルは次のエントリで更新されます。SQLNET.AUTHENTICATION_SERVICES=RADIUS SQLNET.RADIUS_AUTHENTICATION=RADIUS_server_{hostname|IP_address}
ノート:
IP_address
は、インターネット・プロトコル・バージョン4 (IPv4)またはインターネット・プロトコル・バージョン6 (IPv6)のアドレスです。RADIUSアダプタでは、IPv4ベースとIPv6ベースの両方のサーバーがサポートされています。
19.4.1.2.3 ステップ1B(3): Oracleデータベース・サーバー初期化パラメータの設定
sqlnet.oraファイルの構成後、init.ora
初期化ファイルを構成する必要があります。
-
次の設定を
init.ora
ファイルに追加します。OS_AUTHENT_PREFIX=""
デフォルトでは、
init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。 -
データベースを再起動します。
たとえば:
SQL> SHUTDOWN SQL> STARTUP
関連項目:
初期化パラメータの設定の詳細は、『Oracle Databaseリファレンス』を参照してください。
19.4.1.3 ステップ1C: その他のRADIUS機能の構成
デフォルト設定を変更し、チャレンジ・レスポンス・モードを構成して、代替RADIUSサーバーのパラメータを設定できます。
- ステップ1C(1): デフォルト設定の変更
Oracle Net Managerを使用して、デフォルトのRADIUS設定を変更できます。 - ステップ1C(2): チャレンジ・レスポンス・モードの構成
チャレンジ・レスポンス・モードを構成するには、トークン・カードから取得する動的パスワードなどの情報を指定する必要があります。 - ステップ1C(3): 代替RADIUSサーバーのパラメータの設定
代替RADIUSサーバーを使用する場合、追加パラメータを設定する必要があります。
親トピック: ステップ1: RADIUS認証の構成
19.4.1.3.1 ステップ1C(1): デフォルト設定の変更
Oracle Net Managerを使用して、デフォルトのRADIUS設定を変更できます。
-
Oracle Net Managerを起動します。
-
(UNIX)
$ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。netmgr
-
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
-
-
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
-
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
-
「その他のパラメータ」タブをクリックします。
-
「認証サービス」リストから、RADIUSを選択します。
-
次のフィールドについてデフォルト設定を変更します。
-
ポート番号: プライマリRADIUSサーバーのリスニング・ポートを指定します。デフォルト値は1645です。
-
タイムアウト(秒): Oracleデータベース・サーバーがプライマリRADIUSサーバーからの応答を待機する時間を指定します。デフォルトは15秒です。
-
再試行回数: Oracleデータベース・サーバーがプライマリRADIUSサーバーにメッセージを再送する回数を指定します。デフォルトは3回の再試行です。RADIUSアカウンティングの構成の詳細は、「ステップ4: RADIUSアカウンティングの構成」を参照してください。
-
シークレット・ファイル: Oracleデータベース・サーバー上の秘密キーの場所を指定します。このフィールドは、秘密キー自体ではなく、秘密キー・ファイルの場所を指定します。秘密キーの指定の詳細は、「ステップ1B(1): Oracleデータベース・サーバーでのRADIUS秘密キー・ファイルの作成」を参照してください。
-
-
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルは次のエントリで更新されます。SQLNET.RADIUS_AUTHENTICATION_PORT=(PORT) SQLNET.RADIUS_AUTHENTICATION_TIMEOUT=(NUMBER OF SECONDS TO WAIT FOR response) SQLNET.RADIUS_AUTHENTICATION_RETRIES=(NUMBER OF TIMES TO RE-SEND TO RADIUS server) SQLNET.RADIUS_SECRET=(path/radius.key)
親トピック: ステップ1C: その他のRADIUS機能の構成
19.4.1.3.2 ステップ1C(2): チャレンジ・レスポンス・モードの構成
チャレンジ・レスポンス・モードを構成するには、トークン・カードから取得する動的パスワードなどの情報を指定する必要があります。
RADIUSアダプタでは、このインタフェースはJavaベースであり、最適なプラットフォーム独立性を提供します。
ノート:
認証デバイスのサード・パーティ・ベンダーは、その独自のデバイスに合せてこのグラフィカル・ユーザー・インタフェースをカスタマイズする必要があります。たとえば、スマートカード・ベンダーはJavaインタフェースをカスタマイズして、Oracleクライアントがスマートカードから動的パスワードなどのデータを読み取るようにします。スマートカードは、チャレンジを受け取ると、PINなどの追加情報をユーザーに要求することで応答します。
チャレンジ・レスポンス・モードを構成するには:
-
JDK 1.1.7またはJRE 1.1.7を使用する場合は、
JAVA_HOME
環境変数を、Oracleクライアントが実行されるシステム上のJREまたはJDKの場所に設定します。-
UNIXでは、プロンプトで次のコマンドを入力します。
% setenv JAVA_HOME /usr/local/packages/jre1.1.7B
-
Windowsでは、「スタート」→「設定」→「コントロール パネル」→「システム」→「環境」の順に選択し、
JAVA_HOME
変数を次のように設定します。c:\java\jre1.1.7B
このステップは、他のJDK/JREバージョンでは必要ありません。
-
-
Oracle Net Managerを起動します。
-
(UNIX)
$ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。netmgr
-
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
-
-
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
-
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
-
「認証サービス」リストから、RADIUSを選択します。
-
「チャレンジ・レスポンス」フィールドで、ONと入力してチャレンジ・レスポンスを有効にします。
-
「デフォルト・キーワード」フィールドで、チャレンジのデフォルト値を受け入れるか、RADIUSサーバーからチャレンジを要求するためのキーワードを入力します。
キーワード機能は、Oracleから提供されており、一部のRADIUSサーバーでサポートされています(すべてではありません)。この機能は、RADIUSサーバーでサポートされている場合にのみ使用できます。
キーワードを設定することで、ユーザーはパスワードを使用しなくても識別情報を証明できます。ユーザーがパスワードを入力しない場合、ここで設定するキーワードがRADIUSサーバーに渡され、RADIUSサーバーは運転免許証の番号や生年月日などを要求するチャレンジで応答します。ユーザーがパスワードを入力する場合、RADIUSサーバーの構成に応じて、RADIUSサーバーはチャレンジで応答する場合と応答しない場合があります。
-
「インタフェース・クラス名」フィールドで、デフォルト値DefaultRadiusInterfaceを受け入れるか、チャレンジ・レスポンス対話を処理するために作成したクラスの名前を入力します。
デフォルトのRADIUSインタフェース以外を使用する場合は、
sqlnet.ora
ファイルを編集してSQLNET.RADIUS_CLASSPATH=(location)
を入力する必要もあります(location
は、jarファイルの完全なパス名です)。これは、デフォルトでは$
ORACLE_HOME/network/jlib/netradius.jar:
$
ORACLE_HOME/JRE/lib/vt.jar
です。 -
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルは次のエントリで更新されます。SQLNET.RADIUS_CHALLENGE_RESPONSE=([ON | OFF]) SQLNET.RADIUS_CHALLENGE_KEYWORD=(KEYWORD) SQLNET.RADIUS_AUTHENTICATION_INTERFACE=(name of interface including the package name delimited by "/" for ".")
関連項目:
チャレンジ・レスポンス・ユーザー・インタフェースをカスタマイズする方法の詳細は、「RADIUSを使用した認証デバイスの統合」を参照してください
親トピック: ステップ1C: その他のRADIUS機能の構成
19.4.1.3.3 ステップ1C(3): 代替RADIUSサーバーのパラメータの設定
代替RADIUSサーバーを使用する場合、追加パラメータを設定する必要があります。
-
sqlnet.ora
ファイルで次のパラメータを設定します。SQLNET.RADIUS_ALTERNATE=(hostname or ip address of alternate radius server) SQLNET.RADIUS_ALTERNATE_PORT=(1812) SQLNET.RADIUS_ALTERNATE_TIMEOUT=(number of seconds to wait for response) SQLNET.RADIUS_ALTERNATE_RETRIES=(number of times to re-send to radius server)
親トピック: ステップ1C: その他のRADIUS機能の構成
19.4.2 ステップ2: ユーザーの作成とアクセス権の付与
RADIUS認証の完了後、RADIUS構成を担当するOracle Databaseユーザーを作成する必要があります。
関連項目:
RADIUSサーバーの管理ドキュメント
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.3 ステップ3: 外部RADIUS認可の構成(オプション)
Oracleデータベースに接続する必要があるRADIUSユーザーに対して、Oracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。
- ステップ3A: Oracle Server (RADIUSクライアント)の構成
init.ora
ファイルを編集して、RADIUSクライアントにOracleサーバーを構成できます。 - ステップ3B: Oracleクライアント(ユーザーがログインする場所)の構成
次に、ユーザーがログインするOracleクライアントを構成する必要があります。 - ステップ3C: RADIUSサーバーの構成
RADIUSサーバーを構成するには、RADIUSサーバーの属性構成ファイルを変更する必要があります。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.3.1 ステップ3A:Oracle Server (RADIUSクライアント)の構成
init.ora
ファイルを編集して、RADIUSクライアントにOracleサーバーを構成できます。
これを行うには、init.ora
ファイルを変更して、データベースを再起動し、RADIUSチャレンジ・レスポンス・モードを設定する必要があります。
-
OS_ROLES
パラメータをinit.ora
ファイルに追加し、このパラメータを次のようにTRUE
に設定します。OS_ROLES=TRUE
デフォルトでは、
init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。 -
init.ora
ファイルに対する変更がシステムに反映されるように、データベースを再起動します。たとえば:
SQL> SHUTDOWN SQL> STARTUP
-
ステップ1C(2): チャレンジ・レスポンス・モードの構成に記載されているステップに従って、サーバーのRADIUSチャレンジ・レスポンス・モードを
ON
に設定していない場合は設定します。 -
外部で識別されるユーザーおよびロールを追加します。
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
19.4.3.2 ステップ3B: Oracleクライアント(ユーザーがログインする場所)の構成
次に、ユーザーがログインするOracleクライアントを構成する必要があります。
-
ステップ1C(2): チャレンジ・レスポンス・モードの構成に記載されているステップに従って、クライアントのRADIUSチャレンジ・レスポンス・モードを
ON
に設定していない場合は設定します。
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
19.4.3.3 ステップ3C: RADIUSサーバーの構成
RADIUSサーバーを構成するには、RADIUSサーバーの属性構成ファイルを変更する必要があります。
-
次の属性をRADIUSサーバー属性構成ファイルに追加します。
属性名 コード 型 VENDOR_SPECIFIC
26
整数
ORACLE_ROLE
1
文字列
-
SMIネットワーク管理プライベート・エンタープライズ・コード
111
が含まれているRADIUSサーバー属性構成ファイルで、OracleのベンダーIDを割り当てます。たとえば、RADIUSサーバー属性構成ファイルに次のように入力します。
VALUE VENDOR_SPECIFIC ORACLE 111
-
次の構文を使用して、
ORACLE_ROLE
属性を外部RADIUS認可を使用するユーザーのユーザー・プロファイルに追加します。ORA_
databaseSID
_
rolename
[_[A]|[D]]
詳細は、次のとおりです。
-
ORA
は、このロールをOracle用に使用することを指定します。 -
databaseSID
は、データベースのinit.ora
ファイル内で構成されているOracleシステム識別子です。デフォルトでは、
init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。 -
rolename
は、データ・ディクショナリで定義されているロール名です。 -
A
は、ユーザーがこのロールの管理者の権限を持つことを示すオプションの文字です。 -
D
は、このロールをデフォルトで有効にすることを示すオプションの文字です。
OracleロールにマップされるRADIUSグループが、
ORACLE_ROLE
の構文に準拠していることを確認します。たとえば:
USERNAME USERPASSWD="user_password", SERVICE_TYPE=login_user, VENDOR_SPECIFIC=ORACLE, ORACLE_ROLE=ORA_ora920_sysdba
関連項目:
サーバーの構成の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。
-
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
19.4.4 ステップ4:RADIUSアカウンティングの構成
RADIUSアカウンティングは、Oracleデータベース・サーバーへのアクセスに関する情報をログに記録し、RADIUSアカウンティング・サーバー上のファイルに格納します。
この機能は、RADIUSサーバーと認証サーバーの両方でサポートされている場合にのみ使用します。
- ステップ4A: Oracleデータベース・サーバーでのRADIUSアカウンティングの設定
RADIUSアカウンティングをサーバーで設定するには、Oracle Net Managerを使用します。 - ステップ4B: RADIUSアカウンティング・サーバーの構成
RADIUSアカウンティング・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあります。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.4.1 ステップ4A: Oracleデータベース・サーバーでのRADIUSアカウンティングの設定
RADIUSアカウンティングをサーバーで設定するには、Oracle Net Managerを使用します。
-
Oracle Net Managerを起動します。
-
(UNIX)
$ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。netmgr
-
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
-
-
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
-
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
-
「その他のパラメータ」タブを選択します。
-
「認証サービス」リストから、RADIUSを選択します。
-
「アカウンティングの送信」フィールドで、アカウンティングを有効にするにはONと入力し、無効にするにはOFFと入力します。
-
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルが次のエントリで更新されます。SQLNET.RADIUS_SEND_ACCOUNTING= ON
親トピック: ステップ4: RADIUSアカウンティングの構成
19.4.4.2 Step 4B: RADIUSアカウンティング・サーバーの構成
RADIUSアカウンティング・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあります。
-
RADIUSアカウンティングの構成の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。
親トピック: ステップ4: RADIUSアカウンティングの構成
19.4.5 ステップ5: RADIUSクライアント名のRADIUSサーバー・データベースへの追加
選択するRADIUSサーバーは、RADIUS標準に準拠している必要があります。
Internet Engineering Task Force (IETF) RFC #2138 Remote Authentication Dial In User Service (RADIUS)およびRFC #2139 RADIUS Accountingの規格に準拠するRADIUSサーバーは、すべて使用できます。RADIUSサーバーには様々なものがあるため、固有の相互運用性要件について、使用するRADIUSサーバーのドキュメントで確認してください。
RADIUSクライアント名をLivingston RADIUSサーバーに追加するには:
-
/etc/raddb/clients
にあるclientsファイルを開きます。次のテキストと表が表示されます。
@ (#) clients 1.1 2/21/96 Copyright 1991 Livingston Enterprises Inc This file contains a list of clients which are allowed to make authentication requests and their encryption key. The first field is a valid hostname. The second field (separated by blanks or tabs) is the encryption key. Client Name Key
-
CLIENT NAME
列に、Oracleデータベース・サーバーが実行されているホストのホスト名またはIPアドレスを入力します。KEY
列に、共有シークレットを入力します。CLIENT NAME
列に入力する値は、クライアントの名前かIPアドレスかにかかわらず、RADIUSサーバーによって異なります。 -
clientsファイルを保存して閉じます。
関連項目:
RADIUSサーバーの管理ドキュメント
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.6 ステップ6: RADIUSとともに使用する認証サーバーの構成
RADIUSクライアント名をRADIUSサーバー・データベースに追加した後、RADIUSを使用するように認証サーバーを構成できます。
-
認証サーバーの構成の詳細は、認証サーバーのドキュメントを参照してください。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.7 ステップ7: 認証サーバーとともに使用するRADIUSサーバーの構成
RADIUSで使用するように認証サーバーを構成した後、その認証サーバーを使用するようにRADIUSサーバーを構成できます。
-
認証サーバーとともに使用するRADIUSサーバーの構成の詳細は、RADIUSサーバーのドキュメントを参照してください。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
19.4.8 ステップ8: マッピング・ロールの構成
RADIUSサーバーでベンダー・タイプ属性がサポートされている場合は、ロールをRADIUSサーバーに格納して管理できます。
RADIUSを使用したCONNECT
要求があると、Oracleデータベース・サーバーはロールをダウンロードします。この機能を使用するには、Oracleデータベース・サーバーとRADIUSサーバーの両方でロールを構成する必要があります。
-
テキスト・エディタを使用して、Oracleデータベース・サーバーの初期化パラメータ・ファイルで
OS_ROLES
パラメータを設定します。デフォルトでは、
init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。 -
Oracleデータベース・サーバーを停止して再起動します。
たとえば:
SHUTDOWN STARTUP
-
RADIUSサーバーがOracleデータベース・サーバー上で管理する各ロールを、値
IDENTIFIED EXTERNALLY
を使用して作成します。RADIUSサーバーでロールを構成するには、次の構文を使用します。
ORA_DatabaseName.DatabaseDomainName_RoleName
詳細は、次のとおりです。
-
DatabaseName
は、ロールが作成されているOracleデータベース・サーバーの名前です。これは、DB_NAME初期化パラメータの値と同じです。 -
DatabaseDomainName
は、Oracleデータベース・サーバーが属するドメインの名前です。この値は、DB_DOMAIN
初期化パラメータの値と同じです。 -
RoleName
は、Oracleデータベース・サーバーで作成されたロールの名前です。
たとえば:
ORA_USERDB.US.EXAMPLE.COM_MANAGER
-
-
RADIUSチャレンジ・レスポンス・モードを構成します。
19.5 RADIUSを使用したデータベースへのログイン
RADIUSを使用してデータベースにログインするには、同期認証モードまたはチャレンジ・レスポンス・モードのいずれかを使用します。
-
SQL*Plusを起動して、次のいずれかの方法でデータベースにログインします。
-
同期認証モードを使用する場合は、最初にチャレンジ・レスポンス・モードが
ON
になっていないことを確認して、次のコマンドを入力します。CONNECT username@database_alias Enter password: password
-
チャレンジ・レスポンス・モードを使用する場合は、チャレンジ・レスポンス・モードが
ON
に設定されていることを確認して、次のコマンドを入力します。CONNECT /@database_alias
-
ノート:
チャレンジ・レスポンス・モードは、ログインのすべてのケースについて構成できます。
親トピック: RADIUS認証の構成
19.6 RSA ACE/Server構成チェックリスト
RSA ACE/Server RADIUSサーバーを使用する場合は、最初の接続を試みる前に、このサーバーのホスト・エージェントとSecurIDトークンを確認してください。
-
ノード・シークレットを送信するようにRSA ACE/Serverのホスト・エージェントが設定されていることを確認します。バージョン5.0では、これを行うには「SENT Node secret」ボックスの選択を解除したままにします。RSA ACE/Serverがエージェントへのノード・シークレットの送信に失敗した場合は、ノード検証失敗メッセージがRSA ACE/Serverのログに書き込まれます。
-
RSA SecurIDトークンを使用している場合は、トークンがRSA ACE/Serverと同期されていることを確認します。
関連項目:
トラブルシューティングの詳細は、RSA ACE/Serverのドキュメントを参照してください。
親トピック: RADIUS認証の構成