Meneruskan siri artikel mengenai topik organisasi VPN Akses Jauh akses Saya tidak dapat membantu tetapi berkongsi pengalaman penggunaan menarik saya konfigurasi VPN yang sangat selamat. Tugas yang tidak remeh telah disampaikan oleh seorang pelanggan (terdapat pencipta di kampung Rusia), tetapi Cabaran itu diterima dan dilaksanakan secara kreatif. Hasilnya adalah konsep yang menarik dengan ciri-ciri berikut:
Beberapa faktor perlindungan terhadap penggantian peranti terminal (dengan pengikatan ketat kepada pengguna);
Menilai pematuhan PC pengguna dengan UDID yang ditetapkan bagi PC yang dibenarkan dalam pangkalan data pengesahan;
Dengan MFA menggunakan PC UDID daripada sijil untuk pengesahan sekunder melalui Cisco DUO (Anda boleh melampirkan mana-mana SAML/Radius yang serasi);
Pengesahan berbilang faktor:
Sijil pengguna dengan pengesahan medan dan pengesahan kedua terhadap salah satu daripadanya;
Log masuk (tidak boleh ditukar, diambil daripada sijil) dan kata laluan;
Menganggarkan keadaan hos penyambung (Postur)
Komponen penyelesaian yang digunakan:
Cisco ASA (Gerbang VPN);
Cisco ISE (Pengesahan / Kebenaran / Perakaunan, Penilaian Negeri, CA);
Cisco DUO (Pengesahan Berbilang Faktor) (Anda boleh melampirkan mana-mana SAML/Radius yang serasi);
Cisco AnyConnect (Ejen pelbagai guna untuk stesen kerja dan OS mudah alih);
Mari kita mulakan dengan keperluan pelanggan:
Pengguna mesti, melalui pengesahan Log Masuk/Kata Laluan, boleh memuat turun klien AnyConnect daripada get laluan VPN; semua modul AnyConnect yang diperlukan mesti dipasang secara automatik mengikut dasar pengguna;
Pengguna sepatutnya boleh mengeluarkan sijil secara automatik (untuk salah satu senario, senario utama ialah pengeluaran manual dan muat naik pada PC), tetapi saya melaksanakan isu automatik untuk demonstrasi (tidak terlambat untuk mengalih keluarnya).
Pengesahan asas mesti berlaku dalam beberapa peringkat, pertama terdapat pengesahan sijil dengan analisis medan yang diperlukan dan nilainya, kemudian log masuk/kata laluan, hanya kali ini nama pengguna yang dinyatakan dalam medan sijil mesti dimasukkan ke dalam tetingkap log masuk Nama Subjek (CN) tanpa keupayaan untuk mengedit.
Anda perlu memastikan bahawa peranti dari mana anda log masuk ialah komputer riba korporat yang dikeluarkan kepada pengguna untuk akses jauh, dan bukan sesuatu yang lain. (Beberapa pilihan telah dibuat untuk memenuhi keperluan ini)
Keadaan peranti penyambung (pada peringkat ini PC) harus dinilai dengan semakan jadual keseluruhan keperluan pelanggan yang besar (merumuskan):
Fail dan sifatnya;
Entri pendaftaran;
Tampalan OS daripada senarai yang disediakan (kemudian penyepaduan SCCM);
Ketersediaan Anti-Virus daripada pengeluar tertentu dan tandatangan yang berkaitan;
Aktiviti perkhidmatan tertentu;
Ketersediaan program dipasang tertentu;
Sebagai permulaan, saya cadangkan anda pasti melihat demonstrasi video pelaksanaan yang terhasil pada Youtube (5 minit).
Sekarang saya mencadangkan untuk mempertimbangkan butiran pelaksanaan yang tidak diliputi dalam klip video.
Mari sediakan profil AnyConnect:
Saya sebelum ini memberikan contoh membuat profil (dari segi item menu dalam ASDM) dalam artikel saya tentang tetapan Kluster Pengimbangan Beban VPN. Sekarang saya ingin perhatikan secara berasingan pilihan yang kita perlukan:
Dalam profil, kami akan menunjukkan get laluan VPN dan nama profil untuk menyambung kepada pelanggan akhir:
Mari kita konfigurasikan pengeluaran automatik sijil dari sisi profil, menunjukkan, khususnya, parameter sijil dan, secara ciri, memberi perhatian kepada medan Parap (I), di mana nilai tertentu dimasukkan secara manual UDID mesin ujian (Pengecam peranti unik yang dihasilkan oleh klien Cisco AnyConnect).
Di sini saya ingin membuat penyimpangan lirik, kerana artikel ini menerangkan konsep; untuk tujuan demonstrasi, UDID untuk mengeluarkan sijil dimasukkan dalam medan Inisial profil AnyConnect. Sudah tentu, dalam kehidupan sebenar, jika anda melakukan ini, maka semua pelanggan akan menerima sijil dengan UDID yang sama dalam bidang ini dan tiada apa yang akan berfungsi untuk mereka, kerana mereka memerlukan UDID PC khusus mereka. AnyConnect, malangnya, belum lagi melaksanakan penggantian medan UDID ke dalam profil permintaan sijil melalui pembolehubah persekitaran, seperti yang dilakukannya, sebagai contoh, dengan pembolehubah %USER%.
Perlu diingat bahawa pelanggan (daripada senario ini) pada mulanya merancang untuk mengeluarkan sijil secara bebas dengan UDID yang diberikan dalam mod manual kepada PC Dilindungi tersebut, yang tidak menjadi masalah baginya. Walau bagaimanapun, bagi kebanyakan kita kita mahukan automasi (baik, bagi saya ia adalah benar =)).
Dan inilah yang boleh saya tawarkan dari segi automasi. Jika AnyConnect masih belum dapat mengeluarkan sijil secara automatik dengan menggantikan UDID secara dinamik, maka terdapat cara lain yang memerlukan sedikit pemikiran kreatif dan tangan yang mahir - saya akan memberitahu anda konsepnya. Mula-mula, mari kita lihat bagaimana UDID dijana pada sistem pengendalian yang berbeza oleh ejen AnyConnect:
Windows β SHA-256 cincang gabungan kunci pendaftaran DigitalProductID dan Machine SID
OSX β Platform cincang SHA-256UUID
Linux β SHA-256 cincang UUID bagi partition root.
Sehubungan itu, kami mencipta skrip untuk OS Windows korporat kami, dengan skrip ini kami mengira UDID secara tempatan menggunakan input yang diketahui dan membentuk permintaan untuk mengeluarkan sijil dengan memasukkan UDID ini dalam medan yang diperlukan, dengan cara itu, anda juga boleh menggunakan mesin sijil yang dikeluarkan oleh AD (dengan menambahkan pengesahan berganda menggunakan sijil pada skim Berbilang Sijil).
Mari sediakan tetapan di sebelah Cisco ASA:
Mari buat TrustPoint untuk pelayan ISE CA, ia akan menjadi yang akan mengeluarkan sijil kepada pelanggan. Saya tidak akan mempertimbangkan prosedur import Rantaian Kunci; contoh diterangkan dalam artikel saya tentang persediaan Kluster Pengimbangan Beban VPN.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Kami mengkonfigurasi pengedaran oleh Tunnel-Group berdasarkan peraturan mengikut medan dalam sijil yang digunakan untuk pengesahan. Profil AnyConnect yang kami buat pada peringkat sebelumnya juga dikonfigurasikan di sini. Sila ambil perhatian bahawa saya menggunakan nilai SECUREBANK-RA, untuk memindahkan pengguna dengan sijil yang dikeluarkan ke kumpulan terowong SELAMAT-BANK-VPN, sila ambil perhatian bahawa saya mempunyai medan ini dalam lajur permintaan sijil profil AnyConnect.
Menyediakan pelayan pengesahan. Dalam kes saya, ini ialah ISE untuk peringkat pertama pengesahan dan DUO (Proksi Radius) sebagai 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
!
Kami membuat dasar kumpulan dan kumpulan terowong serta komponen tambahannya:
Kumpulan terowong LalaiWEBVPNGroup akan digunakan terutamanya untuk memuat turun klien VPN AnyConnect dan mengeluarkan sijil pengguna menggunakan fungsi SCEP-Proxy ASA; untuk ini kami mempunyai pilihan yang sepadan diaktifkan kedua-dua kumpulan terowong itu sendiri dan pada dasar kumpulan yang berkaitan Muat Turun AC, dan pada profil AnyConnect yang dimuatkan (medan untuk mengeluarkan sijil, dsb.). Juga dalam dasar kumpulan ini kami menunjukkan keperluan untuk memuat turun Modul Postur ISE.
Kumpulan terowong SELAMAT-BANK-VPN akan digunakan secara automatik oleh pelanggan apabila mengesahkan dengan sijil yang dikeluarkan pada peringkat sebelumnya, memandangkan, mengikut Peta Sijil, sambungan akan jatuh secara khusus pada kumpulan terowong ini. Saya akan memberitahu anda tentang pilihan menarik di sini:
DUO kumpulan-pengesahan-pelayan-sekunder # Tetapkan pengesahan kedua pada pelayan DUO (Proksi Radius)
nama pengguna-dari-sijilCN # Untuk pengesahan utama, kami menggunakan medan CN sijil untuk mewarisi log masuk pengguna
nama pengguna sekunder daripada sijil I # Untuk pengesahan kedua pada pelayan DUO, kami menggunakan nama pengguna yang diekstrak dan medan Inisial (I) bagi sijil.
pelanggan praisi-nama pengguna # jadikan nama pengguna pra-isi dalam tetingkap pengesahan tanpa keupayaan untuk menukar
pelanggan sekunder-pra-isi-nama pengguna sembunyikan push-guna-biasa-kata laluan # Kami menyembunyikan tetingkap input log masuk/kata laluan untuk pengesahan sekunder DUO dan menggunakan kaedah pemberitahuan (sms/push/telefon) - dok untuk meminta pengesahan dan bukannya medan kata laluan di sini
!
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
!
Seterusnya kita beralih ke ISE:
Kami mengkonfigurasi pengguna tempatan (anda boleh menggunakan AD/LDAP/ODBC, dll.), untuk kesederhanaan, saya mencipta pengguna tempatan dalam ISE sendiri dan menetapkannya dalam medan PeneranganPC UDID dari mana dia dibenarkan untuk log masuk melalui VPN. Jika saya menggunakan pengesahan tempatan pada ISE, saya akan dihadkan kepada hanya satu peranti, kerana tidak terdapat banyak medan, tetapi dalam pangkalan data pengesahan pihak ketiga saya tidak akan mempunyai sekatan sedemikian.
Mari kita lihat dasar kebenaran, ia dibahagikan kepada empat peringkat sambungan:
Peringkat 1 β Dasar untuk memuat turun ejen AnyConnect dan mengeluarkan sijil
Peringkat 2 β Dasar pengesahan utama Log masuk (daripada sijil)/Kata Laluan + Sijil dengan pengesahan UDID
Peringkat 3 β Pengesahan sekunder melalui Cisco DUO (MFA) menggunakan UDID sebagai nama pengguna + penilaian Negeri
Peringkat 4 β Keizinan terakhir adalah dalam keadaan:
Mari lihat keadaan yang menarik UUID_VALIDATE, nampaknya pengguna yang mengesahkan sebenarnya datang daripada PC dengan UDID yang dibenarkan dikaitkan dalam medan Penerangan Produk akaun, syaratnya kelihatan seperti ini:
Profil kebenaran yang digunakan pada peringkat 1,2,3 adalah seperti berikut:
Anda boleh menyemak dengan tepat bagaimana UDID daripada klien AnyConnect sampai kepada kami dengan melihat butiran sesi klien dalam ISE. Secara terperinci kita akan melihat bahawa AnyConnect melalui mekanisme ACIDEX menghantar bukan sahaja maklumat tentang platform, tetapi juga UDID peranti sebagai Cisco-AV-PAIR:
Mari kita perhatikan sijil yang dikeluarkan kepada pengguna dan medan Parap (I), yang digunakan untuk mengambilnya sebagai log masuk untuk pengesahan MFA sekunder pada Cisco DUO:
Di sebelah Proksi Radius DUO dalam log kita dapat melihat dengan jelas bagaimana permintaan pengesahan dibuat, ia datang menggunakan UDID sebagai nama pengguna:
Dari portal DUO kami melihat acara pengesahan yang berjaya:
Dan dalam sifat pengguna saya telah menetapkannya ALIAS, yang saya gunakan untuk log masuk, seterusnya, ini ialah UDID PC yang dibenarkan untuk log masuk:
Hasilnya kami mendapat:
Pengesahan pengguna dan peranti berbilang faktor;
Perlindungan terhadap pemalsuan peranti pengguna;
Menilai keadaan peranti;
Potensi untuk meningkatkan kawalan dengan sijil mesin domain, dsb.;
Perlindungan tempat kerja jauh yang komprehensif dengan modul keselamatan yang digunakan secara automatik;