前のトピック: RADIUS クライアントの作成次のトピック: Juniper SSL VPN 統合の確認


Juniper SSL VPN の設定

AuthMinder で正常に RADIUS プロトコルのサポートを設定し、RADIUS クライアントを追加した後、Juniper SSL VPN アプライアンスを設定する必要があります。

Juniper SSL VPN アプライアンスを設定する方法

  1. Juniper SSL VPN 管理コンソールにログインします。

    Juniper SSL VPN 管理コンソールのログイン画面が表示されます。

    認証が成功すると、Juniper SSL VPN アプライアンスはユーザにアクセス許可を付与します。

  2. RADIUS ベースの認証用の認証サーバを以下のように追加します。
    1. 左ペインで、[Authentication]セクションの[Auth Servers]をクリックします。

      [Authentication Servers]ページが表示されます。

    2. [New]ドロップダウン リストから、[RADIUS Server]を選択し、[New Server]をクリックします。

      [New Radius Server]ページが表示されます。

    3. 以下の表に示されている情報を使用して、このページの最初のセクションの各フィールドに入力します。

Field Name

必須/

オプション

説明

Name

Required

RADIUS サーバの名前を指定します。

NAS-Identifier

オプション、[NAS-IP-Address]を指定した場合

RADIUS サーバに識別させるクライアントの完全修飾識別名(FQDN)を指定します。

Radius Server

Required

RADIUS サーバの FQDN または IP アドレスを指定します。

認証ポート

Required

RADIUS サーバと通信するポートを指定します。

デフォルト値: 1812

共有秘密キー

Required

ここで指定する共有秘密キーは、AuthMinder を設定するときに[RADIUS 設定]ページで指定した[共有秘密キー]の値に一致する必要があります。

アカウンティング ポート

Required

RADIUS アカウンティング サービスと通信するポートを指定します。

デフォルト値: 1813

NAS-IP-Address

オプション、[NAS-Identifier]を指定した場合

RADIUS サーバに識別させるクライアントの IP アドレスを指定します。

タイムアウト

Required

システムがタイムアウトするまでの時間(秒単位)を指定します。

再試行

Required

ユーザが認証を試行できる回数を指定します。

  1. [Users authenticate using tokens or one-time passwords]チェック ボックスをオンにします。
  2. 同様に、上記の表を参照して[Backup server]セクションの情報を指定します。
  3. (オプション)許可サーバを使用する場合は、[Radius accounting]セクションで情報を指定します。
  4. (オプション)必要に応じて、[Custom RADIUS Rules]セクションで情報を指定します。
  5. [Save Changes]をクリックして、新しいサーバをリストに追加します。
  1. 手順 2 で追加した新しい認証サーバ用のユーザ レルムを定義します。
    1. [Users]セクションで[User Realms]を選択し、[New User Realm]をクリックします。

      [New Authentication Realm]ページが表示されます。

    2. [New Authentication Realm]ページで、以下の情報を入力します。
      • Name: 作成する新しいレルムの名前を入力します。

      注: 指定するレルム名がユーザ コミュニティを明確に表しており、ユーザがレルムを正しく識別できるようにしてください。

      • 説明: レルムの説明を入力します。
      • Authentication: リストから、手順 2 で追加した認証サーバを選択します。
      • Accounting: ドロップダウン リストから[None]を選択します。
    3. [Save Changes]をクリックして新しいレルムを追加します。
  2. 手順 3 で作成したレルムのロール マッピング ルールを定義します。
    1. [Users]セクションで[User Realms]を選択し、手順 3 で作成したレルムを選択して、[Role Mapping]をクリックします。

      [Role Mapping Rule]ページが表示されます。

    2. [New Rule]をクリックします。

      新しい[Role Mapping Rule]ページが表示されます。

    3. この[Role Mapping Rule]ページで、以下の情報を入力します。
      • Rule based on: ドロップダウン リストから[Username]を選択します。
      • Name: 作成する新しいルールの名前を入力します。
      • Rule: ユーザ名の場合は、ドロップダウン リストからユーザ名を選択するか、テキスト ボックスに「*」を入力します。「*」は、ルールがすべてのユーザに適用されることを示します。
      • このルールをロールに割り当てるには、[Available Roles]リストからロールを選択し、[Add]ボタンをクリックして選択したロールを[Selected Roles]リストに追加します。 たとえば、Users ロールを[Selected Roles]リストに追加します。
    4. [Save Changes]をクリックして、新しいロール マッピング ルールを追加します。
  3. ユーザのネットワーク接続クライアント タイプを変更します。
    1. [Users]セクションで[User Roles]を選択し、[Users](前の手順のサブ手順 c で選択したロール)をクリックします。

      [Users role]ページが表示されます。

    2. [Network Connect]で、[Network Connect]オプションを選択します。
    3. [Save Changes]をクリックして、ネットワーク接続クライアント タイプを変更します。
  4. カスタム サインイン ページをアップロードします。
    1. [Authentication]セクションで[Signing In]を選択し、[Sign-in Pages]をクリックします。

      [Signing In]ページが表示されます。

    2. [Upload Custom Pages]をクリックします。

      [Upload Custom Sign-In Pages]画面が表示されます。

    3. 右ペインの[Sample Template Files]セクションで、[Sample]をクリックして Sample.zip ファイルをダウンロードします。
    4. sample.zip ファイルの内容を抽出します。
    5. サンプル アプリケーションに付属の LoginPage.thtml ファイルを見つけて、テキスト エディタでそれを開きます。
    6. JavaScript 関数 deletepreauth() を見つけて、スクリプトの終了タグ(/script)の前に以下のコードを含めます。
      function delegateAuthentication(){
      var toberemoved = document.getElementsByTagName("input");
      var loginAction = document.frmLogin.action;
      var browserUrl = window.location;
      for (var i=0; i < toberemoved.length; i++) {
      var name = toberemoved[i].getAttribute("name");
      if (name == "username") {
      var parentNode = toberemoved[i].parentNode;
      parentNode.removeChild(toberemoved[i]);
      }
      }
      document.getElementById("posturl").value = loginAction;
      document.getElementById("browserurl").value = browserUrl;
      document.frmLogin.action =
      "https://host_name:port/arcotafm/master.jsp?profile=arcotidrisk";
      document.frmLogin.submit();
      }
      

      注: 上記のコードの hostname および port を Authentication Flow Manager (arcotafm)をホストしているサーバのホスト名およびポートに置き換えてください。 また、arcotidrisk はウィザードを使用して作成した AFM プロファイルを表し、SSL VPN 統合をサポートします。

    7. <form> タグと </form> タグの間のコードを以下のコードに置き換えます。

      注: 以下のコードの form の action パラメータを Juniper SSL VPN アプライアンスでホストされている login.cgi ファイルの完全な URL に置き換えてください。 login.cgi ページに割り当てられている完全な URL については、Juniper SSL VPN 管理者にお問い合わせください。

      <form name="frmLogin" action=login.cgi method="POST" autocomplete=off
      onsubmit="return Login(<% setcookies %>)">
      <input type="hidden" name="tz_offset">
      <input type="hidden" name="vpn" value="true">
      <input type="hidden" name="type" value="juniper_lite">
      <input id="posturl" type="hidden" name="posturl" value="">
      <input id="browserurl" type="hidden" name="browserurl" value="">
      <input id="errormessage" type="hidden" name="errormessage" value="<% LoginPageErrorMessage %>">
      <table border="0" cellpadding="2" cellspacing="0">
      <tr>
      <td nowrap colspan="3"><b><% welcome FILTER verbatim %></b></td>
      </tr>
      <tr>
      <td nowrap colspan="3"><span class="cssLarge"><b><% portal FILTER
      verbatim %></b></span></td></tr>
      <tr>
      <td colspan="3">&nbsp;</td>
      </tr>
      <% IF LoginPageErrorMessage %>
      <tr>
      <td colspan=3>
      <table cellpadding=1 bgcolor=#cccc99><tr>[assign the value for TD in your book]
      <table cellpadding=2 bgcolor=#FFFFCC><tr>[assign the value for TD in your book]
      <% LoginPageErrorMessage %>
      </td></tr></table>
      </td></tr></table>
      </td>
      </tr>
      <% END %>
      <tr>
      <td valign="top">
      <table border="0" cellspacing="0" cellpadding="2">
      <%IF !AnonymousAuthentication && !CertificateAuthentication &&
      !SAMLAuthentication%>
      <% FOREACH prompt = prompts %>
      <%NEXT IF !prompt.required %>
      <% END %>
      <tr>
      
      <% IF RealmList.size == 0 %>
      [assign the value for TD in your book]<% realm %></td>[assign the value for TD in your book]&nbsp;</td>[assign the value for TD in your book]
      <input type="text" name="realm" value="" size="20">
      </td>
      <% ELSIF RealmList.size == 1 %>
      <input type="hidden" name="realm" value="<% RealmList.0 %>">
      <script type="text/javascript">
      delegateAuthentication();
      </script>
      <% ELSE %>
      [assign the value for TD in your book]<% realm %></td>[assign the value for TD in your book]&nbsp;</td>[assign the value for TD in your book]
      <select size="1" name="realm">
      <% FOREACH r = RealmList %>
      <option value="<% r %>" ><% r %></option>
      <% END %>
      </select>
      </td>
      <% END %>
      </tr>
      <%ELSE%>
      <tr>
      <input type="hidden" name="realm" value="<% RealmList.0 %>">
      <script type="text/javascript">
      delegateAuthentication();
      </script>
      </tr>
      <%END%>
      <tr>
      <td colspan="3">&nbsp;</td>
      </tr>
      <tr>
      [assign the value for TD in your book]&nbsp;</td>
      [assign the value for TD in your book]&nbsp;</td>
      [assign the value for TD in your book]<input type="button" value="Continue" name="btnSubmit"
      onclick="javascript: delegateAuthentication()">&nbsp;
      <% IF help_on %>
      <input type='submit' name='help' value="<% help %>"
      onclick='window.open("welcome.cgi?p=help", "wndHelp",
      "height=400,width=500,resizeable=yes,scrollbars=yes"); return false;'>
      <% END %>
      </td>
      </tr>
      <% IF admin %>
      <tr>
      <td colspan="3">&nbsp;</td>
      
      </tr>
      <tr>
      <td colspan="3" align="center">
      <table border="0" cellspacing="0" cellpadding="1" width="220">
      <tr>
      <td width="220" bgcolor="#CCCC99">
      <table border="0" cellpadding="2" cellspacing="0" width="220">
      <tr>
      <td bgcolor="#FFFFCC">Note: This is the <br><b>Administrator Sign-In
      Page</b>.
      <br><br>If you don't want to sign in as an Administrator, return to the
      <a href="<% enduserSigninURL %>">standard Sign-In Page</a>.
      </td>
      </tr>
      </table>
      </td>
      </tr>
      </table>
      </td>
      </tr>
      <% END %>
      </table>
      </td>
      <td valign="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
      <td valign="top"><TABLE border="0" cellspacing="0" cellpadding="2">
      <tr>[assign the value for TD in your book]Please select a Realm and continue</tr></td></table></td>
      </tr>
      </table> </form>
      
    8. LoginPage.thtml ファイルを保存して閉じます。
    9. Sample.zip 内の LoginPage.thtml ファイルを前の手順で編集した LoginPage.thtml ファイルで更新します。
    10. [Upload Custom Sign-In Pages]画面で、[Name]フィールドにカスタム サインイン ページを参照するために使用する名前(例: Adapter Sign-in Page)を入力します。
    11. [Templates File]フィールドで、[Browse]をクリックしてカスタム テンプレート(上記の手順 iで更新した Sample.zip)の場所に移動します。
    12. CA によって提供されたサインイン ページを使用するために[Upload Custom Pages]をクリックします。

      「Successfully created new Custom Sign-In page.」というメッセージが表示されます。

  5. 認証に使用するユーザ URL を定義します。
    1. [Authentication]セクションで[Signing In]を選択し、[Sign-in Policies]をクリックします。

      [Signing In]ページが表示されます。

    2. [New URL]をクリックします。

      [New Sign-in Policy]ページが表示されます。

    3. [New Sign-in Policy]ページで、以下の情報を指定します。
      • User type: [Users]を選択します。
      • Sign-in URL: 作成したカスタム ログイン ページにアクセスするために使用する URL を指定します。 たとえば、「afmlogin URL」と指定します。
      • Sign-in page: 作成したサインイン ページ(AFM Sign-in Page)を選択します。
    4. [Authentication realm]セクションで、以下を指定します。
      • [User picks from a list of authentication realms]を選択し、ユーザがログインするレルムを選択できるようにします。
      • [Available realms]リストで作成したレルムを選択し、[Add]をクリックして選択したレルムを[Selected realms]リストに追加します。
    5. [Save Changes]をクリックして、加えた変更を保存します。