この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、WebVPN ユーザに対する Single Sign-on(SSO; シングル サインオン)の設定例を示します。この章には、次の項があります。
SSO では、WebVPN ユーザがユーザ名とパスワードを 1 回入力するだけで、保護された複数のサービスと Web サーバにアクセスできます。一般に、SSO のメカニズムは、AAA プロセスの一部として開始されるか、AAA サーバのユーザ認証に成功した直後に開始されます。セキュリティ アプライアンスで実行する WebVPN サーバは、認証サーバに対するユーザのプロキシとして動作します。ユーザがログインすると、WebVPN サーバは、ユーザ名とパスワードを含む SSO 認証要求を HTTPS を使用して認証サーバに送信します。サーバが認証要求を受け入れた場合は、WebVPN サーバに SSO 認証クッキーを返信します。セキュリティ アプライアンスは、ユーザに代わってこのクッキーを保持し、ユーザ認証でこのクッキーを使用して、SSO サーバで保護されているドメイン内部の Web サイトの安全を確保します。
WebVPN は 3 つの SSO 認証方式をサポートしており、2 つの方式を ASDM で設定できます。これら 2 つの方式は、Computer Associates の eTrust SiteMinder サーバ(以前の名称は Netegrity SiteMinder)による SSO と、HTTP Form プロトコルによる SSO です。3 つ目の方式である、HTTP Basic と NTLMv1(NT LAN Manager)認証による SSO は、現在 セキュリティ アプライアンス コマンドライン インターフェイスを使用した場合にだけ設定できます。
図8-1 に、3 つすべての方式で使用される次の主な SSO 認証手順を示します。
1. 最初に、WebVPN ユーザは、ユーザ名とパスワードを入力して、セキュリティ アプライアンス上の WebVPN サーバにログインします。
2. ユーザのプロキシとして動作する WebVPN サーバは、このフォーム データ(ユーザ名とパスワード)を、認証 Web サーバに転送します。
3. 認証 Web サーバがユーザのデータを承認した場合は、ユーザの代行で保管していた認証クッキーを WebVPN サーバに戻します。
4. WebVPN サーバはユーザまでのトンネル接続を確立します。
5. これでユーザは、ユーザ名やパスワードを再入力しなくても、保護された SSO 環境内の他の Web サイトにアクセスできるようになります。
この項では、SiteMinder を使用して SSO をサポートするためのセキュリティ アプライアンスの設定方法を説明します。ユーザの Web サイトのセキュリティ インフラストラクチャにすでに SiteMinder が組み込まれている場合、通常は SiteMinder による SSO の実装を選択します。この方式により、SSO 認証は AAA から切り離され、AAA プロセスが完了すると、この認証が 1 回実施されます。WebVPN ユーザまたはグループに SSO を設定する場合は、まず RADIUS サーバまたは LDAP サーバなどの AAA サーバを設定する必要があります。その後で、WebVPN の SSO サポートをセットアップできます。
• SiteMinder に対するセキュリティ アプライアンスの設定(P.8-3)
• グループ ポリシーとユーザへの SSO サーバの割り当て(P.8-5)
• SiteMinder へのシスコの認証スキームの追加(P.8-10)
新しい SiteMinder サーバを使用して SSO を設定するには、次の手順を実行します。
ステップ 1 Cisco ASDM メイン ウィンドウで、 Configuration > VPN > WebVPN > SSO Servers を選択します。
図8-2 のように、ウィンドウの右側に SSO Servers 領域が表示されます。
図8-2 SSO Servers 領域が表示された ASDM ウィンドウ
ステップ 2 SSO Servers 領域で Add をクリックします。
図8-3 のように、Add SSO Server ダイアログボックスが表示されます。
ステップ 3 Server Name フィールドに、SiteMinder SSO サーバの名前を入力します。
ステップ 4 次の手順を実行して、SSO サーバの URL を入力します。
a. メニューから HTTP または HTTPS を選択します。
この例では、HTTPS を選択して、セキュリティ アプライアンスと SiteMinder サーバ間の認証メッセージを保護します。
この例では、URL の後の部分は www.Example.com です。
これは、セキュリティ アプライアンスが SSO 認証要求を行う SSO サーバの URL です。
ステップ 5 Secret Key フィールドに秘密鍵を入力します。
これは、SSO サーバとの認証通信の暗号化に使用されます。鍵は、任意の標準またはシフト式英数字で構成されます。文字数の制限はありません。
秘密鍵はパスワードに類似しており、作成し、保存してから、セキュリティ アプライアンスと SiteMinder Policy Server の両方に入力します。「SiteMinder へのシスコの認証スキームの追加」を参照してください。
ステップ 6 Maximum Retries フィールドに、SSO 認証が失敗した場合にセキュリティ アプライアンスがリトライする回数を入力します。このステップはオプションです。
リトライの範囲は 1 ~ 5 回で、デフォルトのリトライ数は 3 回です。
ステップ 7 Request Timeout フィールドに、失敗した SSO 認証がタイムアウトするまでの秒数を入力します。このステップはオプションです。
ステップ 8 OK をクリックして、ASDM ウィンドウの SSO Server テーブルにこの新しい SSO サーバを入力します。
ステップ 9 Apply をクリックして、新しい SSO サーバをセキュリティ アプライアンスの実行コンフィギュレーションに追加します。
SSO サーバの設定が完了したら、次はグループ ポリシーまたはユーザに SSO 認証を指定する必要があります。この項の内容は、次のとおりです。
(注) グループ ポリシーを設定する総合的な手順は、このマニュアルの他の部分で提供します。次の手順は、SiteMinder SSO サーバを設定する場合にだけ適用されます。
グループ ポリシーに SSO サーバを割り当てるには、次の手順を実行します。
ステップ 1 Cisco ASDM メイン ウィンドウで、 Configuration > VPN > General > Group Policy を選択します。
図8-4 のように、ウィンドウに Group Policy 領域が表示されます。
図8-4 Group Policy 領域が表示された ASDM ウィンドウ
ステップ 2 Group Policy テーブルで、SiteMinder SSO サーバを割り当てるグループ ポリシーをクリックします。
図8-5 のように、Edit Internal Group Policy ダイアログボックスが表示されます。
図8-5 Edit Internal Group Policy ダイアログボックス
ステップ 4 General タブをクリックしてから、General タブの Other タブをクリックします。
ステップ 5 SSO Server の隣で、次の内容を実行します。
• SSO Server の Inherit チェックボックスをオフにします。
この例では、SSO サーバは Example という名前です。
ステップ 6 OK をクリックして、ASDM ウィンドウに戻ります。
ステップ 7 Apply をクリックして、割り当てをセキュリティ アプライアンスの実行コンフィギュレーションに入力します。
(注) ユーザを設定する総合的な手順は、このマニュアルの他の部分で提供します。次の手順は、SiteMinder SSO サーバを設定する場合にだけ適用されます。
次の手順を実行して、ユーザに SSO サーバを割り当てることもできます。
ステップ 1 Cisco ASDM メイン ウィンドウで、 Configuration > Properties > Device Administration > Users を選択します。
図8-6 のように、ウィンドウに User Accounts 領域が表示されます。
図8-6 User Accounts 領域が表示された ASDM ウィンドウ
ステップ 2 User Accounts テーブルから、SiteMinder SSO サーバを割り当てる User Name をクリックします。
図8-7 のように、Edit User Account ダイアログボックスが表示されます。
図8-7 Edit User Account ダイアログボックス
ステップ 4 WebVPN タブをクリックしてから、WebVPN タブの Other タブをクリックします。
ステップ 5 SSO Server の隣で、次の内容を実行します。
• SSO Server の Inherit チェックボックスをオフにします。
この例では、SSO サーバは図8-7 に示すように Example という名前です。
ステップ 6 OK をクリックして、ASDM ウィンドウに戻ります。
ステップ 7 Apply をクリックして、割り当てをセキュリティ アプライアンスの実行コンフィギュレーションに入力します。
SiteMinder による SSO 用にセキュリティ アプライアンスを設定することに加えて、Java プラグインとして提供されている、シスコの認証スキームを使用するようにユーザの Computer Associates SiteMinder Policy Server を設定する必要があります。
(注) • SiteMinder Policy Server の設定には、SiteMinder の使用経験が必要です。
• この項では、手順のすべてではなく、一般的なタスクを取り上げます。
• カスタム認証スキームを追加するための完全な手順については、CA SiteMinder のマニュアルを参照してください。
ユーザの SiteMinder Policy Server にシスコの認証スキームを設定するには、次のタスクを実行します。
ステップ 1 Siteminder Administration ユーティリティを使用して、次の特定の引数を使用できるようにカスタム認証スキームを作成します。
• Library フィールドに、 smjavaapi と入力します。
• Secret フィールドに、セキュリティ アプライアンスに設定したものと同じ秘密鍵を入力します。
コマンドライン インターフェイスから policy-server-secret コマンドを入力するか、ASDM の Add SSO Server ダイアログボックスの Secret Key フィールドに入力するかのいずれかの方法でセキュリティ アプライアンスにこれを設定します。
• Parameter フィールドに、 CiscoAuthAPI と入力します。
ステップ 2 CD から cisco_vpn_auth.jar ファイルを SiteMinder サーバのデフォルトのライブラリ ディレクトリにコピーします。
この項では、SSO における HTTP Form プロトコルの使用方法を説明します。HTTP Form プロトコルは SSO 認証を実行するための一般的な手段で、AAA 方式としても使用できます。このプロトコルは、WebVPN ユーザと認証 Web サーバとの間で認証情報を交換するセキュアな方式を提供します。HTTP Form は一般的なプロトコルとして、Web サーバや Web ベースの SSO 製品との高度な互換性を持ち、RADIUS サーバや LDAP サーバなど他の AAA サーバと共に使用することができます。
SiteMinder を使用する場合、セキュリティ アプライアンスは、認証 Web サーバに対する WebVPN ユーザのプロキシとして動作しますが、この場合は、要求に対して HTTP Form プロトコルと POST 方式を使用します。フォーム データを送受信するようにセキュリティ アプライアンスを設定する必要があります。
(注) HTTP Form プロトコルを使用して SSO を正しく設定するには、認証および HTTP プロトコル交換に関する実用的な知識が必要です。
セキュリティ アプライアンスでユーザ名やパスワードなどの POST データを含めるようにするフォーム パラメータを設定するときに、Web サーバが追加的に要求する非表示パラメータの中には、ユーザ側で当初認識できないものがある場合があります。認証アプリケーションによっては、ユーザ側に表示されず、ユーザが入力しない非表示データを要求する場合があります。しかし、認証 Web サーバが要求する非表示パラメータを見つけることは可能です。これは、セキュリティ アプライアンスを仲介役のプロキシとして使用せずに、ユーザのブラウザから Web サーバに直接認証要求を出す方法で行います。HTTP ヘッダー アナライザを使用して Web サーバの応答を分析すると、非表示パラメータが次のような形式で表示されます。
非表示パラメータには、必須のパラメータとオプションのパラメータがあります。Web サーバが非表示パラメータのデータを要求した場合は、そのデータを省略するすべての認証 POST 要求を拒否します。非表示パラメータが必須かオプションかについてはヘッダー アナライザでは確認できないため、必須であることが判別できるまではすべての非表示パラメータを含めることを推奨します。
• HTTP Form プロトコルによる SSO の設定(P.8-14)
• トンネル グループへの SSO サーバの割り当て(P.8-18)
この項では、データが不明である場合に SSO を設定するために必要な HTTP Form データを検出および収集する手順を示します。このデータを収集するには、HTTP ヘッダー アナライザを使用して認証 Web サーバからの応答を分析する必要があります。
ステップ 1 ユーザのブラウザと HTTP ヘッダー アナライザを起動して、セキュリティ アプライアンスを経由せずに Web サーバのログイン ページに直接接続します。
Web サーバのログイン ページがユーザのブラウザにロードされます。
ステップ 2 HTTP ヘッダー アナライザでログイン交換を検証します。Web サーバによってログイン ページにクッキーがロードされている場合は、このログイン ページの URL をコピーします。これは、Start URL です。
ステップ 3 Web サーバにログインするためのユーザ名とパスワードを入力して、 Enter キーを押します。
この動作によって、ユーザが検証する認証 POST 要求が HTTP ヘッダー アナライザで生成されます。
次に、ホストの HTTP ヘッダーおよび本文が記載された POST 要求の例を示します。
ステップ 4 POST 要求を検証してプロトコル、ホストをコピーし、URL を入力します。これは、後で action-uri パラメータを設定する際に必要になります。
ステップ 5 POST 要求の本文を検証して、次の内容をコピーします。
この例では、このパラメータは userid です(値 anyuser ではありません)。
この例では、このパラメータは user_password です。
このパラメータは、POST 本文からユーザ名パラメータとパスワード パラメータを除くすべてです。この例では、非表示パラメータは、
SMENC=ISO-8859-1&SMLOCALE=US-EN&target=https%3A%2F%2Fwww.example.com%2Femco%2Fmyemco%2F&smauthreason=0 です。
非表示パラメータには、必須のパラメータとオプションのパラメータがあります。Web サーバが非表示パラメータのデータを要求した場合は、そのデータを省略するすべての認証 POST 要求を拒否します。非表示パラメータが必須かオプションかについてはヘッダー アナライザでは確認できないため、必須であることが判別できるまではすべての非表示パラメータを含めることを推奨します。
図8-8 に、HTTP ヘッダー アナライザの出力例に表示される action URI、非表示、ユーザ名、およびパスワードのパラメータを示します。これは一例です。出力内容は Web サイトによって大幅に異なることがあります。
図8-8 action-uri、非表示、ユーザ名、およびパスワードのパラメータ
|
|
|
|
|
ステップ 6 Web サーバへのログインが成功したら、HTTP ヘッダー アナライザを使用して、サーバからユーザのブラウザ内に設定されているセッションのクッキー名を見つけることによって、サーバの応答を検証します。これは、Authentication Cookie Name 値です。
次のサーバ応答ヘッダーでは、セッションのクッキーの名前は SMSESSION です。必要なのはこの名前だけです。値は不要です。
図8-9 に、HTTP アナライザによる認証クッキーの出力例を示します。これは一例です。出力内容は Web サイトによって大幅に異なることがあります。
図8-9 HTTP アナライザの出力例に表示された認証クッキー
|
認証の成否に関わらず同じクッキーがサーバによって設定される場合があります。このようなクッキーは SSO の目的上、認められません。
ステップ 7 クッキーが異なっていることを確認するには、無効なログイン クレデンシャルを使用して、「失敗した」クッキーと「成功した」クッキーとをステップ 1 からステップ 6 を繰り返して比較します。
これで、HTTP Form プロトコルによる SSO をセキュリティ アプライアンスに設定するために必要なパラメータ データを入手できました。
この項では、前の項で収集したパラメータを使用して、HTTP Form プロトコルによる SSO の設定例を示します。この手順には、必須の手順と、条件によって必要になる手順が含まれます。必須の手順は、次の内容の設定です。
その他の手順は、認証 Web サーバが必要とする場合にだけ必要になります。これらの設定内容は、次のとおりです。
次の手順を実行して、SSO で HTTP Form プロトコルを使用するようにセキュリティ アプライアンスを設定します。
ステップ 1 Cisco ASDM メイン ウィンドウで、 Configuration > Properties > AAA Setup > AAA Servers を選択します。
図8-10 のように、ウィンドウに AAA Servers 領域が表示されます。
図8-10 AAA Servers 領域が表示された ASDM ウィンドウ
ステップ 2 Server Groups 領域で Add をクリックします。
図8-11 のように、Add AAA Server Group ダイアログボックスが表示されます。
図8-11 Add AAA Server Group ダイアログボックス
ステップ 3 Server Group フィールドにサーバ グループの名前を入力します。
この例では、サーバ グループの名前は sso-server-grp-1 です。
ステップ 4 Protocol メニューから、 HTTP Form を選択します。
ステップ 5 OK をクリックして、ASDM ウィンドウに戻ります。
ステップ 6 選択されていない場合は、作成または選択したばかりのサーバ グループをクリックします。
ステップ 7 Servers in Selected Group 領域で Add をクリックします。
Add AAA Server ダイアログボックスが表示されます。図8-12 は、このダイアログボックスをステップ 8 からステップ 16 に記載された値を入力した状態です。
図8-12 Add AAA Server ダイアログボックス
ステップ 8 Interface Name メニューから、 inside 、 outside 、または management を選択します。
この例では、 inside を選択します。選択したインターフェイス名は、機能に影響しません。
ステップ 9 Server Name or IP Address フィールドに、認証 Web サーバの名前またはアドレスを入力します。
ステップ 10 Timeout フィールドに、失敗した SSO 認証がタイムアウトするまでの時間を秒単位で入力します。
ステップ 11 認証 Web サーバが事前ログイン クッキーを設定する場合は、次の手順を実行して、Web サーバから事前ログイン クッキーを取得するための開始 URL を設定します。
a. Start URL メニューから、次のいずれかを選択します。
– http (セキュリティ アプライアンスと Web サーバ間の非暗号化メッセージング用)
– https (セキュリティ アプライアンスと Web サーバ間のセキュアなメッセージング用)
b. Start URL フィールドに、認証 Web サーバの開始 URL の後の部分を入力します。
この例では、完全な開始 URL は http://example.com/east/Area.do?Page-Grp1 です。
ステップ 12 action URI フィールドに、Web サーバの認証プログラム用の URI を入力します。
URI 全体の最大文字数は 2048 です。action URI の出力例は次のとおりです。
(注) action URI に、ホスト名とプロトコルを含める必要があります。上記の例では、http://www.example.com の URL の最初の部分に表示されます。
ステップ 13 Username フィールドに、HTTP POST 要求のユーザ名パラメータの名前を入力します。
この例では、ユーザ名パラメータは userid という名前です。
ステップ 14 Password フィールドに、HTTP POST 要求のパスワード パラメータの名前を入力します。
この例では、パスワード パラメータは user_password という名前です。
ステップ 15 Web サーバが POST 要求で非表示パラメータを要求する場合、Hidden Values フィールドに要求された非表示パラメータを入力します。
この例では、Hidden Values エントリは次のとおりです。
SMENC=ISO-8859-1&SMLOCALE=US-EN&target=https%3A%2F%2Fwww.example.com%2Femco%2Fappdir%2FAreaRoot.do%3FEMCOPageCode%3DENG&smauthreason=0
このエントリ(POST 要求から抜粋)には、間を & で区切った 4 つのフォーム エントリとその値が含まれています。4 つのエントリとその値は次のとおりです。
• target および https%3A%2F%2Fwww.example.com%2Femco%2Fappdir%2FAreaRoot.do%3FEMCOPageCode%3DENG の値
ステップ 16 Authentication Cookie Name フィールドに、認証クッキーの名前を入力します。このステップはオプションです。
この例では、認証クッキー名は ExampAuthCookie です。
ステップ 17 OK をクリックして、ASDM ウィンドウに戻ります。
ステップ 18 Apply をクリックして、新しい SSO サーバとサーバ グループを実行コンフィギュレーションに追加します。
最後のタスクでは、新しい SSO サーバを新しいトンネル グループまたは既存のトンネル グループに割り当てます。この例では、次の手順を実行して、WebVPNGroup1 という名前の新しい WebVPN トンネル グループに SSO サーバを割り当てます。
ステップ 1 Cisco ASDM メイン ウィンドウで、 Configuration > VPN > General > Tunnel Group を選択します。
ステップ 2 Add をクリックし、 WebVPN Access を選択します。
General タブと Basic タブを表示した状態の Add Tunnel Group ダイアログボックスが表示されます。
ステップ 3 Name フィールドに新しいトンネル グループの名前を入力します。
ステップ 4 AAA タブをクリックし、Authentication Server Group メニューから新しい SSO サーバ グループを選択します。
この例では、サーバ グループの名前は sso-server-grp-1 です。
ステップ 5 OK をクリックして、 Configuration > VPN > General > Tunnel Group ウィンドウに戻ってから、 Apply をクリックし、トンネル グループを実行コンフィギュレーションに追加します。