A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

A szervezés témájú cikksorozat folytatása Távoli hozzáférés VPN hozzáférés Nem tehetek mást, de megosztom érdekes telepítési tapasztalataimat rendkívül biztonságos VPN konfiguráció. Egy nem triviális feladatot mutatott be egy ügyfél (az orosz falvakban vannak feltalálók), de a Kihívást elfogadták és kreatívan megvalósították. Az eredmény egy érdekes koncepció a következő jellemzőkkel:

  1. A termináleszköz cseréje elleni védelem számos tényezője (szigorúan a felhasználóhoz kötve);
    • Felméri, hogy a felhasználó számítógépe megfelel-e a hitelesítési adatbázisban az engedélyezett PC-hez hozzárendelt UDID-nek;
    • MFA-val a PC UDID használatával a tanúsítványból a másodlagos hitelesítéshez Cisco DUO-n keresztül (Bármilyen SAML/Radius kompatibilis csatolható);
  2. Többtényezős hitelesítés:
    • Felhasználói tanúsítvány helyszíni ellenőrzéssel és másodlagos hitelesítéssel az egyik ellen;
    • Bejelentkezés (nem módosítható, a tanúsítványból vett) és jelszó;
  3. A csatlakozó gazdagép állapotának becslése (Posture)

A megoldáshoz használt komponensek:

  • Cisco ASA (VPN-átjáró);
  • Cisco ISE (hitelesítés / engedélyezés / elszámolás, állapotértékelés, CA);
  • Cisco DUO (többtényezős hitelesítés) (Bármilyen SAML/Radius kompatibilis csatolható);
  • Cisco AnyConnect (többcélú ügynök munkaállomásokhoz és mobil operációs rendszerekhez);

Kezdjük az ügyfél igényeivel:

  1. A felhasználónak bejelentkezési/jelszavas hitelesítésén keresztül le kell tudnia tölteni az AnyConnect klienst a VPN-átjáróról; az összes szükséges AnyConnect modult automatikusan telepíteni kell a felhasználói szabályzatnak megfelelően;
  2. A felhasználónak képesnek kell lennie arra, hogy automatikusan kiállítson egy tanúsítványt (az egyik forgatókönyvnél a fő forgatókönyv a kézi kiadás és a PC-re történő feltöltés), de bemutatás céljából megvalósítottam az automatikus kiadást (soha nem késő eltávolítani).
  3. Az alaphitelesítésnek több lépésben kell történnie, először a tanúsítvány hitelesítés a szükséges mezők és azok értékeinek elemzésével, majd a bejelentkezés/jelszó, csak ezúttal a tanúsítvány mezőben megadott felhasználónevet kell beszúrni a bejelentkezési ablakba Tárgy neve (CN) szerkesztési képesség nélkül.
  4. Győződjön meg arról, hogy az eszköz, amelyről bejelentkezik, a felhasználó számára távoli elérésre kiadott vállalati laptop, és nem valami más. (E követelmény teljesítésére több lehetőség is született)
  5. A csatlakoztató eszköz állapotát (ebben a fázisban a PC) a vevői igények teljes terjedelmes táblázatának ellenőrzésével kell felmérni (összefoglalva):
    • Fájlok és tulajdonságaik;
    • Nyilvántartási bejegyzések;
    • OS javítások a megadott listából (későbbi SCCM integráció);
    • Egy adott gyártótól származó víruskereső elérhetősége és az aláírások relevanciája;
    • Bizonyos szolgáltatások tevékenysége;
    • Bizonyos telepített programok elérhetősége;

Kezdésként azt javaslom, hogy feltétlenül nézze meg a videó bemutatóját az eredményül kapott megvalósításról Youtube (5 perc).

Most azt javaslom, hogy vegyük figyelembe azokat a megvalósítási részleteket, amelyeket a videoklip nem tárgyal.

Készítsük elő az AnyConnect profilt:

Korábban a beállításról szóló cikkemben adtam példát profil létrehozására (az ASDM-ben egy menüpont tekintetében). VPN terheléselosztó fürt. Most külön szeretném megjegyezni azokat a lehetőségeket, amelyekre szükségünk lesz:

A profilban feltüntetjük a VPN-átjárót és a profil nevét a végklienshez való csatlakozáshoz:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Állítsuk be a tanúsítvány automatikus kiadását profiloldalról, jelezve különösen a tanúsítvány paramétereit, és jellemzően figyeljünk a mezőre Kezdőbetűk (I), ahol egy adott érték manuálisan kerül megadásra TE TETTED tesztgép (egyedi eszközazonosító, amelyet a Cisco AnyConnect kliens generál).

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Itt szeretnék egy lírai kitérőt tenni, mivel ez a cikk leírja a koncepciót, demonstrációs célból az AnyConnect profil Initials mezőjébe kell beírni a tanúsítvány kiállításához szükséges UDID-t. Természetesen a való életben, ha ezt megteszi, akkor minden kliens ugyanazzal az UDID-vel rendelkező tanúsítványt kap ezen a területen, és semmi sem fog működni, mivel szükségük van az adott számítógép UDID-jára. Az AnyConnect sajnos még nem valósítja meg az UDID mező helyettesítését a tanúsítványkérési profilban környezeti változón keresztül, mint például egy változóval. %USER%.

Érdemes megjegyezni, hogy az ügyfél (ebben a forgatókönyvben) kezdetben azt tervezi, hogy egy adott UDID-vel rendelkező tanúsítványt önállóan állít ki manuális módban az ilyen Protected PC-kre, ami számára nem jelent problémát. A legtöbbünk számára azonban automatizálást akarunk (jó, nekem ez igaz =)).

És ez az, amit az automatizálás terén kínálni tudok. Ha az AnyConnect még nem tud automatikusan tanúsítványt kiállítani az UDID dinamikus helyettesítésével, akkor van egy másik módszer, amelyhez egy kis kreatív gondolkodásra és ügyes kezekre lesz szükség - elmondom a koncepciót. Először nézzük meg, hogy az AnyConnect ügynök hogyan hozza létre az UDID-t különböző operációs rendszereken:

  • Windows — A DigitalProductID és a Machine SID rendszerleíró kulcs kombinációjának SHA-256 hash
  • OSX — SHA-256 hash PlatformUUID
  • Linux — A gyökérpartíció UUID-jének SHA-256 hash-je.
  • Apple iOS — SHA-256 hash PlatformUUID
  • Android – Lásd a dokumentumot link

Ennek megfelelően készítünk egy szkriptet a vállalati Windows operációs rendszerünkhöz, ezzel a szkripttel lokálisan kiszámítjuk az UDID-t ismert bemenetek segítségével, és ennek az UDID-nek a kötelező mezőbe történő beírásával tanúsítvány kiadási kérelmet formálunk, egyébként gépet is használhat AD által kiállított tanúsítvány (a tanúsítvány használatával történő kettős hitelesítés hozzáadásával a sémához Több tanúsítvány).

Készítsük elő a beállításokat a Cisco ASA oldalán:

Hozzunk létre egy TrustPointot az ISE CA kiszolgálóhoz, ez fogja kiadni a tanúsítványokat az ügyfeleknek. Nem fogom figyelembe venni a kulcslánc importálási eljárást; egy példát a beállításról szóló cikkemben ismertetek VPN terheléselosztó fürt.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Az alagútcsoportonkénti elosztást szabályok alapján konfiguráljuk a hitelesítéshez használt tanúsítvány mezőinek megfelelően. Az előző szakaszban készített AnyConnect profil is itt van konfigurálva. Kérjük, vegye figyelembe, hogy az értéket használom SECUREBANK-RA, a kiadott tanúsítvánnyal rendelkező felhasználók alagútcsoportba történő átviteléhez BIZTONSÁGOS-BANK-VPN, vegye figyelembe, hogy ez a mező szerepel az AnyConnect profiltanúsítvány-kérelem oszlopában.

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
!

Hitelesítési szerverek beállítása. Az én esetemben ez az ISE a hitelesítés első szakaszában, és a DUO (Radius Proxy) mint 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
!

Csoportházirendeket és alagútcsoportokat, valamint ezek kiegészítő összetevőit hozzuk létre:

Alagút csoport Alapértelmezett WEBVPNGcsoport elsősorban az AnyConnect VPN kliens letöltésére és felhasználói tanúsítvány kiadására szolgál az ASA SCEP-Proxy funkciójával; ehhez mind az alagútcsoporton, mind a kapcsolódó csoportházirenden aktiválva vannak a megfelelő opciók AC-Letöltés, és a betöltött AnyConnect profilon (tanúsítvány kiállítására szolgáló mezők stb.). Ebben a csoportszabályzatban is jelezzük a letöltés szükségességét ISE testtartás modul.

Alagút csoport BIZTONSÁGOS-BANK-VPN automatikusan használja a kliens az előző szakaszban a kiadott tanúsítvánnyal történő hitelesítéskor, mivel a Tanúsítványtérképnek megfelelően a kapcsolat kifejezetten erre az alagútcsoportra esik majd. Érdekes lehetőségekről mesélek itt:

  • másodlagos hitelesítési szervercsoport DUO # Másodlagos hitelesítés beállítása a DUO-kiszolgálón (Radius Proxy)
  • username-from-tanúsítványCN # Az elsődleges hitelesítéshez a tanúsítvány CN mezőjét használjuk a felhasználói bejelentkezés öröklésére
  • másodlagos-felhasználónév-tanúsítványból I # A másodlagos hitelesítéshez a DUO szerveren a kicsomagolt felhasználónevet és a tanúsítvány Initials (I) mezőit használjuk.
  • előre kitöltött felhasználónév kliens # tegye a felhasználónevet előre kitöltve a hitelesítési ablakban anélkül, hogy megváltoztathatná
  • másodlagos-pre-fill-username kliens elrejteni use-common-password push # Elrejtjük a bejelentkezési/jelszó beviteli ablakot a másodlagos DUO hitelesítéshez, és az értesítési módot (sms/push/phone) használjuk - a jelszómező helyett a hitelesítés kéréséhez dokkoljunk itt

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

Ezután továbblépünk az ISE-re:

Konfigurálunk egy helyi felhasználót (használhat AD/LDAP/ODBC stb.), az egyszerűség kedvéért létrehoztam egy helyi felhasználót magában az ISE-ben és hozzárendeltem a mezőben leírás UDID PC ahonnan VPN-en keresztül bejelentkezhet. Ha helyi hitelesítést használok az ISE-n, akkor csak egy eszközre korlátozódok, mivel nincs sok mező, de a harmadik féltől származó hitelesítési adatbázisokban nem lesznek ilyen korlátozások.

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Nézzük meg az engedélyezési szabályzatot, amely négy csatlakozási szakaszra oszlik:

  • 1 színpad — Az AnyConnect ügynök letöltésére és a tanúsítvány kiállítására vonatkozó szabályzat
  • 2 színpad — Elsődleges hitelesítési szabályzat Bejelentkezés (tanúsítványból)/Jelszó + Tanúsítvány UDID érvényesítéssel
  • 3 színpad — Másodlagos hitelesítés Cisco DUO-n (MFA) keresztül, UDID felhasználónévként + állapotfelmérés
  • 4 színpad — A végső engedély a következő állapotban van:
    • Megfelelő;
    • UDID ellenőrzés (tanúsítványból + bejelentkezési kötés),
    • Cisco DUO MFA;
    • Hitelesítés bejelentkezés útján;
    • Tanúsítvány hitelesítés;

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Nézzünk egy érdekes állapotot UUID_VALIDATED, csak úgy tűnik, hogy a hitelesítő felhasználó valójában egy olyan PC-ről érkezett, amelynek engedélyezett UDID-je a mezőben van társítva Leírás fiók, a feltételek így néznek ki:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Az 1,2,3., XNUMX., XNUMX. szakaszban használt engedélyezési profil a következő:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Pontosan ellenőrizheti, hogy az AnyConnect kliens UDID-je hogyan érkezik hozzánk, ha megnézi az ügyfél munkamenet részleteit az ISE-ben. Részletesen látni fogjuk, hogy AnyConnect a mechanizmuson keresztül ACIDEX nem csak információkat küld a platformról, hanem az eszköz UDID-jét is Cisco-AV-PAIR:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Figyeljünk a felhasználó és a mező részére kiállított tanúsítványra Kezdőbetűk (I), amely a Cisco DUO másodlagos MFA-hitelesítéséhez bejelentkezési bejelentkezésként szolgál:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

A naplóban a DUO Radius Proxy oldalán jól láthatjuk, hogyan történik a hitelesítési kérés, az UDID felhasználónévként érkezik:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

A DUO portálról sikeres hitelesítési eseményt látunk:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

És a felhasználói tulajdonságokban beállítottam ALIAS, amit a bejelentkezéshez használtam, viszont ez a bejelentkezéshez engedélyezett PC UDID:

A rendkívül biztonságos távoli hozzáférés koncepciójának megvalósítása

Ennek eredményeként a következőket kaptuk:

  • Többtényezős felhasználó- és eszközhitelesítés;
  • Védelem a felhasználó eszközének hamisítása ellen;
  • A készülék állapotának felmérése;
  • Lehetõség a fokozott vezérlésre a tartománygép tanúsítvánnyal stb.;
  • Átfogó távoli munkahelyi védelem automatikusan telepített biztonsági modulokkal;

Linkek a Cisco VPN sorozat cikkeire:

Forrás: will.com

Hozzászólás