Continuing the series of articles on organizing Remote-Access VPN access, I cannot but share the interesting experience of deploying a highly secure VPN configuration . A non-trivial task was thrown by one customer (there are inventors in Russian villages), but Challenge Accepted and creatively implemented. The result is an interesting concept with the following characteristics:
- Several protection factors against substitution of the terminal device (with tight binding to the user);
- Conformity assessment of the user's PC to the designated UDID of the authorized PC in the authentication database;
- With an MFA using the UDID of the PC from the certificate for secondary authentication through Cisco DUO (You can screw any SAML / Radius compatible) ;
- Multi-factor authentication:
- User certificate with field verification and secondary authentication for one of them;
- Login (immutable, taken from the certificate) and password;
- Assessing the status of the connecting host (Posture)
Used components of the solution:
- Cisco ASA (VPN Gateway);
- Cisco ISE (Authentication / Authorization / Accounting, Status Assessment, CA);
- Cisco DUO (Multifactor Authentication) (You can screw any SAML / Radius compatible) ;
- Cisco AnyConnect (Multipurpose Agent for Workstations and Mobile OS);
Let's start with customer requirements:
- The user must authenticate with the Login / Password to be able to download the AnyConnect client from the VPN gateway, all necessary AnyConnect modules should be automatically installed in accordance with the user policy;
- ( , – ), ( ).
- , , /, , Subject Name (CN) .
- , , , - . ( )
- ( ) ():
- 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: