Informational
Informational
日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。
概要
Cisco適応型セキュリティアプライアンス(ASA)ソフトウェアおよびCisco Firepower Threat Defense(FTD)ソフトウェアは、リモートアクセスVPN展開での証明書認証用に設定できます。
外部の研究者が、誤って設定された複数のCisco ASAおよびFTDソフトウェアリモートアクセスデバイスを特定しました。このデバイスでは、VPNエンドポイントが同じパブリックCAから発行されたサーバID証明書を持つように設定されている場合、パブリック認証局(CA)からの有効な証明書を持つユーザにVPNリモートアクセスを許可する可能性があります。
シスコでは、Cisco ASAおよびFTDソフトウェアがインポートされた証明書のトラストポイントにデフォルト設定を適用する方法、およびトラストポイントが目的の機能に対してのみ設定されていることを確認する方法に関して、お客様の関心を高めたいと考えています。
シスコでは、これはCisco ASAまたはFTDソフトウェアの脆弱性やデジタル証明書認証機能ではなく、設定の問題であると考えています。
Cisco Adaptive Security Device Manager(ASDM)、Cisco Security Manager、およびCisco Firepower Management Center(FMC)を含むCisco ASAおよびFTDソフトウェアの今後のリリースでは、証明書をインポートする際に警告アラートが生成され、お客様にデフォルトの動作を通知し、Cisco Bug ID CSCvt50528、CSCvv11100、およびCSCvv11051による設定の強化方法のガイダンスを提供します。
ただし、適切な強化処理を実行するために、これらのCisco Bug IDと統合されたコードを実行することは要件ではありません。このアドバイザリを確認し、それぞれの設定変更を行うことをお勧めします。
詳細
新しい証明書が設定にインポートされると、トラストポイントの使用に関するデフォルト設定はipsec-clientとssl-clientの検証用になります。そのため、デフォルトでは、そのトラストポイントを使用してVPNユーザを認証できます。トラストポイントがサーバID証明書としてのみ使用され、対応する認証局(CA)信頼をVPN検証に使用してはならない場合、ASA/FTD管理者はvalidation-usageコマンドを使用して、そのようなデバイスを設定する必要があります。
設定を変更せずに、他の認証および許可方式を使用せずにクライアント証明書認証を使用する場合、ASA/FTDデバイスのID証明書と同じ認証局から発行された任意のユーザID証明書を使用して認証できる可能性があります。追加の認証と許可を使用するインストールでは、ネットワークへのアクセスを許可する前に追加の手順を渡すことを妨げるか、または要求します。
推奨事項
識別子
すべてのトラストポイント設定を見直して、目的に合わせて設定されていることを確認する必要がありますが、主なリスクは次のものを使用する場合です。
- リモートアクセスVPNエンドポイントとしてのASA/FTDデバイス。
- 認証局Aによって証明書が発行されるクライアント証明書認証。
- 認証局Bによって発行されたASA/FTDデバイスのIDの証明書。
この目的は、ASA/FTD VPNエンドポイントの管理者が、認証局Aによって発行されたクライアント証明書のみを考慮することです。たとえば、クライアントが発行した証明書は企業のプライベートCA(CA A)から発行され、ASA/FTDのID証明書はパブリックCA(CA B)から発行された可能性があります。
Cisco ASAまたはFTDデバイスがこのアドバイザリに記載された問題の影響を受けるかどうかを確認するには、次のプロセスを使用します。
1)デバイスがリモートアクセスVPNを許可するように設定されているかどうかを確認します。
Cisco ASA 機能 | 識別設定 |
---|---|
AnyConnect IKEv2 Remote Access(クライアント サービス有効時) | crypto ikev2 enable <interface_name> client-services port <port #> |
AnyConnect SSL VPN | webvpn enable <interface_name> |
クライアントレス SSL VPN | webvpn enable <interface_name> |
または、FMCでDevices -> VPN -> Remote Accessの順に選択し、プロファイルが存在するかどうかを確認します。
有効になっている場合は、次の手順に進みます。
2)クライアント証明書認証を使用しているかどうかを確認します。
管理者は、ASA CLIまたはFTD CLIからshow running-config all tunnel-groupコマンドを使用して、いずれかの接続プロファイルが証明書を含む認証方法を使用しているかどうかを確認できます。認証、許可、アカウンティング(AAA)またはSecurity Assertion Markup Language(SAML)2.0のいずれかの方式だけを使用している場合、デバイスは影響を受けません。次に、AAAとクライアント証明書認証の両方を使用しているASAデバイスでのコマンドの出力例を示します。
ciscoasa# show running-config all tunnel-group authentication aaa certificate .
または、FMCでDevices -> VPN -> Remote Accessの順に選択し、Remote Accessプロファイル名をクリックします。異なる接続プロファイルの場合は、AAA列を調べます。AuthenticationフィールドのいずれかにClient Certificate OnlyまたはClient Certificate & AAAと表示されている場合は、クライアント証明書が使用されています。次の手順に進みます。
注:別の認証方式が設定されている場合でも、認証を渡してネットワークへのアクセス権を付与するには、それらの認証方式を満たす必要があります。
3)管理者が制御しない認証局によって発行されたASA/FTDのIDに証明書を使用するかどうかを判断します。
管理者はまず、show running-config ssl | include trust-pointコマンドを使用して、リモートアクセスVPN対応インターフェイスで使用されているデバイスのID証明書を識別します。
ciscoasa# show running-config ssl | include trust-point ssl trust-point IDENTITY outside
前の例では、outsideという名前のインターフェイスが、IDENTITYという名前のトラストポイント内に設定されたID証明書に関連付けられています。
管理者は、このトラストポイントに含まれている証明書を表示し、CA証明書のサブジェクト名を具体的に確認して、この証明書がパブリックCAによって発行されたかどうかを識別できます。
ciscoftd# show crypto ca certificate IDENTITY Certificate . . Issuer Name:
l=Sydney
c=AU
o=GoDaddy.com\, Inc.
ou=http://certs.godaddy.com/repository/ cn=Go Daddy Secure Certificate Authority - G2
Subject Name:
.
.
cn=FPR2100-FTD
Validity Date:
start date: 07:16:53 UTC Jul 26 2020
end date: 07:16:53 UTC Jul 26 2021
Storage: config
Associated Trustpoints: FPR2100-FTD.cisco.com
または、FMCでDevices -> VPN -> Remote Accessの順に選択し、Remote Accessプロファイル名をクリックします。Access Interfacesをクリックします。これにより、リモートアクセスVPNインターフェイスのSSLグローバルID証明書フィールドに表示されるID証明書が表示されます。
修復方法
新しい証明書が設定にインポートされると、トラストポイントの使用に関するデフォルト設定はipsec-clientとssl-clientの検証用になります。そのため、デフォルトでは、そのトラストポイントを使用してVPNユーザを認証できます。管理者は、すべてのトラストポイントの使用設定を確認する必要があります。トラストポイントがサーバ認証用の証明書を保持している場合、そのトラストポイントはvalidation-usage ssl-server設定コマンドで設定する必要があります。クライアント認証に明示的に使用されていないトラストポイントには、次の手順に従ってno validation-usage設定を適用する必要があります。
ASAの場合、管理者はデバイスにログインし、validation-usageコマンドを使用してトラストポイントを再設定できます。
crypto ca trustpoint <name of identity trustpoint>
no validation-usage
FMCで管理されるFTDの場合、管理者はFlexConfigを使用できます。次の手順を実行します。
1. show running-config all crypto ca trustpoint FTD CLIコマンドを使用して、再設定が必要なトラストポイントの設定を検証し、validation-usageがipsec-client ssl-clientに設定されていることを確認します。
2. FMCで、Objects -> Object Management -> FlexConfig -> FlexConfig Objectの順に移動し、NameフィールドとDescriptionフィールドに入力します。次の例に示すように、コマンドを使用してテキストボックスに入力します。TrustPointNameを変数として定義することも、変更するTrustPointNameの名前を入力することもできます。
Name: NoValidationUsage
Description: no validation-usage ipsec-client ssl-client
Text Box:
crypto ca trustpoint TrustPointName
no validation-usage
3. Devices -> FlexConfigの順に選択して、該当するデバイスにFlexConfigを適用します。
4. New Policyをクリックし、名前を作成して、ポリシーを割り当てるデバイスを選択します。次の画面でAdd FlexConfig Objectを選択し、前の手順で作成したオブジェクト(この例ではNoValidationUsage)をクリックします。
5. FlexConfigを保存します。
6. FlexConfigを導入します。
7.デバイスにログインしてshow running-config all crypto ca trustpoint FTD CLIコマンドを発行し、設定が正常に行われたことを確認します。パブリックトラストポイントでは、no validation-usageと表示される必要があります。
クライアント証明書がID証明書とは異なるCAから発行された場合でも、そのトラストポイントには、設計上の使用方法に応じて、validation-usage ipsec-client ssl-clientまたはvalidation-usage ssl-clientのいずれかをデフォルト設定にする必要があります。
Firepower Device Management(FDM)で管理されるFTDについては、現在、FlexConfigでトラストポイントの設定を変更する方法はありません。トラストポイントを再設定する機能をサポートする新しいバージョンがリリースされます。
不正利用事例と公式発表
Cisco Product Security Incident Response Team(PSIRT)は、本アドバイザリに記載されている脆弱性の不正利用事例やその公表を確認していません。
出典
この問題を報告していただいたCenturyLink社のMike Guy氏に感謝いたします。
URL
改訂履歴
バージョン | 説明 | セクション | ステータス | 日付 |
---|---|---|---|---|
1.1 | 外部電子メール通知の再発行 | — | Final | 2020年7月31日 |
1.0 | 初回公開リリース | — | Final | 2020年7月31日 |
利用規約
本アドバイザリは無保証のものとしてご提供しており、いかなる種類の保証も示唆するものではありません。 本アドバイザリの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。 また、シスコは本ドキュメントの内容を予告なしに変更したり、更新したりする権利を有します。
本アドバイザリの記述内容に関して情報配信の URL を省略し、単独の転載や意訳を施した場合、当社が管理した情報とは見なされません。そうした情報は、事実誤認を引き起こしたり、重要な情報が欠落していたりする可能性があります。 このドキュメントの情報は、シスコ製品のエンドユーザを対象としています。