2013-10-18
09:50 AM
- 最終編集日:
2019-12-15
01:54 PM
、編集者:
Taisuke Nakamura
このドキュメントでは、Cisco AnyConnect Secure Mobility Client からの SSL-VPN アクセスを終端するための ASA の設定方法について、紹介させていただきます。最終的には、証明書を利用したり、もっと高度な内容も紹介させていただこうと思いますが、まずはもっともベーシックな構成となる、以下の場合の設定方法を紹介させていただきます。
今回の使用したプラットフォームは、ASA5512 で、ソフトウェアは以下の Version を使用しています。
以下が、今回の設定例を行っていただくことで実現できる Remote Access VPN のネットワーク図となります。
今回の設定例を紹介する前に、機器に事前に投入している設定を、 20131018-initial.conf というファイル名で、添付するので、ご確認ください。基本的には、ASDM アクセスに必要な、HTTP server の設定、IP アドレスの設定、ASDM ログインに使用する username の設定を事前に行っています。
それでは、具体的な設定方法に入ります。 ASA がサーバ証明書として、クライアントに提示する証明書を作成します。
Configuration > Remote Access VPN > Certificate Management > Identity Certificateという形で、ASDM 上を遷移いただき、Add をクリックしてください。
今回は、ASA 自身が、自身に対して署名した証明書を作成するので、Add a new identity certificate: にチェックを入れます。
RSA のキーペアをマニュアルで作成するには、Key Pair で、New をクリックして作成してください。
※Key Length は、512Byte~で指定できますが、セキュリティ上 2048bytes未満は避けて頂いたほうがよいです
Subject DN の項目ですが、CN(Common Name) には、クライアントが ASA へアクセスするための指定するホスト名、IP アドレスを指定するようにしてください。今回の例では、DNSや、NAT など存在せず、クライアントは ASA へ到達するためには、IP アドレスを使用しますので、CN=10.1.1.12と設定しています。
以下、ASDM 上の画面の例です。
次に、ASA 上で使用する AnyConnect のイメージの指定を行います。この設定を行う際には、事前に ASA 上に AnyConnect のパッケージファイルが存在している必要があります。今回は、前述のとおり、anyconnect-win-3.1.04072-k9.pkg を使用します。
AnyConnect のイメージの指定は、Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Software で行います。
次は、AnyConnect での接続時に、クライアントに払いだされる IP アドレスの pool を定義します。Local Address Pool は、ASDM 上の Configuration > Remote Access VPN > Network (Client) Access > Address Assignment > Address Pools で設定します。
今回の例では、クライアントには、ASA の inside 側のサブネットと同じレンジから、第四オクテット 200~210 を払い出すので、以下のような設定となります。
ここで、定義した Local Address Pool は、各種 Connection Profile(tunnel-group)、Group Policy にて設定できます。tunnel-group と、Group Policy で異なる Pool が指定された場合には、より範囲の狭い、Group Policy に設定されたものが優先されます。※この考え方は、別の項目に対しても同じです。
ここでは、AnyConnect からの接続を実施するときに、グループ毎に適用するポリシーの定義を行います。Group Policy とは、同じ Tunnel Group で終端されたユーザに対して、それぞれ所属するグループに応じて、異なるポリシーを割り当てるために使用されるものとお考えいただいていいと思います。 default で存在している DfltGrpPolicyを編集して使用することもできますが、別途追加いただく形で進めていただいた方が無難であると考えます。
下の例では、GP_AC_AAA_LOCAL という名前の Group Policy を作成しています。
ステップ1 で作成した自己書名の証明書を、AnyConnect での接続時に、サーバ証明書として使用するように設定します。
AnyConnect からの VPN の終端に使用する際に使用する、Tunnel-Group の定義を行います。Tunnel-Group では、どのような接続プロトコルを使用するか、や、どのような認証方式を使用するか、等の接続自体に適用されるポリシーを定義する設定項目になります。
Authentication の項目では、認証方式の設定を行いますが、今回は、AAA(ユーザ名、パスワードを用いる方式)で、ユーザデータベースとして、ASA 自身が持つもの(LOCAL)を指定しています。LOCAL を指定した場合、username コマンドないしは、"Configuration > Remote Access VPN > AAA/Local Users > Local Users" にて作成されたユーザ情報を用いて、認証が実施されます。
Client Addres Pools: では、接続後に、クライアントに払いだされる IP アドレスが定義された Pool を指定します。今回は、ステップ3 で定義した、LP_INSIDE を選択します。
Default Group Policy では、その後の処理で例外が設定されていない場合に default で適用される Group Policyを指定します。ここでは、ステップ4 で定義した、GP_AC_AAA_LOCAL という Group Policy を指定しています。使用する Group-Policy は、ここ以外にも、Local User の、VPN Policy の設定でも指定することができ、TunnelGroup と、Local User の VPN Policy で異なるものが指定されている場合には、Local User の持つ値が優先されます。
上記に加えて、接続後にクライアントが使用する DNSサーバのアドレスや、ドメイン名も指定することができます。
Tunnel Group では、ステップ6 の項目以外も設定可能です。AnyConnect での接続の場合、利便性を考えると、AnyConnect Client Profile を ASA から配布し、接続時にクライアント側で使用する Profile を選択する、という運用が一般的になりますが、その際に Tunnel Group に Group URL を設定しておくことで、クライアント側で選択する Profile を切り替えることで、接続先の Tunnel Group が変更できますので、拡張性を考えると、こちらの設定をしておいた方が無難です。※クライアント認証に証明書を用いた場合には、Group URL とは別の仕組み(Certificate Map)で接続先の Tunnel Group を指定可能ですが、ここでは割愛させていただきます。
また、さらに別の仕組みとなりますが、Tunnel Group を定義するさいに、Group Alias の設定をし、Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profiles にて、Allow user to select connection profile, identified by its alias, on the login page. Otherwise, Default WebVPNGroup will be the connection profile にチェックを入れると、接続時にユーザに対して、使用する Tunnel Group を選択するよう、ポップアップがあがる、という運用も可能です。
以下のれいでは、TG_AC_AAA_LOCAL という Tunnel Group に、https://10.1.1.12/url-ac-aaa-local という
Group URL を設定しています。この設定をすることで、ブラウザベース、クライアントベースの両方で、接続先を 10.1.1.12/url-ac-aaa-local と指定することで、自動的に、TG_AC_AAA_LOCAL という Tunnel Group が適用されます。
ステップ5~7 までを実施した後の、Connection Profile の設定画面の例です。
接続時にクライアントに配布し、その動作、接続を制御するために使用する Client Profile を作成します。Client Profile は、Group Policy 毎に関連付けが可能で、該当する Group Policy が適用された VPN接続を実施した際に、クライアントに自動的に配布され、次回接続時から選択可能になります。
まずは、Client Profile の名前、関連付けを行う Group Policy を選択し、ファイルを作成します。今回は、ACP_AC_AAA_LOCAL という名前で、GP_AC_AAA_LOCAL という Group Policy に紐付けを
行っています。
Client File を作成したら、その中身を設定します。クライアント側の動作を制御するための各種パラメータが存在していますが、必須な情報としては、Server List となります。クライアント側で当該 Profile を選択した際に、接続先として使用する ASA のアドレスを指定する箇所となります。
以下、ASDM 上での Server List 設定画面ですが、Host Display Name (required) では、クライアント上で、接続先名として表示される情報となります。ここでは、(AAA_LOCAL)10.1.1.12 という名前に指定しました。ここは任意の文字列が使用できます。
FQDN or IP Address の箇所には、クライアント上で、上記の接続先名を選択した際に、実際に接続を行うあて先 ASA の情報を記述します。この例では、IP アドレス 10.1.1.12 と、Group URL で設定したurl-ac-aaa-local を設定しています。ここは、ネットワーク的に意味のある記述をしていただく必要があります。
ここでは、接続に使用するプロトコルは、SSL ですが、IPSec/IKEv2 などのプロトコルをしようする場合には、ここの、Primary Protocol にて変更できます。
ここまでで、ASA 側の設定は終了です。あとは、クライアント側から接続を実施するだけです。
AnyConnect では、クライアントがインストールされていない端末に対して、ブラウザベースのアクセスを行った際に、端末にクライアントソフトを配布することができます。また、インストール済みの端末に対しても、ブラウザベースでのアクセスを行うことで、自動的に、VPN が開始されるように運用することも可能です。
以下は、クライアントがインストールされていない端末に、Web Deploy を使用してソフトウェアを配布するさいの、クライアント側での画面キャプチャです。
まずは、Tunnel Group の設定で指定した、Group URL に対して、ブラウザからアクセスします。
ここでは、ASA がサーバ証明書として使用している証明書が、自己署名のものとなり、クライアント上で信頼されていないため、警告の画面が表示されています。
ひとまず信頼するものとし、Continue to this website を選択してください。すると、ASA へのログインページが表示されます。URL バーの右を見ると、証明書のエラーが発生していることが確認できるはずです。以降、このASA からの証明書を信頼するためには、この "Certificate Error" をクリックし、View Certificate と進んでいただき、Install Certificate で、この証明書を、信頼されたルート証明機関についかしてください。
証明書を追加したら、ユーザ名、パスワードを入力し、ログインします。ログインが成功すると、ASA からの ActiveX Control が送信され、ブラウザ側で、実行許可を求めるプロンプトが表示されます。Allow をクリックしてください。
すると、自動的にインストールが開始されます。
インストールが完了すると自動的に、VPN 接続が確立します。
事前にクライアントソフトウェアがインストールされている場合には、接続先を指定するテキストボックス内に、Group URL つきのアドレスを入力して Connect をクリックすることで、Tunnel Group を指定しての接続が可能です。
一度接続に成功すると、Client Profile が自動的に配布され、次回の接続からは、Profile を選択することで当該 ASA への接続が開始されるようになります。
接続完了時の画面出力
最後に、上記の設定をすべて実施した後の、ASA の config を添付しましたので、ご参照ください。
なお、上記設定手順の場合、自己証明書を利用するため、初回接続時に「証明書が信用できない」旨の警告がでてしまいます。 このような警告をなくすために、CAで署名した証明書を利用する手順については、以下ドキュメントも参考にしてください。
Cisco AnyConnect Secure Mobility Client を使用して Remote Access VPN を行う際の設定 (2)
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます