この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、802.1X PEAPまたはEAP-TLS方式を使用して、スイッチポートでシスコのアクセスポイントを認証する方法について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
アクセスポイント(AP)を802.1Xを使用してスイッチポートで認証する場合、デフォルトでは、証明書を必要としないEAP-FAST認証プロトコルが使用されます。APでPEAP-mschapv2方式(AP側ではクレデンシャルを使用するが、RADIUS側では証明書を使用)またはEAP-TLS方式(両側で証明書を使用)を使用する場合、最初にLSCを設定する必要があります。これは、信頼できる/ルート証明書をアクセスポイント(およびEAP-TLSの場合はデバイス証明書)にプロビジョニングする唯一の方法です。APがPEAPを実行して、サーバ側の検証を無視することはできません。このドキュメントでは、最初にLSCの設定について説明し、次に802.1Xの設定側について説明します。
PKIでセキュリティを強化し、認証局(CA)を制御し、生成された証明書に対してポリシー、制限、および使用法を定義する場合は、LSCを使用します。
LSCを使用すると、コントローラはCAによって発行された証明書を取得します。APはCAサーバと直接通信しませんが、WLCは参加しているAPに代わって証明書を要求します。CAサーバの詳細は、コントローラ上で設定し、アクセス可能である必要があります。
コントローラは、Simple Certificate Enrollment Protocol(SCEP)を使用して、デバイスで生成されたcertReqsをCAに転送し、再度SCEPを使用してCAから署名付き証明書を取得します。
SCEPは、PKIクライアントとCAサーバが証明書の登録と失効をサポートするために使用する証明書管理プロトコルです。これはシスコで広く使用されており、多くのCAサーバでサポートされています。SCEPでは、PKIメッセージのトランスポートプロトコルとしてHTTPが使用されます。SCEP の主な目標は、ネットワーク デバイスへの証明書のセキュアな発行です。
主に設定する項目は、SCEP CAと9800 WLCの2つです。
このドキュメントでは、ラボでのWindows Server SCEP CAの基本的なインストールについて説明します。実際の実稼働グレードのWindows CAは、企業運用に合わせて安全かつ適切に設定する必要があります。このセクションは、ラボでテストし、この設定を機能させるために必要な設定から着想を得ることを目的としています。内容は次のとおりです。
ステップ1:新しいWindows Server 2016デスクトップエクスペリエンスをインストールします。
ステップ2:サーバにスタティックIPアドレスが設定されていることを確認します。
手順3:新しい役割とサービスをインストールし、Active DirectoryドメインサービスとDNSサーバから開始します。
ステップ4:完了したら、「Promote this server to a domain controller(このサーバをドメインコントローラに昇格させる)」のダッシュボードをクリックします。
ステップ5:新しいフォレストを作成し、ドメイン名を選択します。
ステップ6:証明書サービスの役割をサーバに追加します。
ステップ7:設定が完了したら、認証局を設定します。
ステップ8:エンタープライズCAを選択します。
ステップ9:ルートCAにする。Cisco IOS XE 17.6以降、下位CAはLSCでサポートされています。
IIS_IUSRSグループに属するCAに使用するアカウントを持つことが重要です。この例では、Administratorアカウントを使用してActive Directory Users and Computersメニューに移動し、AdministratorユーザをIIS_IUSRSグループに追加します。
ステップ10:適切なIISグループにユーザを追加したら、ロールとサービスを追加します。次に、オンラインレスポンダとNDESサービスを認証局に追加します。
ステップ11:完了したら、それらのサービスを設定します。
ステップ12:サービスアカウントを選択するように求められます。これは、以前にIIS_IUSRSグループに追加したアカウントです。
ステップ13:これはSCEP操作には十分ですが、802.1X認証を実現するには、RADIUSサーバに証明書をインストールする必要もあります。したがって、簡単にWeb登録サービスをインストールして設定し、ISE証明書要求をWindows Serverに簡単にコピーして貼り付けられるようにします。
ステップ 14:SCEPサービスが正常に動作していることを確認するには、http://<serverip>/certsrv/mscep/mscep.dllにアクセスします。
ステップ 15:
デフォルトでは、Windows Serverは、Microsoft SCEP(MSCEP)に登録する前に、動的チャレンジパスワードを使用してクライアントおよびエンドポイントの要求を認証します。これには、管理者アカウントがWeb GUIを参照して要求ごとにオンデマンドパスワードを生成する必要があります(パスワードは要求内に含める必要があります)。コントローラは、サーバに送信する要求にこのパスワードを含めることはできません。この機能を削除するには、NDESサーバのレジストリキーを変更する必要があります。
レジストリエディタを開き、StartメニューでRegeditを検索します。
Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Cryptography > MSCEP > EnforcePasswordの順に移動します。
EnforcePasswordの値を0に変更します。すでに0の場合は、そのままにしておきます。
証明書および証明書に関連付けられたキーは、CAサーバ内のアプリケーションポリシーで定義されたさまざまな目的で、複数のシナリオで使用できます。アプリケーションポリシーは、証明書の拡張キー使用法(EKU)フィールドに保存されます。このフィールドは、オーセンティケータによって解析され、クライアントが目的の目的で使用していることを確認します。適切なアプリケーションポリシーがWLCとAPの証明書に確実に統合されるようにするには、適切な証明書テンプレートを作成し、NDESレジストリにマッピングします。
ステップ 1:Start > Administrative Tools > Certification Authorityの順に移動します。
ステップ 2:CA Serverフォルダツリーを展開し、Certificate Templatesフォルダを右クリックして、Manageを選択します。
ステップ 3:Users証明書テンプレートを右クリックし、コンテキストメニューからDuplicate Templateを選択します。
ステップ 4:Generalタブに移動し、必要に応じてテンプレート名と有効期間を変更し、他のすべてのオプションはオフのままにします。
注意:有効期間を変更する場合は、認証局ルート証明書の有効期間を超えないようにしてください。
ステップ 5:Subject Nameタブに移動し、Supply in the requestが選択されていることを確認します。ポップアップが表示され、ユーザが証明書に署名するために管理者の承認を必要としていないことを示し、OKを選択します。
手順 6:Extensionsタブに移動し、Application Policiesオプションを選択して、Edit...ボタンを選択します。Client AuthenticationがApplication Policiesウィンドウにあることを確認します。そうでない場合は、Addを選択して追加します。
手順 7:Securityタブに移動し、Enable SCEP Services in the Windows Serverのステップ6で定義したサービスアカウントにテンプレートのFull Control権限が付与されていることを確認し、ApplyおよびOKを選択します。
ステップ 8:Certification Authorityウィンドウに戻り、Certificate Templatesフォルダを右クリックして、New > Certificate Template to Issueを選択します。
ステップ 9:以前に作成した証明書テンプレート(この例では9800-LSC)を選択し、OKを選択します。
注:新しく作成された証明書テンプレートは、すべてのサーバ間で複製する必要があるため、複数のサーバの展開にリストされるまでに時間がかかる場合があります。
新しい証明書テンプレートがCertificate Templatesフォルダの内容にリストされます。
ステップ 10:Registry Editorウィンドウに戻り、Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Cryptography > MSCEPの順に移動します。
ステップ 11EncryptionTemplate、GeneralPurposeTemplate、およびSignatureTemplateレジストリを編集して、新しく作成された証明書テンプレートを指すようにします。
ステップ 12NDESサーバをリブートして、Certification Authorityウィンドウに戻り、サーバ名を選択し、StopとPlayボタンを続けて選択します。
WLCでAPのLSCを設定する手順を次に示します。
ステップ1:Configuration > Security > PKI Management > Key Pair Generationの順に移動します。
ステップ 2:Configuration > Security > PKI Management > Trustpointsの順に移動します。
ステップ3:Configuration > Wireless > Access Pointsの順に移動します。下にスクロールして、LSC Provisionを選択します。
必要に応じて残りの詳細を入力します。
LSCを有効にすると、APはWLC経由で証明書をダウンロードし、リブートします。APコンソールセッションで、次のようなスニペットが表示されます。
ステップ4:LSCを有効にすると、LSCトラストポイントと一致するようにワイヤレス管理証明書を変更できます。これにより、APはLSC証明書を使用して加入し、WLCはAP加入にLSC証明書を使用します。APの802.1X認証のみを行う場合、これはオプションの手順です。
これで、LSC GUIの設定の部分は終了です。APは、LSC証明書を使用してWLCに参加できる必要があります。
1.次のコマンドを使用してRSAキーを作成します。
9800-40(config)#crypto key generate rsa general-keys modulus 2048 label AP-SCEP
% You already have RSA keys defined named AP-SCEP.
% They will be replaced
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 0 seconds)
Sep 27 05:08:13.144: %CRYPTO_ENGINE-5-KEY_DELETED: A key named AP-SCEP has been removed from key storage
Sep 27 05:08:13.753: %CRYPTO_ENGINE-5-KEY_ADDITION: A key named AP-SCEP has been generated or imported by crypto-engine
2. PKIトラストポイントを作成し、RSAキーペアをマッピングします。登録URLと残りの詳細を入力します。
9800-40(config)#crypto pki trustpoint Access_Point-MS-CA
9800-40(ca-trustpoint)#enrollment url http://10.106.35.61:80/certsrv/mscep/mscep.dll
9800-40(ca-trustpoint)#subject-name C=IN,L=Bengaluru,ST=KA,O=TAC,CN=TAC-LAB.cisco.local,E=mail@tac-lab.local
9800-40(ca-trustpoint)#rsakeypair AP-SCEP
9800-40(ca-trustpoint)#revocation none
9800-40(ca-trustpoint)#exit
3.コマンドcrypto pki authenticate <trustpoint>を使用して、PKIトラストポイントを認証し、CAサーバに登録します。パスワードプロンプトにパスワードを入力します。
9800-40(config)#crypto pki authenticate Access_Point-MS-CA
Certificate has the following attributes:
Fingerprint MD5: C44D21AA 9B489622 4BF548E1 707F9B3B
Fingerprint SHA1: D2DE6E8C BA665DEB B202ED70 899FDB05 94996ED2
% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
9800-40(config)#crypto pki enroll Access_Point-MS-CA
%
% Start certificate enrollment ..
% Create a challenge password. You will need to verbally provide this
password to the CA Administrator in order to revoke your certificate.
For security reasons your password will not be saved in the configuration.
Please make a note of it.
Password:
Sep 26 01:25:00.880: %PKI-6-CERT_ENROLL_MANUAL: Manual enrollment for trustpoint Access_Point-MS-CA
Re-enter password:
% The subject name in the certificate will include: C=IN,L=Bengaluru,ST=KA,O=TAC,CN=TAC-LAB.cisco.local,E=mail@tac-lab.local
% The subject name in the certificate will include: 9800-40.cisco.com
% Include the router serial number in the subject name? [yes/no]: yes
% The serial number in the certificate will be: TTM244909MX
% Include an IP address in the subject name? [no]: no
Request certificate from CA? [yes/no]: yes
% Certificate request sent to Certificate Authority
% The 'show crypto pki certificate verbose Access_Point-MS-CA' commandwill show the fingerprint.
Sep 26 01:25:15.062: %PKI-6-CSR_FINGERPRINT:
CSR Fingerprint MD5 : B3D551528B97DA5415052474E7880667
CSR Fingerprint SHA1: D426CE9B095E1B856848895DC14F997BA79F9005
CSR Fingerprint SHA2: B8CEE743549E3DD7C8FA816E97F2746AB48EE6311F38F0B8F4D01017D8081525
Sep 26 01:25:15.062: CRYPTO_PKI: Certificate Request Fingerprint MD5 :B3D55152 8B97DA54 15052474 E7880667
Sep 26 01:25:15.062: CRYPTO_PKI: Certificate Request Fingerprint SHA1 :D426CE9B 095E1B85 6848895D C14F997B A79F9005
Sep 26 01:25:15.063: CRYPTO_PKI: Certificate Request Fingerprint SHA2 :B8CEE743 549E3DD7 C8FA816E 97F2746A B48EE631 1F38F0B8 F4D01017 D8081525
Sep 26 01:25:30.239: %PKI-6-CERT_INSTALL: An ID certificate has been installed under
Trustpoint : Access_Point-MS-CA
Issuer-name : cn=sumans-lab-ca,dc=sumans,dc=tac-lab,dc=com
Subject-name : e=mail@tac-lab.local,cn=TAC-LAB.cisco.local,o=TAC,l=Bengaluru,st=KA,c=IN,hostname=9800-40.cisco.com,serialNumber=TTM244909MX
Serial-number: 5C0000001400DD405D77E6FE7F000000000014
End-date : 2024-09-25T06:45:15Z
9800-40(config)#
4. LSC証明書を使用してAP加入を設定します。
9800-40(config)#ap lsc-provision join-attempt 10
9800-40(config)#ap lsc-provision subject-name-parameter country IN state KA city Bengaluru domain TAC-LAB.cisco.local org TAC email-address mail@tac-lab.local
9800-40(config)#ap lsc-provision key-size 2048
9800-40(config)#ap lsc-provision trustpoint Access_Point-MS-CA
9800-40(config)#ap lsc-provision
In Non-WLANCC mode APs will be provisioning with RSA certificates with specified key-size configuration. In WLANCC mode APs will be provisioning with EC certificates with a 384 bit key.
Are you sure you want to continue? (y/n): y
5.ワイヤレス管理トラストポイントを、上記で作成したトラストポイントと一致するように変更します。
9800-40(config)#wireless management trustpoint Access_Point-MS-CA
WLCで次のコマンドを実行して、LSCを確認します。
#show wireless management trustpoint
#show ap lsc-provision summary
#show ap name < AP NAME > config general | be Certificate
APがリロードされたら、AP CLIにログインし、次のコマンドを実行してLSC設定を確認します。
#show crypto | be LSC
#show capwap cli config | in lsc
#show dtls connection
WLCまたはAPアップリンクスイッチポートからEPCキャプチャを取得して、APがCAPWAPトンネルを形成するために使用している証明書を確認できます。DTLSトンネルが正常に構築されたかどうかをPCAPから確認します。
DTLSデバッグをAPおよびWLCで実行すると、証明書の問題を理解できます。
APは、同じLSC証明書を使用して自身を認証するように設定されています。APは802.1Xサプリカントとして機能し、ISEサーバに対してスイッチによって認証されます。ISEサーバはバックエンドでADと通信します。
注:APアップリンクスイッチポートでdot1x認証を有効にすると、認証が通過するまでAPはトラフィックを転送または受信できません。認証に失敗したAPを回復してAPにアクセスするには、APの有線スイッチポートでdot1x authを無効にします。
EAP-TLS認証のワークフローとメッセージ交換
CLIからAPのdot1xを有効にするには、次のコマンドを使用します。これは、特定の参加プロファイルを使用しているAPの有線認証のみを有効にします。
#ap profile ap-auth
#dot1x eap-type eap-tls
#dot1x lsc-ap-auth-state both
#dot1x username ap-wired-user password 0 cisco!123
このスイッチ設定は、ラボでAP有線認証を有効にするために使用されます。設計に基づいて異なる設定を行うことができます。
aaa new-model
dot1x system-auth-control
aaa authentication dot1x default group radius
aaa authorization network default group radius
radius server ISE
address ipv4 10.106.34.170 auth-port 1812 acct-port 1813
key cisco!123
!
interface GigabitEthernet1/0/2
description "AP-UPLINK-PORT-AUTH-ENABLED"
switchport access vlan 101
switchport mode access
authentication host-mode multi-host
authentication order dot1x
authentication priority dot1x
authentication port-control auto
dot1x pae authenticator
end
認証は、(サプリカントとして機能している)APとRADIUSサーバの間で行われます。両方が互いの証明書を信頼する必要があります。APにRADIUSサーバ証明書を信頼させる唯一の方法は、AP証明書を発行したSCEP CAによって発行された証明書をRADIUSサーバで使用させることです。
ISEで、Administration > Certificates > Generate Certificate Signing Requestsの順に選択します
CSRを生成し、フィールドにISEノードの情報を入力します。
生成されたテキストは、エクスポートしたり、テキストとしてコピー&ペーストしたりできます。
Windows CA IPアドレスに移動し、URLに/certsrv/を追加します
Request a certificateをクリックします
Submit a certificate request by using a base-64 ....をクリックします
CSRテキストをテキストボックスに貼り付けます。Webサーバ証明書テンプレートを選択します。
その後、Certificate Signing Requestメニューに戻り、Bind certificateをクリックして、この証明書をISEにインストールできます。その後、Windows Cから取得した証明書をアップロードできます。
コンソールからAPにアクセスし、次のコマンドを実行します。
#show ap authentication status
Ap認証が有効になっていない:
ap authを有効にした後のAPからのコンソールログ:
APが正常に認証されました:
WLCの検証:
認証に成功した後のswitchportインターフェイスのステータス:
次に、認証が成功したことを示すAPコンソールログの例を示します。
[*09/26/2023 07:33:57.5512] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.5513] hostapd:EAP: Status notification: started (param=)
[*09/26/2023 07:33:57.5513] hostapd:EAP: EAP-Request Identity
[*09/26/2023 07:33:57.5633] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.5634] hostapd:EAP: Status notification: accept proposed method (param=TLS)
[*09/26/2023 07:33:57.5673] hostapd:dot1x: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS) selected
[*09/26/2023 07:33:57.5907] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.5977] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.6045] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.6126] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.6137] hostapd:dot1x: CTRL-EVENT-EAP-PEER-CERT depth=1 subject='/DC=com/DC=tac-lab/DC=sumans/CN=sumans-lab-ca' hash=50db86650becf451eae2c31219ea08df9eda102c79b3e62fb6edf6842ee86db6
[*09/26/2023 07:33:57.6145] hostapd:dot1x: CTRL-EVENT-EAP-PEER-CERT depth=0 subject='/C=IN/ST=KA/L=BLR/O=CISCO/OU=TAC/CN=HTTS-ISE.htts-lab.local' hash=12bec6b738741d79a218c098553ff097683fe1a9a76a7996c3f799d0c184ae5e
[*09/26/2023 07:33:57.6151] hostapd:EAP: Status notification: remote certificate verification (param=success)
[*09/26/2023 07:33:57.6539] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.6601] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.6773] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.7812] hostapd:dot1x: RX EAPOL from 40:f0:78:00:a1:02
[*09/26/2023 07:33:57.7812] hostapd:EAP: Status notification: completion (param=success)
[*09/26/2023 07:33:57.7812] hostapd:dot1x: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
[*09/26/2023 07:33:57.7813] hostapd:dot1x: State: ASSOCIATED -> COMPLETED
[*09/26/2023 07:33:57.7813] hostapd:dot1x: CTRL-EVENT-CONNECTED - Connection to 01:80:c2:00:00:03 completed [id=0 id_str=]
APアップリンクでPCAPを取得し、RADIUS認証を確認します。認証に成功した場合のスニペットを次に示します。
認証をキャプチャするISEからのTCPdump collect。
認証中に問題が確認された場合は、APの有線アップリンクとISE側からの同時パケットキャプチャが必要になります。
APのdebugコマンド:
#debug ap authentication packet
改定 | 発行日 | コメント |
---|---|---|
2.0 |
30-Oct-2023 |
Windows CAレジストリ設定とISE証明書に関するセクションを追加 |
1.0 |
22-Oct-2023 |
初版 |