Mise en œuvre du concept d'accès à distance hautement sécurisé

Poursuivant la série d'articles sur l'organisation de l'accès VPN à distance, je ne peux que partager l'expérience intéressante du déploiement d'une configuration VPN hautement sécurisée . Une tâche non triviale a été lancée par un client (il y a des inventeurs dans les villages russes), mais le défi a été accepté et mis en œuvre de manière créative. Le résultat est un concept intéressant avec les caractéristiques suivantes:


  1. Plusieurs facteurs de protection contre la substitution du terminal (avec une liaison étroite à l'utilisateur);
    • Évaluation de la conformité du PC de l'utilisateur à l'UDID désigné du PC autorisé dans la base de données d'authentification;
    • Avec un MFA utilisant l'UDID du PC à partir du certificat pour l'authentification secondaire via Cisco DUO (Vous pouvez visser n'importe quel compatible SAML / Radius) ;
  2. Authentification multifacteur:
    • Certificat d'utilisateur avec vérification sur le terrain et authentification secondaire pour l'un d'eux;
    • Login (immuable, extrait du certificat) et mot de passe;
  3. Évaluation du statut de l'hôte qui se connecte (Posture)

Composants utilisés de la solution:


  • Cisco ASA (passerelle VPN);
  • Cisco ISE (authentification / autorisation / comptabilité, évaluation de l'état, CA);
  • Cisco DUO (authentification multifacteur) (vous pouvez visser n'importe quel compatible SAML / Radius) ;
  • Cisco AnyConnect (agent polyvalent pour postes de travail et OS mobile);

Commençons par les exigences des clients:


  1. L'utilisateur doit s'authentifier avec le login / mot de passe pour pouvoir télécharger le client AnyConnect à partir de la passerelle VPN, tous les modules AnyConnect nécessaires doivent être installés automatiquement conformément à la politique de l'utilisateur;
  2. ( , – ), ( ).
  3. , , /, , Subject Name (CN) .
  4. , , , - . ( )
  5. ( ) ():
    • ;
    • ;
    • ( SCCM);
    • ;
    • ;
    • ;

- Youtube (5 ).



-.


AnyConnect:


( ASDM) VPN Load-Balancing . , :


VPN :



, , , , Initials (I), UDID ( , Cisco AnyConnect ).



, , UDID Initials AnyConnect. , UDID , UDID . AnyConnect UDID , %USER%.


( ) UDID , - . ( =) ).


. Anyonnect UDID , , – . , UDID AnyConnect:


  • Windows — SHA-256 DigitalProductID Machine SID
  • OSX — SHA-256 PlatformUUID
  • Linux — SHA-256 UUID root .
  • Apple iOS — SHA-256 PlatformUUID
  • Android

Windows, UDID UDID, , AD ( Multiple Certificate).


Cisco ASA:


TrustPoint ISE CA , . Key-Chain , VPN Load-Balancing .


crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Tunnel-Group , . AnyConnect, . SECUREBANK-RA, SECURE-BANK-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 DUO (Radius Proxy) MFA.


! 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
!

:


DefaultWEBVPNGroup AnyConnect VPN SCEP-Proxy ASA, , AC-Download, AnyConnect ( ..). ISE Posture Module.


SECURE-BANK-VPN , Certificate Map, . :


  • secondary-authentication-server-group DUO # DUO (Radius Proxy)
  • username-from-certificate CN # CN
  • secondary-username-from-certificate I # DUO , Initials (I) .
  • pre-fill-username client #
  • secondary-pre-fill-username client hide use-common-password push # / DUO (sms/push/phone) –

!
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 description UDID VPN. ISE , , .



, :


  • 1 — AnyConnect
  • 2 — ( )/ + UDID
  • 3 — Cisco DUO (MFA) UDID +
  • 4 — :
    • Compliant;
    • UDID ( + ),
    • Cisco DUO MFA;
    • ;
    • ;


UUID_VALIDATED, UDID Description , :



, 1,2,3 :



UDID AnyConnect ISE . , AnyConnect ACIDEX , UDID Cisco-AV-PAIR:



Initials (I), MFA Cisco DUO:



DUO Radius Proxy , UDID :



DUO :



ALIAS, , UDID :



:


  • ;
  • ;
  • ;
  • ..;
  • ;

Cisco VPN:



All Articles