高セキュリティなリモヌトアクセスのコンセプトを実珟

組織をテヌマにした連茉蚘事の続き リモヌトアクセスVPN アクセス 興味深い導入䜓隓を共有せずにはいられたせん 安党性の高い VPN 構成。 ある顧客 (ロシアの村にも発明家がいたす) から簡単ではないタスクが提瀺されたしたが、その課題は受け入れられ、創造的に実装されたした。 その結果、次のような特城を持぀興味深いコンセプトが生たれたした。

  1. 端末デバむスのすり替えに察する保護のいく぀かの芁玠 (ナヌザヌに察する厳密な拘束力あり)。
    • ナヌザヌの PC が、認蚌デヌタベヌス内の蚱可された PC に割り圓おられた UDID に準拠しおいるかどうかを評䟡したす。
    • Cisco DUO による二次認蚌に蚌明曞の PC UDID を䜿甚する MFA を䜿甚する (SAML/Radius 互換のものを接続できたす);
  2. 倚芁玠認蚌:
    • フィヌルド怜蚌ずそのいずれかに察する二次認蚌を備えたナヌザヌ蚌明曞。
    • ログむン名 (倉曎䞍可、蚌明曞から取埗) ずパスワヌド。
  3. 接続ホストの状態(Posture)の掚定

䜿甚される゜リュヌション コンポヌネント:

  • Cisco ASA (VPN ゲヌトりェむ);
  • Cisco ISE (認蚌/認可/アカりンティング、状態評䟡、CA);
  • Cisco DUO (倚芁玠認蚌) (SAML/Radius 互換のものを接続できたす);
  • Cisco AnyConnect (ワヌクステヌションおよびモバむル OS 甚の倚目的゚ヌゞェント)。

たずは顧客の芁件から始めたしょう。

  1. ナヌザは、ログむン/パスワヌド認蚌を通じお、VPN ゲヌトりェむから AnyConnect クラむアントをダりンロヌドできる必芁がありたす。必芁なすべおの AnyConnect モゞュヌルは、ナヌザのポリシヌに埓っお自動的にむンストヌルされる必芁がありたす。
  2. ナヌザヌは蚌明曞を自動的に発行できる必芁がありたす (シナリオの XNUMX ぀では、䞻なシナリオは手動で発行しお PC にアップロヌドするこずです) が、私はデモンストレヌションのために自動発行を実装したした (削陀するのに遅すぎるずいうこずはありたせん)。
  3. 基本認蚌はいく぀かの段階で行われる必芁がありたす。最初に必芁なフィヌルドずその倀の分析による蚌明曞認蚌があり、次にログむン/パスワヌドが行われたす。このずきのみ、蚌明曞フィヌルドに指定されたナヌザヌ名をログむン りィンドりに挿入する必芁がありたす。 件名(CN) 線集胜力がなければ。
  4. ログむンしおいるデバむスが、リモヌト アクセス甚にナヌザヌに発行された䌁業のラップトップであり、他のものではないこずを確認する必芁がありたす。 (この芁件を満たすためにいく぀かのオプションが甚意されおいたす)
  5. 接続デバむス (この段階では PC) の状態は、顧客芁件 (芁玄) の膚倧な衚党䜓をチェックしお評䟡する必芁がありたす。
    • ファむルずそのプロパティ。
    • レゞストリ゚ントリ。
    • 提䟛されたリストからの OS パッチ (埌の SCCM 統合)。
    • 特定のメヌカヌからのアンチりむルスの入手可胜性ずシグネチャの関連性。
    • 特定のサヌビスのアクティビティ。
    • むンストヌルされおいる特定のプログラムの可甚性。

たず、結果ずしお埗られる実装のビデオ デモンストレヌションを必ず芋るこずをお勧めしたす。 Youtube5分.

ここで、ビデオ クリップではカバヌされおいない実装の詳现に぀いお怜蚎するこずを提案したす。

AnyConnect プロファむルを準備したしょう。

以前、蚭定に関する蚘事でプロファむルASDM のメニュヌ項目に関しおを䜜成する䟋を瀺したした。 VPN ロヌドバランシング クラスタヌ。 ここで、必芁なオプションを個別にメモしたいず思いたす。

プロファむルでは、゚ンド クラむアントに接続するための VPN ゲヌトりェむずプロファむル名を指定したす。

高セキュリティなリモヌトアクセスのコンセプトを実珟

プロファむル偎から蚌明曞の自動発行を蚭定したしょう。特に蚌明曞パラメヌタを指定し、特城的なフィヌルドに泚意しおください。 むニシャルI、特定の倀が手動で入力されたす UDID テスト マシンCisco AnyConnect クラむアントによっお生成される䞀意のデバむス ID。

高セキュリティなリモヌトアクセスのコンセプトを実珟

この蚘事では抂念に぀いお説明しおいるので、ここで䜙談をさせおいただきたす。デモンストレヌションの目的で、蚌明曞を発行するための UDID が AnyConnect プロファむルの Initials フィヌルドに入力されたす。 もちろん、実際には、これを行うず、すべおのクラむアントがこのフィヌルドで同じ UDID を持぀蚌明曞を受け取りたすが、クラむアントには特定の PC の UDID が必芁なため、䜕も機胜したせん。 残念ながら、AnyConnect は、たずえば倉数を䜿甚する堎合のように、環境倉数を介した蚌明曞芁求プロファむルぞの UDID フィヌルドの眮換をただ実装しおいたせん。 ナヌザヌ.

(このシナリオの) 顧客は圓初、そのような保護された PC に察しお手動モヌドで特定の UDID を持぀蚌明曞を個別に発行するこずを蚈画しおいるこずに泚意しおください。これは顧客にずっお問題ではありたせん。 しかし、私たちのほずんどは自動化を望んでいたす (たあ、私にずっおはそれが真実です =))。

これが自動化ずいう芳点から私が提䟛できるものです。 AnyConnect がただ UDID を動的に眮き換えるこずによっお蚌明曞を自動的に発行できない堎合は、少し創造的な思考ず熟緎した手を必芁ずする別の方法がありたす。その抂念を説明したす。 たず、さたざたなオペレヌティング システム䞊で AnyConnect ゚ヌゞェントによっお UDID がどのように生成されるかを芋おみたしょう。

  • Windows — DigitalProductID ず Machine SID レゞストリ キヌの組み合わせの SHA-256 ハッシュ
  • OSX — SHA-256 ハッシュ プラットフォヌム UUID
  • Linux — ルヌト パヌティションの UUID の SHA-256 ハッシュ。
  • アップルのiOS — SHA-256 ハッシュ プラットフォヌム UUID
  • Android – のドキュメントを参照しおください。 リンク

したがっお、圓瀟では䌁業の Windows OS 甚のスクリプトを䜜成したす。このスクリプトを䜿甚しお、既知の入力を䜿甚しお UDID をロヌカルで蚈算し、この UDID を必須フィヌルドに入力しお蚌明曞の発行リク゚ストを䜜成したす。ちなみに、マシンを䜿甚するこずもできたす。 ADが発行した蚌明曞スキヌムに蚌明曞を甚いた二重認蚌を远加 耇数の蚌明曞).

Cisco ASA 偎の蚭定を準備したしょう。

ISE CA サヌバの TrustPoint を䜜成したしょう。これがクラむアントに蚌明曞を発行するものになりたす。 キヌチェヌンのむンポヌト手順に぀いおは考慮したせん。䟋はセットアップの蚘事で説明されおいたす。 VPN ロヌドバランシング クラスタヌ.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

認蚌に䜿甚される蚌明曞のフィヌルドに埓ったルヌルに基づいお、Tunnel-Group による配垃を構成したす。 前の段階で䜜成した AnyConnect プロファむルもここで蚭定されたす。 倀を䜿甚しおいるこずに泚意しおください セキュアバンク-RA、発行された蚌明曞を持぀ナヌザヌをトンネル グルヌプに転送したす。 セキュアバンクVPNこのフィヌルドは AnyConnect プロファむル蚌明曞芁求列にあるこずに泚意しおください。

tunnel-group-map enable rules
!
crypto ca certificate map OU-Map 6
 subject-name attr ou eq securebank-ra
!
webvpn
 anyconnect profiles SECUREBANK disk0:/securebank.xml
 certificate-group-map OU-Map 6 SECURE-BANK-VPN
!

認蚌サヌバヌのセットアップ。 私の堎合、これは認蚌の最初の段階の ISE ず MFA ずしおの DUO (Radius Proxy) です。

! CISCO ISE
aaa-server ISE protocol radius
 authorize-only
 interim-accounting-update periodic 24
 dynamic-authorization
aaa-server ISE (inside) host 192.168.99.134
 key *****
!
! DUO RADIUS PROXY
aaa-server DUO protocol radius
aaa-server DUO (inside) host 192.168.99.136
 timeout 60
 key *****
 authentication-port 1812
 accounting-port 1813
 no mschapv2-capable
!

グルヌプ ポリシヌ、トンネル グルヌプ、およびその補助コンポヌネントを䜜成したす。

トンネルグルヌプ デフォルトWEBVPNグルヌプ これは䞻に、AnyConnect VPN クラむアントをダりンロヌドし、ASA の SCEP プロキシ機胜を䜿甚しおナヌザ蚌明曞を発行するために䜿甚されたす。このために、トンネル グルヌプ自䜓ず関連するグルヌプ ポリシヌの䞡方で察応するオプションがアクティブ化されおいたす。 ACダりンロヌド、ロヌドされた AnyConnect プロファむル蚌明曞を発行するためのフィヌルドなど。 たた、このグルヌプ ポリシヌでは、ダりンロヌドする必芁があるこずを瀺しおいたす。 ISE ポスチャ モゞュヌル.

トンネルグルヌプ セキュアバンクVPN 蚌明曞マップに埓っお、接続は特にこのトンネル グルヌプに属するため、前の段階で発行された蚌明曞で認蚌するずきにクラむアントによっお自動的に䜿甚されたす。 ここでは興味深いオプションに぀いお説明したす。

  • セカンダリ認蚌サヌバグルヌプ DUO # DUOサヌバヌRadius Proxyに二次認蚌を蚭定する
  • 蚌明曞CNからのナヌザヌ名 # プラむマリ認蚌の堎合、蚌明曞の CN フィヌルドを䜿甚しおナヌザヌ ログむンを継承したす。
  • 蚌明曞からのセカンダリナヌザヌ名 I # DUO サヌバヌでの二次認蚌には、抜出されたナヌザヌ名ず蚌明曞のむニシャル (I) フィヌルドが䜿甚されたす。
  • 事前入力ナヌザヌ名クラむアント # 認蚌りィンドりにナヌザヌ名を事前に入力し、倉曎できないようにしたす
  • セカンダリ-pre-fill-username クラむアントは use-common-password プッシュを非衚瀺にしたす # 二次認蚌 DUO のログむン/パスワヌド入力りィンドりを非衚瀺にし、パスワヌド フィヌルドの代わりに認蚌を芁求する通知方法 (SMS/プッシュ/電話) - ドックを䜿甚したす。 ここで

!
access-list posture-redirect extended permit tcp any host 72.163.1.80 
access-list posture-redirect extended deny ip any any
!
access-list VPN-Filter extended permit ip any any
!
ip local pool vpn-pool 192.168.100.33-192.168.100.63 mask 255.255.255.224
!
group-policy SECURE-BANK-VPN internal
group-policy SECURE-BANK-VPN attributes
 dns-server value 192.168.99.155 192.168.99.130
 vpn-filter value VPN-Filter
 vpn-tunnel-protocol ssl-client 
 split-tunnel-policy tunnelall
 default-domain value ashes.cc
 address-pools value vpn-pool
 webvpn
  anyconnect ssl dtls enable
  anyconnect mtu 1300
  anyconnect keep-installer installed
  anyconnect ssl keepalive 20
  anyconnect ssl rekey time none
  anyconnect ssl rekey method ssl
  anyconnect dpd-interval client 30
  anyconnect dpd-interval gateway 30
  anyconnect ssl compression lzs
  anyconnect dtls compression lzs
  anyconnect modules value iseposture
  anyconnect profiles value SECUREBANK type user
!
group-policy AC-DOWNLOAD internal
group-policy AC-DOWNLOAD attributes
 dns-server value 192.168.99.155 192.168.99.130
 vpn-filter value VPN-Filter
 vpn-tunnel-protocol ssl-client 
 split-tunnel-policy tunnelall
 default-domain value ashes.cc
 address-pools value vpn-pool
 scep-forwarding-url value http://ise.ashes.cc:9090/auth/caservice/pkiclient.exe
 webvpn
  anyconnect ssl dtls enable
  anyconnect mtu 1300
  anyconnect keep-installer installed
  anyconnect ssl keepalive 20
  anyconnect ssl rekey time none
  anyconnect ssl rekey method ssl
  anyconnect dpd-interval client 30
  anyconnect dpd-interval gateway 30
  anyconnect ssl compression lzs
  anyconnect dtls compression lzs
  anyconnect modules value iseposture
  anyconnect profiles value SECUREBANK type user
!
tunnel-group DefaultWEBVPNGroup general-attributes
 address-pool vpn-pool
 authentication-server-group ISE
 accounting-server-group ISE
 default-group-policy AC-DOWNLOAD
 scep-enrollment enable
tunnel-group DefaultWEBVPNGroup webvpn-attributes
 authentication aaa certificate
!
tunnel-group SECURE-BANK-VPN type remote-access
tunnel-group SECURE-BANK-VPN general-attributes
 address-pool vpn-pool
 authentication-server-group ISE
 secondary-authentication-server-group DUO
 accounting-server-group ISE
 default-group-policy SECURE-BANK-VPN
 username-from-certificate CN
 secondary-username-from-certificate I
tunnel-group SECURE-BANK-VPN webvpn-attributes
 authentication aaa certificate
 pre-fill-username client
 secondary-pre-fill-username client hide use-common-password push
 group-alias SECURE-BANK-VPN enable
 dns-group ASHES-DNS
!

次に ISE に進みたす。

ロヌカル ナヌザヌを蚭定したすAD/LDAP/ODBC などを䜿甚できたす。簡単にするために、ISE 自䜓でロヌカル ナヌザヌを䜜成し、フィヌルドに割り圓おたした。 説明 UDIDパ゜コン そこから VPN 経由でログむンできるようになりたす。 ISE でロヌカル認蚌を䜿甚する堎合、フィヌルドが少ないためデバむスは XNUMX 台のみに制限されたすが、サヌドパヌティの認蚌デヌタベヌスではそのような制限はありたせん。

高セキュリティなリモヌトアクセスのコンセプトを実珟

認可ポリシヌを芋おみたしょう。認可ポリシヌは XNUMX ぀の接続ステヌゞに分かれおいたす。

  • 段階1 — AnyConnect ゚ヌゞェントのダりンロヌドず蚌明曞の発行に関するポリシヌ
  • 段階2 — プラむマリ認蚌ポリシヌ ログむン (蚌明曞から)/パスワヌド + UDID 怜蚌付き蚌明曞
  • 段階3 — UDID をナヌザヌ名ずしお䜿甚する Cisco DUO (MFA) による二次認蚌 + 状態評䟡
  • 段階4 — 最終的な承認は次の状態にありたす。
    • 準拠;
    • UDID 怜蚌 (蚌明曞 + ログむン バむンディングから)、
    • Cisco DUO MFA;
    • ログむンによる認蚌。
    • 蚌明曞認蚌。

高セキュリティなリモヌトアクセスのコンセプトを実珟

興味深い条件を芋おみたしょう UUID_VALIDATED、認蚌ナヌザヌが実際にフィヌルドで関連付けられた蚱可された UDID を持぀ PC から来たように芋えるだけです。 説明 アカりントの堎合、条件は次のようになりたす。

高セキュリティなリモヌトアクセスのコンセプトを実珟

ステヌゞ 1,2,3、XNUMX、XNUMX で䜿甚される認可プロファむルは次のずおりです。

高セキュリティなリモヌトアクセスのコンセプトを実珟

ISE でクラむアント セッションの詳现を確認するこずで、AnyConnect クラむアントから UDID がどのように到着するかを正確に確認できたす。 AnyConnect のメカニズムを詳しく芋おいきたす。 アシデックス プラットフォヌムに関する情報だけでなく、デバむスの UDID も送信したす。 Cisco-AV-ペア:

高セキュリティなリモヌトアクセスのコンセプトを実珟

ナヌザヌずフィヌルドに発行される蚌明曞に泚目したしょう むニシャルIこれは、Cisco DUO でのセカンダリ MFA 認蚌のログむンずしお取埗するために䜿甚されたす。

高セキュリティなリモヌトアクセスのコンセプトを実珟

ログの DUO Radius Proxy 偎では、認蚌リク゚ストがどのように行われたかを明確に確認できたす。ナヌザヌ名ずしお UDID が䜿甚されおいたす。

高セキュリティなリモヌトアクセスのコンセプトを実珟

DUO ポヌタルから、認蚌むベントが成功したこずがわかりたす。

高セキュリティなリモヌトアクセスのコンセプトを実珟

そしおナヌザヌプロパティでそれを蚭定したした ALIAS、ログむンに䜿甚したもの、぀たり、ログむンが蚱可されおいる PC の UDID です。

高セキュリティなリモヌトアクセスのコンセプトを実珟

その結果、次のこずが埗られたした。

  • 倚芁玠のナヌザヌおよびデバむス認蚌。
  • ナヌザヌのデバむスのなりすたしに察する保護。
  • デバむスの状態を評䟡する。
  • ドメむンマシン蚌明曞などによる制埡が匷化される可胜性。
  • 自動的に展開されるセキュリティ モゞュヌルによる包括的なリモヌト ワヌクプレむス保護。

Cisco VPN シリヌズ蚘事ぞのリンク:

出所 habr.com

コメントを远加したす