{"id":78242,"date":"2020-04-18T01:42:36","date_gmt":"2020-04-17T23:42:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa"},"modified":"2020-04-18T01:42:36","modified_gmt":"2020-04-17T23:42:36","slug":"realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa","title":{"rendered":"Implementazione di un accesso remoto altamente protetto","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Continuando la serie di articoli sull'organizzazione <strong>Remote-Access VPN<\/strong> non posso non condividere un'esperienza interessante di implementazione <strong>di una configurazione VPN altamente protetta<\/strong>. Un cliente ha lanciato una sfida non triviale (ci sono inventori nei villaggi russi), ma sfida accettata e realizzata in modo creativo. Il risultato \u00e8 stato un concetto interessante con le seguenti caratteristiche:<\/p>\n<p><\/p>\n<ol>\n<li>Diverse misure di protezione contro la sostituzione del dispositivo finale (con collegamento rigido all'utente);\n<ul>\n<li>Valutazione della conformit\u00e0 del PC dell'utente rispetto all'UDID del PC autorizzato nel database di autenticazione; <\/li>\n<li>Con MFA, utilizzando l'UDID del PC dal certificato per la secondaria autenticazione tramite Cisco DUO <em>(Si pu\u00f2 collegare qualsiasi SAML\/RADIUS compatibile)<\/em>; <\/li>\n<\/ul>\n<\/li>\n<li>Autenticazione multifattoriale: \n<ul>\n<li>Certificato utente con verifica dei campi e autenticazione secondaria su uno di essi;<\/li>\n<li>Login (immutabile, preso dal certificato) e password;<\/li>\n<\/ul>\n<\/li>\n<li>Valutazione dello stato dell'host connesso (Postura)<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Componenti utilizzati nella soluzione:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Cisco ASA (Gateway VPN);<\/li>\n<li>Cisco ISE (Autenticazione \/ Autorizzazione \/ Contabilit\u00e0, Valutazione dello Stato, CA);<\/li>\n<li>Cisco DUO (Autenticazione Multifattoriale) <em>(Si pu\u00f2 collegare qualsiasi SAML\/RADIUS compatibile)<\/em>;<\/li>\n<li>Cisco AnyConnect (Agente multifunzionale per stazioni di lavoro e sistemi operativi mobili);<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><strong>Iniziamo con i requisiti del cliente:<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>L'utente deve avere la possibilit\u00e0 di scaricare il client AnyConnect dal gateway VPN con la propria autenticazione Login\/Password, tutti i moduli necessari di AnyConnect devono installarsi automaticamente in conformit\u00e0 alla politica dell'utente;<\/li>\n<li>L'utente deve avere la possibilit\u00e0 di emissione automatica del certificato (per uno degli scenari, lo scenario principale \u00e8 l'emissione manuale e il caricamento sul PC), io ho implementato l'emissione automatica per dimostrazione (non \u00e8 mai troppo tardi per rimuoverla).<\/li>\n<li>L'autenticazione principale deve avvenire in pi\u00f9 fasi, prima c'\u00e8 l'autenticazione del certificato con analisi dei campi necessari e dei loro valori, poi login\/password, solo che stavolta nella finestra di login deve essere inserito il nome utente indicato nel campo del certificato <strong>Subject Name (CN)<\/strong> senza possibilit\u00e0 di modifica.<\/li>\n<li>\u00c8 necessario assicurarsi che il dispositivo da cui si accede sia il laptop aziendale assegnato per l'accesso remoto all'utente, e non qualcos'altro. (Sono state realizzate diverse varianti per soddisfare questo requisito)<\/li>\n<li>Deve essere effettuata una valutazione dello stato del dispositivo connesso (in questa fase PC) verificando l'intera e ampia tabella dei requisiti del cliente (in sintesi):\n<ul>\n<li>File e le loro propriet\u00e0;<\/li>\n<li>Registrazioni del registro;<\/li>\n<li>Patch del sistema operativo dalla lista fornita (in seguito integrazione SCCM);<\/li>\n<li>Presenza di Antivirus di un determinato produttore e attualit\u00e0 delle firme;<\/li>\n<li>Attivit\u00e0 di determinati servizi;<\/li>\n<li>Presenza di determinati programmi installati;<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Per iniziare, propongo di guardare necessariamente la video-demonstrazione dell'implementazione ottenuta su <strong>Youtube (5 minuti)<\/strong>.<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"cBftD3KFK98\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/cBftD3KFK98\/hqdefault.jpg\" alt=\"Guarda il video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p>Ora propongo di considerare i dettagli dell'implementazione non trattati nel video.<\/p>\n<p><\/p>\n<p><strong>Prepariamo il profilo AnyConnect:<\/strong><\/p>\n<p><\/p>\n<p>Un esempio di creazione del profilo (in termini di voce di menu in ASDM) l'ho fornito in precedenza nel mio articolo sulla configurazione <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cisco\/blog\/493098\/\">VPN Load-Balancing cluster<\/a><\/noindex>. Ora desidero sottolineare separatamente quelle opzioni che ci serviranno:<\/p>\n<p><\/p>\n<p>Nel profilo indicheremo il gateway VPN e il nome del profilo per la connessione sul client finale:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/45ff3cb1f7b592e102bd6e256ae26043.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Effettueremo le impostazioni per l'emissione automatica del certificato da parte del profilo, specificando, in particolare, i parametri del certificato e, ci\u00f2 che \u00e8 significativo, presteremo attenzione al campo <strong>Initials (I)<\/strong>, dove \u00e8 manualmente inserito un valore specifico <strong>UDID<\/strong> della macchina di test (Identificatore Unico Dispositivo, che viene generato dal client Cisco AnyConnect).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/89d4edb4f1b166eda75916286998a4bf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Qui voglio fare una piccola digressione, poich\u00e9 questo articolo descrive un concetto; per scopi dimostrativi, qui \u00e8 stato inserito un UDID per l'emissione del certificato nel campo Initials del profilo AnyConnect. Naturalmente, nella vita reale, se lo fai, tutti i client riceveranno un certificato con lo stesso UDID in questo campo e non funzioner\u00e0 nulla, poich\u00e9 hanno bisogno dell'UDID specifico del proprio PC. Purtroppo, AnyConnect non implementa ancora la sostituzione nella richiesta del certificato per il campo UDID mediante variabili ambientali, come ad esempio fa con la variabile <strong>%USER%<\/strong>.<\/p>\n<p><\/p>\n<p>Va notato che il cliente (di questo scenario) inizialmente prevede di rilasciare i certificati con l'UDID specificato in modalit\u00e0 manuale per tali PC Protetti, il che non rappresenta per lui un problema. Tuttavia, per la maggior parte di noi c'\u00e8 il desiderio di automazione (beh, per me \u00e8 cos\u00ec di certo =). <\/p>\n<p><\/p>\n<p>Ecco cosa posso proporre in termini di automazione. Se il certificato deve essere emesso automaticamente AnyConnect dinamicamente abbinando l'UDID che al momento non riesce a fare, c'\u00e8 un altro modo che richieder\u00e0 un po' di creativit\u00e0 e abilit\u00e0 manuali \u2013 vi spiegher\u00f2 il concetto. Per cominciare, diamo un'occhiata a come viene generato l'UDID su diversi sistemi operativi dall'agente AnyConnect: <\/p>\n<p><\/p>\n<ul>\n<li><strong>Windows<\/strong> \u2014 Hash SHA-256 della combinazione della chiave del registro DigitalProductID e Machine SID<\/li>\n<li><strong>OSX<\/strong> \u2014 Hash SHA-256 di PlatformUUID<\/li>\n<li><strong>Linux<\/strong> \u2014 Hash SHA-256 dell'UUID della partizione root.<\/li>\n<li><strong>Apple iOS<\/strong> \u2014 Hash SHA-256 di PlatformUUID<\/li>\n<li><strong>Android<\/strong> \u2013 Vedi il documento su <noindex><a rel=\"nofollow\" href=\"http:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/security\/vpn_client\/anyconnect\/anyconnect40\/administration\/guide\/b_AnyConnect_Administrator_Guide_4-0\/b_AnyConnect_Administrator_Guide_4-0_chapter_01010.html#reference_C87ADD1C58F64EF8928D921323209AA6\">link<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>In base a questo, prepariamo uno script per i nostri sistemi operativi aziendali Windows; utilizziamo questo script per calcolare localmente l'UDID utilizzando i parametri noti e formiamo la richiesta per l'emissione del certificato inserendo in campo appropriato questo UDID, oltretutto possiamo utilizzare anche un certificato di macchina emesso da AD (aggiungendo alla procedura una doppia autenticazione tramite certificato <strong>Certificato Multiplo<\/strong>). <\/p>\n<p><\/p>\n<p><strong>Prepariamo le impostazioni dal lato Cisco ASA:<\/strong><\/p>\n<p><\/p>\n<p>Creiamo un TrustPoint per il server ISE CA, che sar\u00e0 quello a emettere certificati ai clienti. Non tratter\u00f2 il procedimento di importazione della Key-Chain, l'esempio \u00e8 descritto nel mio articolo sulla configurazione. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cisco\/blog\/493098\/\">VPN Load-Balancing cluster<\/a><\/noindex>. <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">crypto ca trustpoint ISE-CA\n enrollment terminal\n crl configure<\/code><\/pre>\n<p><\/p>\n<p>Configuriamo la distribuzione per Tunnel-Group basandoci su regole conformi ai campi del certificato utilizzato per l'autenticazione. Qui si imposta anche il profilo AnyConnect che abbiamo preparato nel passo precedente. Vorrei sottolineare che utilizzo il valore <strong>SECUREBANK-RA<\/strong>, per trasferire gli utenti con il certificato emesso nel tunnel-group <strong>SECURE-BANK-VPN<\/strong>, si noti che questo campo \u00e8 stato impostato nella richiesta del certificato per il profilo AnyConnect.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">tunnel-group-map enable rules\n!\ncrypto ca certificate map OU-Map 6\n subject-name attr ou eq securebank-ra\n!\nwebvpn\n anyconnect profiles SECUREBANK disk0:\/securebank.xml\n certificate-group-map OU-Map 6 SECURE-BANK-VPN\n!<\/code><\/pre>\n<p><\/p>\n<p>Configuriamo i server di autenticazione. Nel mio caso, si tratta di ISE per la prima fase di autenticazione e DUO (Radius Proxy) come MFA.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">! CISCO ISE\naaa-server ISE protocol radius\n authorize-only\n interim-accounting-update periodic 24\n dynamic-authorization\naaa-server ISE (inside) host 192.168.99.134\n key *****\n!\n! DUO RADIUS PROXY\naaa-server DUO protocol radius\naaa-server DUO (inside) host 192.168.99.136\n timeout 60\n key *****\n authentication-port 1812\n accounting-port 1813\n no mschapv2-capable\n!<\/code><\/pre>\n<p><\/p>\n<p>Creiamo politiche di gruppo e tunnel groups e i relativi componenti ausiliari:<\/p>\n<p><\/p>\n<p>Tunnel Group <strong>DefaultWEBVPNGroup<\/strong> verr\u00e0 utilizzata principalmente per il download del client AnyConnect VPN e l'emissione del certificato utente utilizzando la funzione SCEP-Proxy ASA; per questo sono attivate le opzioni corrispondenti sia nel gruppo di tunnel che nella politica di gruppo associata. <strong>AC-Download<\/strong>, nonch\u00e9 nel profilo AnyConnect scaricato (campi di emissione del certificato, ecc.). Inoltre, in questa politica di gruppo indichiamo la necessit\u00e0 del download <strong>Modulo ISE Posture<\/strong>.<\/p>\n<p><\/p>\n<p>Tunnel Group <strong>SECURE-BANK-VPN<\/strong> verr\u00e0 utilizzato automaticamente dal client durante l'autenticazione con il certificato emesso nel passaggio precedente, poich\u00e9 in conformit\u00e0 con il Certificate Map, la connessione sar\u00e0 esattamente su questo gruppo di tunnel. Parler\u00f2 di opzioni interessanti qui:<\/p>\n<p><\/p>\n<ul>\n<li><strong>gruppo-server di autenticazione secondaria DUO<\/strong> # \u0417\u0430\u0434\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 DUO (Radius Proxy)<\/li>\n<li><strong>nome-utente-dal-certificato CN<\/strong> # \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u0435 CN \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0434\u043b\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/li>\n<li><strong>nome-utente-secondario-dal-certificato I<\/strong> # \u0414\u043b\u044f \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 DUO \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u043e\u0435 \u0438 \u043f\u043e\u043b\u044f Initials (I) \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.<\/li>\n<li><strong>pre-compilazione-nome-utente client<\/strong> # \u0434\u0435\u043b\u0430\u0435\u043c \u043f\u0440\u0435\u0434\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u043e\u043a\u043d\u0435 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f<\/li>\n<li><strong>pre-compilazione-nome-utente-secondario client nascondi usa-password-comune push<\/strong> # \u041f\u0440\u044f\u0447\u0435\u043c \u043e\u043a\u043d\u043e \u0432\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u0438\u043d\u0430\/\u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 DUO \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u043b\u044f \u043f\u0430\u0440\u043e\u043b\u044f \u043c\u0435\u0442\u043e\u0434 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f (sms\/push\/phone) \u2013 \u0434\u043e\u043a\u0430 <noindex><a rel=\"nofollow\" href=\"https:\/\/duo.com\/docs\/ciscoasa-radius\">qui<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"plaintext\">!\naccess-list posture-redirect extended permetti tcp qualsiasi host 72.163.1.80 \naccess-list posture-redirect extended nega ip qualsiasi qualsiasi\n!\naccess-list VPN-Filter extended permetti ip qualsiasi qualsiasi\n!\nip pool locale vpn-pool 192.168.100.33-192.168.100.63 maschera 255.255.255.224\n!\ngroup-policy SECURE-BANK-VPN interna\ngroup-policy SECURE-BANK-VPN attributi\n dns-server valore 192.168.99.155 192.168.99.130\n vpn-filter valore VPN-Filter\n vpn-tunnel-protocol ssl-client \n split-tunnel-policy tunnelall\n default-domain valore ashes.cc\n address-pools valore vpn-pool\n webvpn\n  anyconnect ssl dtls abilitato\n  anyconnect mtu 1300\n  anyconnect keep-installer installato\n  anyconnect ssl keepalive 20\n  anyconnect ssl rekey time nessuno\n  anyconnect ssl rekey method ssl\n  anyconnect dpd-interval client 30\n  anyconnect dpd-interval gateway 30\n  anyconnect ssl compression lzs\n  anyconnect dtls compression lzs\n  anyconnect moduli valore iseposture\n  anyconnect profili valore SECUREBANK tipo utente\n!\ngroup-policy AC-DOWNLOAD interna\ngroup-policy AC-DOWNLOAD attributi\n dns-server valore 192.168.99.155 192.168.99.130\n vpn-filter valore VPN-Filter\n vpn-tunnel-protocol ssl-client \n split-tunnel-policy tunnelall\n default-domain valore ashes.cc\n address-pools valore vpn-pool\n scep-forwarding-url valore http:\/\/ise.ashes.cc:9090\/auth\/caservice\/pkiclient.exe\n webvpn\n  anyconnect ssl dtls abilitato\n  anyconnect mtu 1300\n  anyconnect keep-installer installato\n  anyconnect ssl keepalive 20\n  anyconnect ssl rekey time nessuno\n  anyconnect ssl rekey method ssl\n  anyconnect dpd-interval client 30\n  anyconnect dpd-interval gateway 30\n  anyconnect ssl compression lzs\n  anyconnect dtls compression lzs\n  anyconnect moduli valore iseposture\n  anyconnect profili valore SECUREBANK tipo utente\n!\ntunnel-group DefaultWEBVPNGroup general-attributes\n address-pool vpn-pool\n authentication-server-group ISE\n accounting-server-group ISE\n default-group-policy AC-DOWNLOAD\n scep-enrollment abilitato\ntunnel-group DefaultWEBVPNGroup webvpn-attributes\n authentication aaa certificate\n!\ntunnel-group SECURE-BANK-VPN tipo accesso-remoto\ntunnel-group SECURE-BANK-VPN general-attributes\n address-pool vpn-pool\n authentication-server-group ISE\n secondary-authentication-server-group DUO\n accounting-server-group ISE\n default-group-policy SECURE-BANK-VPN\n username-from-certificate CN\n secondary-username-from-certificate I\ntunnel-group SECURE-BANK-VPN webvpn-attributes\n authentication aaa certificate\n pre-fill-username client\n secondary-pre-fill-username client hide use-common-password push\n group-alias SECURE-BANK-VPN abilitato\n dns-group ASHES-DNS\n!<\/code><\/pre>\n<p><\/p>\n<p><strong>Passiamo a ISE:<\/strong><\/p>\n<p><\/p>\n<p>Configurare un utente locale (\u00e8 possibile utilizzare anche AD\/LDAP\/ODBC, ecc.), per semplicit\u00e0 ho creato un utente locale direttamente in ISE e assegnato nel campo <strong>description<\/strong> <strong>UDID PC<\/strong> da cui \u00e8 consentito l'accesso tramite VPN. Nel caso di autenticazione locale su ISE, sar\u00f2 limitato a un solo dispositivo, poich\u00e9 i campi disponibili non sono molti, ma non avr\u00f2 tali limitazioni in database di autenticazione esterni.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/ea73d4bab6c0872f7c3aef4ad1345b12.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esaminiamo la politica di autorizzazione, che \u00e8 divisa in quattro fasi di connessione:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Fase 1<\/strong> \u2014 Politica per il download dell'agente AnyConnect e l'emissione del certificato<\/li>\n<li><strong>Fase 2<\/strong> \u2014 Politica di autenticazione primaria Login (dal certificato)\/Password + Certificato con validazione UDID<\/li>\n<li><strong>Fase 3<\/strong> \u2014 Autenticazione secondaria tramite Cisco DUO (MFA) utilizzando UDID come nome utente + Valutazione dello stato<\/li>\n<li><strong>Fase 4<\/strong> \u2014 Autorizzazione finale in stato:\n<ul>\n<li>Compliant;<\/li>\n<li>validazione UDID (dal certificato + associazione al login), <\/li>\n<li>Cisco DUO MFA;<\/li>\n<li>Autenticazione tramite login; <\/li>\n<li>Autenticazione tramite certificato;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/f0927091b896dc1e8b7fde35f9ff9211.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Diamo un'occhiata a una condizione interessante <strong>UUID_VALIDATED<\/strong>, che verifica se l'utente in fase di autenticazione proviene effettivamente da un PC con UDID autorizzato associato nel campo <strong>Descrizione<\/strong> dell'account, la condizione appare cos\u00ec:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/73952c705b376246f8b2fb9de883302b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il profilo di autorizzazione utilizzato nelle fasi 1, 2 e 3 appare come segue:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/4b1eb6688a5a42d74b587424b02624e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Possiamo controllare come ci arriva l'UDID dal client AnyConnect guardando i dettagli della sessione del client in ISE. Nei dettagli vediamo che AnyConnect tramite il meccanismo <strong>ACIDEX<\/strong> invia non solo i dati sulla piattaforma, ma anche l'UDID del dispositivo come <strong>Cisco-AV-PAIR<\/strong>:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/34859d3b6a5edb448999eaec49c59669.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Focalizziamoci sul certificato emesso all'utente e sul campo <strong>Initials (I)<\/strong>, che viene utilizzato come login per l'autenticazione secondaria MFA su Cisco DUO:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/ac5928db33e5dbbb1bd7e2190da6d9fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dalla parte del DUO Radius Proxy nel registro vediamo chiaramente come avviene la richiesta di autenticazione, che viene effettuata utilizzando l'UDID come nome utente:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/791f5470115460dc4d920096e79dde0f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dal portale DUO vediamo un evento di autenticazione riuscito:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/a31e31c57ad8b6e4ba021f3da7eedb7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E nelle propriet\u00e0 dell'utente ho impostato <strong>ALIAS<\/strong>, che ho utilizzato per il login, e questo \u00e8 l'UDID autorizzato per il login del PC:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Implementazione di un accesso remoto altamente protetto\" src=\"\/wp-content\/uploads\/2020\/04\/4035937749d1b85bad291aa4ec407352.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Di conseguenza abbiamo ottenuto:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Autenticazione multifattoriale per l'utente e il dispositivo;<\/li>\n<li>Protezione contro la sostituzione del dispositivo utente;<\/li>\n<li>Valutazione dello stato del dispositivo;<\/li>\n<li>Potenziale per rafforzare il controllo con un certificato macchina del dominio, ecc.;<\/li>\n<li>Protezione complessiva del posto di lavoro remoto con moduli di sicurezza automaticamente distribuiti;<\/li>\n<\/ul>\n<p><\/p>\n<p>Link agli articoli della serie Cisco VPN:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cisco\/blog\/493098\/\">Distribuzione di un cluster di bilanciamento del carico ASA VPN<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cisco\/blog\/493774\/\">Ottimizzazione dei servizi cloud nel tunnel VPN AnyConnect su Cisco ASA<\/a><\/noindex><\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cisco\/blog\/497618\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u043f\u043e \u0442\u0435\u043c\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Remote-Access VPN \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 VPN. \u0417\u0430\u0434\u0430\u0447\u0443 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u043a\u0438\u043d\u0443\u043b \u043e\u0434\u0438\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a (\u0435\u0441\u0442\u044c \u0432\u044b\u0434\u0443\u043c\u0449\u0438\u043a\u0438 \u0432 \u0420\u0443\u0441\u0441\u043a\u0438\u0445 \u0441\u0435\u043b\u0435\u043d\u0438\u044f\u0445), \u043d\u043e Challenge Accepted \u0438 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0442 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438: \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u044b \u043e\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0441 \u0436\u0435\u0441\u0442\u043a\u043e\u0439 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u043e\u0439 \u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e); [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":78243,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-78242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u043f\u043e \u0442\u0435\u043c\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Remote-Access VPN \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 VPN.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u043f\u043e \u0442\u0435\u043c\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Remote-Access VPN \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 VPN.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-17T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-17T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Implementazione del concetto di accesso remoto altamente sicuro | ProHoster","description":"Continuando la serie di articoli sul tema dell'organizzazione dell'accesso VPN remoto, non posso non condividere un'interessante esperienza di implementazione di una configurazione VPN ad alta sicurezza.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 | ProHoster","og:description":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u043f\u043e \u0442\u0435\u043c\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Remote-Access VPN \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 VPN.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/realizacziya-konczepczii-vysokozashhishhennogo-udalennogo-dostupa","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-17T23:42:36+00:00","article:modified_time":"2020-04-17T23:42:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"78242","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:02:45","updated":"2022-09-29 00:42:25","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/78242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=78242"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/78242\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/78243"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=78242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=78242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=78242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}