ASA5525-X + MS CA Windows Server 2012R2-二要素認証

PCI DSS規格に準拠するための認証に合格するには 2要素認証が必要でした。 シスコのソリューションをファイアウォールとして使用するため、それを使用することにしました...複雑なことはないように思われます-すべてが長い間研究されており、複数回設定されており、必要な指示、たとえば以下を簡単に見つけることができます:
テストラボガイド:Active Directory証明書サービスの公開キー基盤の2レベル階層を展開する

CISCO:デジタル証明書の設定

半径と2要素認証用の証明書を備えたCisco ASA(Microsoft CAを使用)

しかし、同様の「普遍的な」指示で通常そうであるように-それらは微妙な点を考慮せず、これは展開するときにほとんどの時間を占有します。 これらの瞬間についてお伝えしたいだけです。 これで時間を大幅に節約できることを願っています!

最初の不快な瞬間は、オフラインルートCAが下位発行CAの証明書を1年間発行したことです(!)
CAPolicy.inf:
[Version] Signature="$Windows NT$" [PolicyStatementExtension] Policies=InternalPolicy [InternalPolicy] OID= 1.2.3.4.1455.67.89.5 Notice="Legal Policy Statement" URL=http://www.contoso.com/pki/cps.txt [Certsrv_Server] RenewalKeyLength=2048 RenewalValidityPeriod=Years RenewalValidityPeriodUnits=20 CRLPeriod=weeks CRLPeriodUnits=26 CRLDeltaPeriod=Days CRLDeltaPeriodUnits=0 LoadDefaultTemplates=0 AlternateSignatureAlgorithm=1 

したがって、証明書の有効期間を慎重に確認し、1年間発行された場合は、すぐに変更してください。 次のように変更できます。
[スタート]ボタンをクリックし、[実行]を選択します。
[ 名前]ボックスに「 regedit」入力し、 [OK]をクリックします。
次のレジストリキーを見つけて強調表示します。
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ CertSvc \ Configuration \ <ccname>
右側のペインで、 ValidityPeriodをダブルクリックします。
値フィールドに次のいずれかを入力し、[OK]をクリックします。
日数
週間
月の
年数

右側のペインで、 ValidityPeriodUnitsをダブルクリックします。
値フィールドに必要な数値を入力し、[OK]をクリックします。 たとえば、2と入力します。
証明書サービスを停止して再起動します。 これを行うには:
[スタート]ボタンをクリックし、[実行]を選択します。
[名前]ボックスに「cmd」と入力し、[OK]をクリックします。
コマンドプロンプトで、次のコマンドを入力します。 各行の後にEnterキーを押します。
 certsvc net stop net start certsvc 

exitと入力して、コマンドラインを終了します。


そして重大な間違いは、Microsoftからの警告を無視することでした。

注意注意
Windows XPおよびWindows Server 2003を実行している証明書クライアントは、代替の署名アルゴリズムをサポートしていません。 このようなクライアントが証明書を申請できるように、AlternateSignatureAlgorithm = 1行をCAPolicy.infファイルに追加しないでください。 詳細については、代替署名形式の使用に関する推奨事項を参照してください。

したがって、 AlternateSignatureAlgorithm = 1行をCAPolicy.infから削除します。そうしないと、ASAに証明書をインストールする際に問題が発生します。MicrosoftCA RSASSA-PSS Algorithm Issue with ASA
レジストリ内のパラメーターを変更することで解決します。
Windowsレジストリエディターバージョン5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ CertSvc \ Configuration \%Your_CA_Name%\ CSP]
「ProviderType」= dword:00000000
「プロバイダー」=「Microsoftソフトウェアキーストレージプロバイダー」
「HashAlgorithm」= dword:00008004
"CNGPublicKeyAlgorithm" = "RSA"
「CNGHashAlgorithm」=「SHA1」
"AlternateSignatureAlgorithm" = dword:00000001
"MachineKeyset" = dword:00000001

すべての証明書を再発行します。

そして最後に、3番目のポイントは、ASAでのSSLパラメーターの設定、つまりTLS V1とrespに関連していました。 暗号(バージョンとアルゴリズム)。 PKIインフラストラクチャの展開時に、 asa911-smp-k8ファームウェアをインストールしたため、正常に構成できませんでした。 彼らはasa941-smp-k8にアップグレードすることを決めましたが、ここでも設定の更新手順を注意深く読みませんでした。 ここにそのような奇妙なエラーがありました:

画像

-これは、ファームウェアファイルを鉄片にダウンロードしようとしたときです。 ただし、最初にファームウェアバージョンasa912-smp-k8をインストールするだけで済みました。

この知識と経験が誰かに役立つことを願っています。 頑張って

コメントで正しく指摘されているPS-私は二要素認証を完全に忘れ、証明書について書き、 Active Directoryを忘れました。 ASDMを使用して設定プロセスを開始するために、修正を試みます。
画像
設定->デバイス管理->ユーザー/ AAA-> AAAサーバーグループに移動して、新しいグループ(名前とプロトコル)を作成します。 LDAPプロトコルの設定を写真に表示し、構成とRADIUSにも表示します(だれがより便利に使用できますか)。 次に、作成したグループにサーバーを追加します。
1. DNS名またはIPサーバーを指定します。 Microsoftサーバーの種類
2.ベースDN-例では、 DC =ドメイン、DC = ruとする
3. ADオブジェクトから生成されるユーザー属性-sAMAccountName
4. ADのオブジェクトを参照または検索するアクセス権を持つユーザーの識別名(属性エディターで追加コンポーネントの表示を有効にすることで、「Active Directory-ユーザーとコンピューター」コンソールから取得できます)
5.グループを検索するOUへのパス
項目LDAP属性マップに注意してください-構成する必要がある重要な詳細!
画像
ldap属性マップAD
マップ名memberOf IETF-Radius-Class

そして最後に、CAをすでに構成している場合、必要なすべての証明書がインストールされ、AAAサーバーへの接続が確認され、AnyConnect \ WebVPNが構成され、2要素認証を有効にできます。
画像

構成の約束された部分
ASAバージョン9.4(1)

ドメイン名domain.ru

ldap属性マップAD
マップ名memberOf IETF-Radius-Class
aaa-server domain.RUプロトコルldap
aaa-server domain.RU(VLAN100)ホスト10.0.0.101
ldap-base-dn DC =ドメイン、DC = ru
ldap-group-base-dn OU = GROUPS、OU = domainNOLOGIES、DC =ドメイン、DC = en
ldap-scopeサブツリー
ldap-naming-attribute sAMAccountName
ldap-login-password *****
ldap-login-dn CN = s-connect_asa-LDAP、OU = system_accounts、OU = BRANCH、DC =ドメイン、DC = en
サーバータイプマイクロソフト
ldap-attribute-map AD
aaa-server domain_NPSプロトコル半径
aaa-server domain_NPS(VLAN100)ホスト10.0.0.101
キー*****
ユーザーIDを有効にしない
ユーザーIDドメインドメインAAAサーバードメイン。RU
ユーザーIDデフォルトドメインドメイン
ユーザーIDアクションドメインコントローラーダウンドメインdisable-user-identity-rule
aaa認証はコンソールdomain_NPS LOCALを有効にします
aaa認証httpコンソールdomain_NPS LOCAL
aaa認証シリアルコンソールローカル
AAA認証sshコンソールdomain_NPS LOCAL
aaa認証telnetコンソールローカル
aaa許可コマンドLOCAL
aaa authorization exec authentication-server auto-enable


webvpn
ISP1を有効にする
anyconnect image disk0:/AnyConnect/anyconnect-linux-3.1.07021-k9.pkg 1正規表現「Linux」
anyconnect image disk0:/AnyConnect/anyconnect-linux-64-4.1.00028-k9.pkg 2正規表現「Linux」
anyconnect image disk0:/AnyConnect/anyconnect-macosx-i386-4.1.00028-k9.pkg 3正規表現「In​​tel Mac OS X」
anyconnect image disk0:/AnyConnect/anyconnect-win-4.1.00028-k9.pkg 4正規表現「Windows NT」
anyconnectプロファイルdomain_AnyVPN disk0:/domain_anyvpn.xml
anyconnectプロファイルdomain_VPN_Users disk0:/domain_vpn_users.xml
anyconnect enable
トンネルグループリストイネーブル
証明書グループマップDefaultCertificateMap 10 domain_AnyVPN
エラー回復無効化
グループポリシーDfltGrpPolicyの属性
デフォルトドメイン値domain.ru
グループポリシーGroupPolicy_domain_AnyVPN内部
グループポリシーGroupPolicy_domain_AnyVPN属性
wins-server none
dns-server値10.0.0.101
vpn-tunnel-protocol ikev2 ssl-client ssl-clientless
デフォルトドメイン値domain.ru
webvpn
anyconnect mtu 1406
anyconnect sslキープアライブ20
anyconnectプロファイル値domain_AnyVPNタイプのユーザー
always-on-vpnプロファイル設定
グループポリシーGroupPolicy_VPN_USERS内部
グループポリシーGroupPolicy_VPN_USERS属性
dns-server値10.0.0.101
vpn-tunnel-protocol ikev2 ssl-client
デフォルトドメイン値domain.ru
アドレスプール値VPN_Users
webvpn
anyconnectプロファイル値domain_VPNv_Usersタイプユーザー
カスタマイズ値DfltCustomization
トンネルグループdomain_AnyVPNタイプリモートアクセス
トンネルグループdomain_AnyVPN一般属性
アドレスプールVPN_Admins
認証サーバーグループdomain.RU
デフォルトグループポリシーGroupPolicy_domain_AnyVPN
トンネルグループdomain_AnyVPN webvpn-attributes
認証AAA証明書
radius-reject-message
group-alias domain_ADMINS enable
group-alias domain_AnyVPN disable
トンネルグループdomain_USERSタイプリモートアクセス
トンネルグループdomain_USERS一般属性
アドレスプールVPN_Users
認証サーバーグループdomain.RU
デフォルトグループポリシーGroupPolicy_VPN_USERS
トンネルグループdomain_USERS webvpn属性
group-alias Users_Access enable

Source: https://habr.com/ru/post/J256139/


All Articles