Terusake seri artikel babagan topik organisasi VPN Akses Remote akses Aku ora bisa bantuan nanging nuduhake pengalaman penyebaran prajurit menarik konfigurasi VPN sing aman banget. Tugas sing ora pati penting diwenehake dening siji pelanggan (ana panemu ing desa Rusia), nanging Tantangan kasebut ditampa lan ditindakake kanthi kreatif. Asil punika konsep menarik karo ciri ing ngisor iki:
Sawetara faktor pangayoman marang substitusi piranti terminal (kanthi ikatan sing ketat kanggo pangguna);
Netepake kepatuhan PC pangguna karo UDID sing ditugasake saka PC sing diidini ing database otentikasi;
Kanthi MFA nggunakake PC UDID saka certificate kanggo otentikasi secondary liwat Cisco DUO (Sampeyan bisa masang SAML/Radius sing kompatibel);
Otentikasi multi-faktor:
Sertifikat pangguna kanthi verifikasi lapangan lan otentikasi sekunder marang salah sijine;
Login (ora bisa diganti, dijupuk saka sertifikat) lan sandhi;
Ngira-ngira kahanan host sing nyambungake (Postur)
Komponen solusi sing digunakake:
Cisco ASA (VPN Gateway);
Cisco ISE (Otentikasi / Wewenang / Akuntansi, Evaluasi Negara, CA);
Cisco DUO (Multi-Factor Authentication) (Sampeyan bisa masang SAML/Radius sing kompatibel);
Cisco AnyConnect (Agen multi-tujuan kanggo workstation lan OS seluler);
Ayo dadi miwiti karo syarat pelanggan:
Pangguna kudu, liwat otentikasi Login/Sandhi, bisa ndownload klien AnyConnect saka gateway VPN; kabeh modul AnyConnect sing perlu kudu diinstal kanthi otomatis sesuai karo kabijakan pangguna;
Pangguna kudu bisa ngetokake sertifikat kanthi otomatis (kanggo salah sawijining skenario, skenario utama yaiku penerbitan manual lan upload ing PC), nanging aku nindakake masalah otomatis kanggo demonstrasi (ora kasep kanggo mbusak).
Otentikasi dhasar kudu ditindakake ing pirang-pirang tahapan, pisanan ana otentikasi sertifikat kanthi analisa lapangan sing dibutuhake lan nilai-nilai kasebut, banjur mlebu / sandhi, mung wektu iki jeneng pangguna sing ditemtokake ing kolom sertifikat kudu dilebokake ing jendela login. Jeneng subyek (CN) tanpa kemampuan kanggo nyunting.
Sampeyan kudu nggawe manawa piranti saka ngendi sampeyan mlebu iku laptop perusahaan ditanggepi kanggo pangguna kanggo akses remot, lan ora mergo. (Sawetara opsi wis digawe kanggo nyukupi syarat iki)
Kahanan piranti sing nyambungake (ing tahap iki PC) kudu ditaksir kanthi mriksa kabeh tabel syarat pelanggan (ngringkes):
File lan sifate;
entri Registry;
OS patch saka dhaptar sing kasedhiya (mengko integrasi SCCM);
Kasedhiyan Anti-Virus saka pabrikan tartamtu lan relevansi teken;
Aktivitas layanan tartamtu;
Kasedhiyan program tartamtu sing diinstal;
Kanggo miwiti karo, Aku suggest sing temtunipun katon ing demo video saka asil implementasine ing Youtube (5 menit).
Saiki aku ngusulake nimbang rincian implementasine sing ora ana ing klip video.
Ayo nyiyapake profil AnyConnect:
Aku sadurunge menehi conto nggawe profil (ing syarat-syarat item menu ing ASDM) ing artikel ing setelan Kluster Load-Balancing VPN. Saiki aku pengin nyathet kanthi kapisah pilihan sing dibutuhake:
Ing profil, kita bakal nuduhake gateway VPN lan jeneng profil kanggo nyambungake menyang klien pungkasan:
Ayo konfigurasi penerbitan sertifikat otomatis saka sisih profil, nuduhake, utamane, paramèter sertifikat lan, kanthi karakteristik, mbayar manungsa waé menyang lapangan. Inisial (I), ing ngendi nilai tartamtu dilebokake kanthi manual UID mesin test (Identifier piranti unik sing digawe dening klien Cisco AnyConnect).
Ing kene aku pengin nggawe digression lirik, amarga artikel iki nggambarake konsep kasebut; kanggo tujuan demonstrasi, UDID kanggo nerbitake sertifikat dilebokake ing kolom Inisial ing profil AnyConnect. Mesthine, ing urip nyata, yen sampeyan nindakake iki, kabeh klien bakal nampa sertifikat kanthi UDID sing padha ing lapangan iki lan ora ana sing bisa digunakake, amarga butuh UDID saka PC tartamtu. AnyConnect, sayangé, durung ngleksanakake substitusi lapangan UDID menyang profil panjalukan sertifikat liwat variabel lingkungan, kayata, contone, karo variabel %USER%.
Wigati dicathet menawa pelanggan (skenario iki) wiwitane ngrancang ngetokake sertifikat kanthi UDID sing diwenehake ing mode manual menyang PC sing dilindhungi, sing ora dadi masalah kanggo dheweke. Nanging, kanggo umume kita pengin otomatisasi (uga, kanggo aku bener =)).
Lan iki sing bisa daktawakake babagan otomatisasi. Yen AnyConnect durung bisa ngetokake sertifikat kanthi otomatis kanthi ngganti UDID kanthi dinamis, mula ana cara liya sing mbutuhake pamikiran kreatif lan tangan sing trampil - Aku bakal ngandhani konsep kasebut. Pisanan, ayo goleki carane UDID digawe ing sistem operasi sing beda dening agen AnyConnect:
Windows — SHA-256 hash kombinasi tombol registri DigitalProductID lan Machine SID
Patut, kita nggawe skrip kanggo OS Windows perusahaan, kanthi skrip iki kita ngitung UDID sacara lokal nggunakake input sing dikenal lan nggawe panjaluk kanggo nerbitake sertifikat kanthi ngetik UDID iki ing lapangan sing dibutuhake, kanthi cara, sampeyan uga bisa nggunakake mesin. sertifikat sing ditanggepi dening AD (kanthi nambahake otentikasi kaping pindho nggunakake sertifikat menyang skema Sertifikat Multiple).
Ayo nyiyapake setelan ing sisih Cisco ASA:
Ayo nggawe TrustPoint kanggo server ISE CA, bakal dadi siji sing bakal ngetokake sertifikat kanggo klien. Aku ora bakal nimbang prosedur ngimpor Key-Chain; conto diterangake ing artikel babagan persiyapan Kluster Load-Balancing VPN.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Kita ngatur distribusi dening Tunnel-Group adhedhasar aturan sing cocog karo kolom ing sertifikat sing digunakake kanggo otentikasi. Profil AnyConnect sing digawe ing tahap sadurunge uga dikonfigurasi ing kene. Elinga yen aku nggunakake nilai kasebut SECUREBANK-RA, kanggo nransfer pangguna kanthi sertifikat sing ditanggepi menyang grup trowongan AMAN-BANK-VPN, Wigati dimangerteni manawa aku duwe lapangan iki ing kolom panyuwunan sertifikat profil AnyConnect.
Nyetel server otentikasi. Ing kasusku, iki ISE kanggo tahap pertama otentikasi lan DUO (Radius Proxy) minangka 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
!
Kita nggawe kabijakan grup lan grup trowongan lan komponen tambahan:
Grup trowongan DefaultWEBVPNGroup bakal digunakake utamane kanggo ndownload klien AnyConnect VPN lan ngetokake sertifikat pangguna nggunakake fungsi SCEP-Proxy saka ASA; kanggo iki, kita duwe opsi sing cocog sing diaktifake ing grup trowongan dhewe lan ing kabijakan grup sing gegandhengan AC-Download, lan ing profil AnyConnect sing dimuat (bidang kanggo nerbitake sertifikat, lsp). Uga ing kabijakan grup iki, kita kudu ndownload Modul Postur ISE.
Grup trowongan AMAN-BANK-VPN bakal kanthi otomatis digunakake dening klien nalika otentikasi karo certificate ditanggepi ing tataran sadurungé, wiwit, sesuai karo Certificate Map, sambungan bakal tiba khusus ing grup trowongan iki. Aku bakal pitutur marang kowe bab opsi menarik kene:
sekunder-otentikasi-server-grup DUO # Setel otentikasi sekunder ing server DUO (Radius Proxy)
jeneng panganggo-saka-sertifikatCN # Kanggo otentikasi utami, kita nggunakake kolom CN sertifikat kanggo marisi login pangguna
secondary-username-saka-sertifikat I # Kanggo otentikasi sekunder ing server DUO, kita nggunakake jeneng pangguna sing diekstrak lan kolom Inisial (I) sertifikat.
klien pre-fill-username # nggawe jeneng pangguna wis diisi ing jendela otentikasi tanpa bisa ngganti
klien secondary-pre-fill-username ndhelikake push use-common-password # Kita ndhelikake jendhela input login / sandhi kanggo DUO otentikasi sekunder lan nggunakake metode kabar (sms / push / telpon) - dock kanggo njaluk otentikasi tinimbang kolom sandhi kene
!
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
!
Sabanjure kita pindhah menyang ISE:
Kita ngatur pangguna lokal (sampeyan bisa nggunakake AD / LDAP / ODBC, etc.), Kanggo kesederhanaan, aku nggawe pangguna lokal ing ISE dhewe lan ditugasake ing lapangan. gambaranUDID PC saka ngendi dheweke diijini mlebu liwat VPN. Yen aku nggunakake otentikasi lokal ing ISE, aku bakal diwatesi mung siji piranti, amarga ora ana akeh lapangan, nanging ing database otentikasi pihak katelu aku ora duwe watesan kasebut.
Ayo katon ing kabijakan wewenang, dipérang dadi patang tahap sambungan:
Panggung 1 - Kabijakan kanggo ndownload agen AnyConnect lan nerbitake sertifikat
Panggung 2 — Kebijakan otentikasi utama Login (saka sertifikat)/Sandi + Sertifikat kanthi validasi UDID
Panggung 3 - Otentikasi sekunder liwat Cisco DUO (MFA) nggunakake UDID minangka jeneng pangguna + Assessment negara
Panggung 4 - Wewenang pungkasan ana ing negara:
manut;
Validasi UDID (saka sertifikat + ikatan login),
Cisco DUO MFA;
Otentikasi kanthi mlebu;
otentikasi sertifikat;
Ayo ndeleng kahanan sing menarik UUID_VALIDATE, kayane pangguna sing otentikasi pancen asale saka PC kanthi UDID sing diidini sing ana gandhengane ing lapangan. Description akun, kondisi katon kaya iki:
Profil wewenang sing digunakake ing tahap 1,2,3 yaiku:
Sampeyan bisa mriksa persis carane UDID saka klien AnyConnect teka menyang kita kanthi ndeleng rincian sesi klien ing ISE. Ing rinci kita bakal weruh sing AnyConnect liwat mekanisme ACIDEX ngirim ora mung informasi bab platform, nanging uga UDID piranti minangka Cisco-AV-PAIR:
Ayo menehi perhatian marang sertifikat sing ditanggepi kanggo pangguna lan lapangan Inisial (I), sing digunakake kanggo njupuk minangka login kanggo otentikasi MFA sekunder ing Cisco DUO:
Ing sisih DUO Radius Proxy ing log, kita bisa ndeleng kanthi jelas carane panjaluk otentikasi digawe, nggunakake UDID minangka jeneng pangguna:
Saka portal DUO kita ndeleng acara otentikasi sing sukses:
Lan ing properti pangguna aku wis nyetel ALIAS, sing digunakake kanggo mlebu, iki minangka UDID saka PC sing diidini kanggo mlebu:
Akibaté, kita entuk:
Otentikasi pangguna lan piranti multi-faktor;
Perlindhungan marang spoofing piranti pangguna;
Netepake kondisi piranti;
Potensi kanggo tambah kontrol karo sertifikat mesin domain, etc.;
Proteksi papan kerja remot sing komprehensif kanthi modul keamanan sing dipasang kanthi otomatis;