セキュリティ : Cisco FlexVPN

FlexVPN および Anyconnect IKEv2 クライアントの設定例

2016 年 10 月 28 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 12 月 19 日) | フィードバック

概要

このドキュメントでは、Microsoft Active Directory に対する認証を行うために Remote Authentication Dial-In User Service(RADIUS)とローカル認証属性を使用するように Cisco AnyConnect セキュア モビリティ クライアントを設定する方法について説明します。

: 現在、認証のためのローカルユーザデータベースの使用は機能拡張要求 CSCui07025 によって追加されました。

Cisco TAC エンジニア、Jay Young および Atri Basu 寄稿。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco IOS ® バージョン 15.2(T) または それ 以降
  • Cisco AnyConnect セキュア モビリティ クライアント バージョン 3.0 以降
  • Microsoft Active Directory

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

設定

この項では、このドキュメントで説明する機能の設定に必要な情報を提供します。

このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク図

このドキュメントでは、次のネットワーク構成を使用しています。

設定

このドキュメントでは、次の設定を使用します。

ハブの設定

  1. RADIUS を認証用にのみ設定し、ローカル認証を定義します。
    aaa new-model
    aaa group server radius FlexVPN-AuthC-Server-Group-1
    server-private 10.7.7.129 key Cisco123
    aaa authentication login FlexVPN-AuthC-List-1 group
    FlexVPN-AuthC-Server-Group-1
    aaa authorization network FlexVPN-AuthZ-List-1 local

    aaa authentication login list コマンドは、認証、許可、およびアカウンティング(AAA)グループ(RADIUS サーバを定義する)を参照します。 aaa authorization network list コマンドは、ローカルに定義されたユーザ/グループを使用する必要があることを明示します。 RADIUSサーバの設定はこのデバイスからの認証要求を許可するために変更する必要があります。

  2. ローカル認証ポリシーを設定します。
    ip local pool FlexVPN-Pool-1 10.8.8.100 10.8.8.200
    crypto ikev2 authorization policy FlexVPN-Local-Policy-1
    pool FlexVPN-Pool-1
    dns 10.7.7.129
    netmask 255.255.255.0
    def-domain example.com

    ip local pool コマンドは、クライアントに割り当てる IP アドレスを定義するために使用されます。 認証ポリシーは、FlexVPN-Local-Policy-1 のユーザ名で定義され、クライアント(DNS サーバ、ネットマスク、分割されたリスト、ドメイン名など)の属性がここで設定されます。

  3. サーバがサーバ自体を認証するために証明書(rsa-sig)を使用していることを確認してください。

    Cisco AnyConnect セキュア モビリティ クライアントには、証明書(rsa-sig)を使用してサーバ自体を認証しているサーバが必要です。 ルータは、信頼できる認証局(CA)から Web サーバの証明書(つまり、拡張キー使用法の拡張内の「サーバ認証」による証明書)を取得する必要があります。

    ASA 8.x WebVPN で使用するサードパーティ ベンダーの証明書を手動でインストールする設定例」のステップ 1 ~ 4 を参照して、crypto ca のすべてのインスタンスを crypto pki に変更します。

    crypto pki trustpoint FlexVPN-TP-1
    enrollment url
    serial-number none
    fqdn flex-hub.example.com
    ip-address none
    subject-name cn=flex-hub.example.com
    revocation-check crl
    rsakeypair FlexVPN-TP-1-Key 2048
  4. この接続の設定を構成します。
    crypto ikev2 profile FlexVPN-IKEv2-Profile-1
    match identity remote key-id example.com
    identity local dn
    authentication remote eap query-identity
    authentication local rsa-sig
    pki trustpoint FlexVPN-TP-1
    dpd 60 2 on-demand
    aaa authentication eap FlexVPN-AuthC-List-1
    aaa authorization group eap list FlexVPN-AuthZ-List-1
    FlexVPN-Local-Policy-1
    virtual-template 10

    暗号 ikev2 プロファイルはこの接続の関連した設定がのほとんどが含まれています:
    • match identity remote key-id:クライアントが使用する IKE ID を参照します。 この文字列値は、AnyConnect XML プロファイル内に設定されます。
    • identity local dn:FlexVPN ハブで使用する IKE ID を定義します。 この値は、使用する証明書内の値を使用します。
    • authentication remote:クライアント認証に EAP を使用する必要があることを明示します。
    • 認証がローカル認証に使用する必要があること認証 ローカルステート
    • AAA認証 eap - EAP が認証のために使用される場合の AAA認証ログイン リスト FlexVPN-AuthC-List-1 を使用する状態。
    • aaa authorization group eap list:認可属性に FlexVPN-Local-Policy-1 のユーザ名を含む aaa authorization network list FlexVPN-AuthZ-List-1 を使用することを明示します。
    • virtual-template 10:仮想アクセス インターフェイスがクローンされるときに使用するテンプレートを定義します。
  5. ステップ 4.で定義した IKEv2 プロファイルに戻るようにリンク付けされる IPsec プロファイルを設定します。
    crypto ipsec profile FlexVPN-IPsec-Profile-1
    set ikev2-profile FlexVPN-IKEv2-Profile-1

    : Cisco IOS は、スマート デフォルトを利用します。 その結果、トランスフォーム設定を明示的に定義する必要はありません。

  6. 仮想アクセス インターフェイスがクローンされる仮想テンプレートを設定します。
    • ip unnumbered:インターフェイス上で IPv4 ルーティングを有効化できるように、内部インターフェイスからのインターフェイスをアンナンバーにします。
    • tunnel mode ipsec ipv4:インターフェイスを VTI タイプのトンネルとして定義します。
    interface Virtual-Template10 type tunnel
    ip unnumbered GigabitEthernet0/0
    tunnel mode ipsec ipv4
    tunnel protection ipsec profile FlexVPN-IPsec-Profile-1
  7. ネゴシエーションを SHA-1 に限定します。 (オプション)

    Cisco バグ ID CSCud96246 が原因で、AnyConnect クライアントは正しく FlexVPN ハブ 認証を検証し損うかもしれません。 この問題は、FlexVPN-Hub 証明書が SHA-1 を使用してサインインしているのに対して、IKEv2 が疑似乱数関数(PRF)の SHA-2 関数とネゴシエートするために発生します。 この SHA-1 への設定 制限 ネゴシエーション:

    crypto ikev2 proposal SHA1-only
    encryption aes-cbc-256
    integrity sha1
    group 5
    crypto ikev2 policy SHA1-only
    match fvrf any
    proposal SHA1-only

Microsoft Active Directory のサーバの設定

  1. Windows サーバ マネージャで、ロール > ネットワーク ポリシーおよびアクセス サーバ > NMPS (ローカル)を > RADIUSクライアントおよびサーバ選択して下さい、およびクライアントを『RADIUS』 をクリック して下さい。

    [New RADIUS Client] ダイアログボックスが表示されます。


  2. [New RADIUS Client] ダイアログボックスで、次の手順に従い Cisco IOS ルータを RADIUS クライアントとして追加します。
    1. イネーブルをこの RADIUSクライアント チェックボックス チェックして下さい。
    2. [Friendly name] フィールドに名前を入力します。 この例では FlexVPN-Hub を使用しています。
    3. [Address] フィールドにルータの IP アドレスを入力します。
    4. 共有秘密エリアで、[Manual] オプション ボタンをクリックし、[Shared secret] および [Confirm shared secret] フィールドに共有秘密を入力します。

      共有秘密は、ルータ上に設定された共有秘密に一致する必要があります。

    5. [OK] をクリックします。
  3. サーバ マネージャ インターフェイスで、[Policies] を展開し、[Network Policies] を選択します。

    [New Network Policy] ダイアログボックスが表示されます。


  4. [New Network Policy] ダイアログボックスで、次の手順に従い、新しいネットワーク ポリシーを追加します。

    1. [Policy name] フィールドに名前を入力します。 この例では FlexVPN を使用しています。
    2. [Type of network access server] オプション ボタンをクリックし、ドロップダウン リストから [Unspecified] を選択します。
    3. [Next] をクリックします。
    4. 新しいネットワーク ポリシー ダイアログボックスで、新しい状態を追加するために『Add』 をクリック して下さい。
    5. [Select condition] ダイアログボックスで、[NAS IPv4 Address] 条件を選択し、[Add] をクリックします。

      [NAS IPv4 Address] ダイアログボックスが表示されます。


    6. [NAS IPv4 Address] ダイアログボックスで、ネットワーク アクセス サーバの IPv4 アドレスを入力し、ネットワークポリシーを、この Cisco IOS ルータから送信される要求のみに制限します。

    7. [OK] をクリックします。


    8. [New Network Policy] ダイアログボックスで、[Access granted] オプション ボタンをクリックし、ネットワークへのクライアント アクセスを許可して(ユーザが入力するクレデンシャルが有効の場合)、[Next] をクリックします。


    9. Microsoft の場合のみ、 セキュリティで保護されたパスワード(EAP-MSCHAP v2)が EAP タイプ エリアに表示され、Cisco IOS デバイスと Active Directory 間の通信方式として EAP MSCHAPv2 の使用が許可されていることを確認し、[Next] をクリックします。

      : 「低セキュリティの認証方式」のオプションをすべてオフのままにします。

    10. ウィザードで手順を続行し、組織のセキュリティ ポリシーで定義されている追加の制限や設定を適用します。 さらに、このポリシーが次の図に示す処理順序の最初にリストされていることを確認します。

クライアント設定

  1. テキスト エディタで XML プロファイルを作成し、flexvpn.xml という名前を付けます。

    次に、XML プロファイルを使用する例を示します。

    <?xml version="1.0" encoding="UTF-8"?>
    <AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/
    AnyConnectProfile.xsd">
    <ClientInitialization>
    <UseStartBeforeLogon UserControllable="true">false
    </UseStartBeforeLogon>
    <AutomaticCertSelection UserControllable="true">true
    </AutomaticCertSelection>
    <ShowPreConnectMessage>false</ShowPreConnectMessage>
    <CertificateStore>All</CertificateStore>
    <CertificateStoreOverride>false</CertificateStoreOverride>
    <ProxySettings>Native</ProxySettings>
    <AllowLocalProxyConnections>true
    </AllowLocalProxyConnections>
    <AuthenticationTimeout>12</AuthenticationTimeout>
    <AutoConnectOnStart UserControllable="true">false
    </AutoConnectOnStart>
    <MinimizeOnConnect UserControllable="true">true
    </MinimizeOnConnect>
    <LocalLanAccess UserControllable="true">false
    </LocalLanAccess>
    <ClearSmartcardPin UserControllable="true">false
    </ClearSmartcardPin>
    <AutoReconnect UserControllable="false">true
    <AutoReconnectBehavior UserControllable="false">
    DisconnectOnSuspend
    </AutoReconnectBehavior>
    </AutoReconnect>
    <AutoUpdate UserControllable="true">false</AutoUpdate>
    <RSASecurIDIntegration UserControllable="false">
    Automatic
    </RSASecurIDIntegration>
    <WindowsLogonEnforcement>SingleLocalLogon
    </WindowsLogonEnforcement>
    <WindowsVPNEstablishment>LocalUsersOnly
    </WindowsVPNEstablishment>
    <AutomaticVPNPolicy>false</AutomaticVPNPolicy>
    <PPPExclusion UserControllable="false">Disable
    <PPPExclusionServerIP UserControllable="false">
    </PPPExclusionServerIP>
    </PPPExclusion>
    <EnableScripting UserControllable="true">true
    <TerminateScriptOnNextEvent>true
    </TerminateScriptOnNextEvent>
    <EnablePostSBLOnConnectScript>true
    </EnablePostSBLOnConnectScript>
    </EnableScripting>
    <EnableAutomaticServerSelection UserControllable="false">false
    <AutoServerSelectionImprovement>20
    </AutoServerSelectionImprovement>
    <AutoServerSelectionSuspendTime>4
    </AutoServerSelectionSuspendTime>
    </EnableAutomaticServerSelection>
    <RetainVpnOnLogoff>false
    </RetainVpnOnLogoff>
    </ClientInitialization>
    <ServerList>
    <HostEntry>
    <HostName>FlexVPN Hub</HostName>
    <HostAddress>flexvpn-hub.example.com</HostAddress>
    <PrimaryProtocol>IPsec
    <StandardAuthenticationOnly>true
    <AuthMethodDuringIKENegotiation>EAP-MSCHAPv2</AuthMethodDuringIKENegotiation>
    <IKEIdentity>example.com</IKEIdentity>
    </StandardAuthenticationOnly>
    </PrimaryProtocol>
    </HostEntry>
    </ServerList>
    </AnyConnectProfile>

    • <HostName> は、クライアントに表示されるテキスト文字列です。
    • <HostAddress> は、FlexVPN ハブの完全修飾ドメイン名(FQDN)です。
    • <PrimaryProtocol> は、SSL(AnyConnect のデフォルト)ではなく、IKEv2/IPSec を使用する接続を設定します。
    • <AuthMethodDuringIKENegotiation> は、EAP 内で MSCHAPv2 を使用する接続を設定します。 この値は、Microsoft Active Directory に対する認証に必要です。
    • <IKEIdentity> はハブの仕様 IKEv2 プロファイルにクライアントを一致させる文字列型の値を定義します(ステップを 4)参照して下さい。

    : クライアント プロファイルは、クライアントのみが使用する設定です。 クライアント プロファイルを作成するためにことを管理者 使用 AnyConnect プロファイル エディタ推奨します。


  2. 次の表に記載されているとおり、flexvpn.xml ファイルを適切なディレクトリに保存してください。

    OS場所
    Windows XP%ALLUSERSPROFILE%Application DataCiscoCisco AnyConnect Secure Mobility ClientProfile
    Windows Vista/7%PROGRAMDATA%CiscoCisco AnyConnect Secure Mobility ClientProfile
    Mac OS X/opt/cisco/anyconnect/profile/
    Linux/opt/cisco/anyconnect/profile/


  3. AnyConnect クライアントを終了し、再起動します。



  4. [Cisco AnyConnect Secure Mobility Client] ダイアログボックスで、[FlexVPN Hub] を選択し、[Connect] をクリックします。

    [Cisco AnyConnect | FlexVPN Hub] ダイアログボックスが表示されます。


  5. ユーザ名とパスワードを入力し、[OK] をクリックします。

確認

接続を確認するには、[show crypto session detail remote client-ipaddress] コマンドを使用します。 このコマンドの詳細については、「暗号化セッションを表示する」を参照してください。

: Output Interpreter Tool(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。 OIT を使用して、show コマンド出力の解析を表示できます。

トラブルシューティング

接続をトラブルシュートし、クライアントから DART ログを収集および解析し、ルータ上で次の debug コマンドを使用します。 debug crypto ikev2 packet および debug crypto ikev2 internal

: debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。



Document ID: 115941