Sari la conținut

Grupul Protected Users, autentificarea Kerberos, segmentarea AD și stația de lucru PAW

Securizarea directoarelor Active Directory este o provocare majoră în securitatea infrastructurii.

ANSSI (Agenția Națională de Securitate Cibernetică a Franței) pune un accent deosebit pe importanța compartimentării în această securitate și pe implementarea segmentării serverelor cu autentificare Kerberos. Acest lucru este menționat în recomandările sale pentru administrarea securizată a SI bazate pe AD.

Soluțiile noastre CyberElements oferă o mare flexibilitate în implementarea acestei securități, care poate fi descompusă în patru niveluri diferite de integrare, aplicabile progresiv:

Configurarea aplicațiilor RDP pentru suportul Kerberos

Atenție!

Pentru a configura o aplicație RDP privilegiată sau RDP HTML5 privilegiată pentru a suporta Kerberos, trebuie mai întâi să efectuați configurarea 1 a serverelor Edge Gateway care vor fi utilizate pentru conectarea la RDP cu Kerberos.

Pentru ca o aplicație RDP sau RDP HTML5 privilegiată să se conecteze la un server RDP cu Kerberos, sunt necesare patru condiții de configurare:

  1. Setarea SSO nu poate fi stabilită la Disabled, deci trebuie să fie Enabled, Fixed sau Request
  2. Modul fără agent trebuie să fie activat
  3. Numele de server introdus trebuie să fie un FQDN (introducerea adresei IP a serverului va face ca autentificarea să eșueze).
  4. Kerberos nu trebuie să fie dezactivat în setările avansate ale aplicației RDP sau RDP HTML5.
Example

Pentru a configura o aplicație RDP privilegiată pentru a se conecta la serverul RDP my-rds-server utilizând Kerberos, va trebui să:

  • Setați nivelul SSO la o valoare diferită de Disabled, în acest caz la Enabled (1), apoi activați modul fără agent (2) și, în final, introduceți FQDN-ul serverului RDP (3).
  • Asigurați-vă că Kerberos nu este dezactivat (4)
Diagramă de flux
flowchart LR 
    subgraph WAN 
        USER(Stația de lucru a utilizatorului)
    end 
    subgraph Cloud sau DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(Server RDP)
    end

    USER --- |1| MEDIA --> |1| GW
    GW -.- |2| MEDIA -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    GW --> |7| RDP
    RDP -.-> |8| GW
Hold "Ctrl" to enable pan & zoom
  1. Utilizatorul deschide o aplicație RDP sau RDP HTML5 privilegiată cu suport pentru autentificarea Kerberos.
  2. Utilizatorul este conectat la Edge Gateway în modul fără agent
  3. Serverul Edge Gateway solicită un token TGT de la controlerul de domeniu Kerberos (KDC).
  4. KDC returnează un TGT criptat și semnat
  5. Serverul Edge Gateway solicită un tichet de serviciu care include TGT-ul anterior
  6. KDC returnează tichetul de serviciu criptat cu cheia serviciului
  7. Serverul Edge Gateway trimite o cerere de acces către serverul RDP, incluzând tichetul de serviciu.
  8. Serverul RDP aprobă accesul la serviciu și conexiunea RDP este inițializată.

Configurarea aplicațiilor RDP pentru a suporta blindarea Kerberos

Atenție!

Pentru a configura cu succes o aplicație RDP sau RDP HTML5 privilegiată pentru a suporta blindarea Kerberos, trebuie mai întâi să efectuați configurările 1 și 2 pentru serverele Edge Gateway care vor fi utilizate pentru conectarea la RDP cu blindare Kerberos.

Pentru ca o aplicație RDP sau RDP HTML5 privilegiată să se conecteze la un server RDP cu blindare Kerberos, sunt necesare cinci condiții de configurare:

  1. Setarea SSO nu poate fi stabilită la Disabled, deci trebuie să fie Enabled, Fixed sau Request
  2. Modul fără agent trebuie să fie activat
  3. Numele de server introdus trebuie să fie un FQDN (introducerea adresei IP a serverului va face ca autentificarea să eșueze).
  4. Kerberos nu trebuie să fie dezactivat în setările avansate ale aplicației RDP sau RDP HTML5.
  5. Specificați numele contului de computer de serviciu care va fi utilizat pentru blindarea Kerberos, adăugând un $ la final
Example

Pentru a configura o aplicație RDP privilegiată pentru a se conecta în modul blindat Kerberos la serverul RDP my-rds-server utilizând contul de computer svc_cyberelements, va trebui să:

  • Setați nivelul SSO la o valoare diferită de Disabled, în acest caz la Enabled (1), apoi activați modul fără agent (2) și, în final, introduceți FQDN-ul serverului RDP (3).
  • Asigurați-vă că Kerberos nu este dezactivat (4) și că este specificat numele contului de computer de serviciu, fără a uita să adăugați caracterul $ (5).
Diagramă de flux
flowchart LR 
    subgraph WAN 
        USER(Stația de lucru a utilizatorului)
    end 
    subgraph Cloud sau DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(Server RDP)
    end

    USER --- |1| MEDIA --> |1| GW
    GW -.- |2| MEDIA -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    GW --> |7| RDP
    RDP -.-> |8| GW
Hold "Ctrl" to enable pan & zoom
  1. Utilizatorul deschide o aplicație RDP sau RDP HTML5 privilegiată cu suport pentru autentificarea Kerberos.
  2. Utilizatorul este conectat la Edge Gateway în modul fără agent
  3. Serverul Edge Gateway solicită un token TGT de la controlerul de domeniu Kerberos (KDC) utilizând informațiile contului de computer de serviciu
  4. KDC returnează un TGT criptat și semnat
  5. Serverul Edge Gateway solicită un tichet de serviciu care include TGT-ul anterior
  6. KDC returnează tichetul de serviciu criptat cu cheia serviciului
  7. Serverul Edge Gateway trimite o cerere de acces către serverul RDP, incluzând tichetul de serviciu.
  8. Serverul RDP aprobă accesul la serviciu și conexiunea RDP este inițializată.

Particularități ale arhitecturii într-un mediu AD segmentat

Atenție!

Într-un mediu Active Directory segmentat, Kerberos blindat este configurat în mod normal pentru conturile de administrator. Prin urmare, trebuie efectuate configurările 1 și 2 pentru serverele Edge Gateway care vor fi utilizate pentru conectarea la serverele RDP.

Atunci când CyberElements este utilizat într-un mediu AD segmentat, contul de computer de serviciu utilizat pentru blindarea Kerberos trebuie atribuit unui siloz.
Aceasta înseamnă că, dacă este necesar accesul la mașini RDP care aparțin unor terți diferiți, va fi necesar să creați tot atâtea conturi de computer de serviciu, plasate în diferitele ținte ale terților.

Arhitectura produsului poate fi de asemenea afectată.
Această modificare afectează în principal numărul de Edge Gateway implementate, unde se recomandă să existe cel puțin unul dedicat accesului de către un terț specific. Totuși, dacă contextul nu permite implementarea a atât de multe Edge Gateway, se poate utiliza și o arhitectură cu un singur Edge Gateway:

flowchart LR
    subgraph WAN
        USER(Stația de lucru a utilizatorului)
    end
    subgraph Cloud sau DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(Server RDP T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(Server RDP T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(Server RDP T0)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW-T0
    MED ~~~ GW-T1
    MED ~~~ GW-T2

    GW-T0 ==TLS==> MED
    GW-T0 ~~~ MED
    GW-T0 ~~~ MED
    GW-T0 ~~~ MED
    GW-T0 --Kerberos/LDAPS--> KDC
    GW-T0 -..-> |RDP| RDP-T0

    GW-T1 ==TLS==> MED
    GW-T1 ~~~ MED
    GW-T1 ~~~ MED
    GW-T1 --Kerberos/LDAPS--> KDC
    GW-T1 -..-> |RDP| RDP-T1

    GW-T2 ==TLS==> MED
    GW-T2 ~~~ MED
    GW-T2 --Kerberos/LDAPS--> KDC
    GW-T2 -..-> |RDP| RDP-T2
Hold "Ctrl" to enable pan & zoom

Cu această arhitectură, configurarea aplicațiilor RDP este identică cu cea pentru suportul blindării Kerberos.

flowchart LR
    subgraph WAN
        USER(Stația de lucru a utilizatorului)
    end
    subgraph Cloud sau DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(Server RDP T2)
        end
        subgraph T1
            RDP-T1(Server RDP T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(Server RDP T0)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW

    GW ==TLS==> MED
    GW ~~~ MED
    GW --Kerberos/LDAPS--> KDC
    GW-.-> |RDP| RDP-T0
    GW -.-> |RDP| RDP-T1
    GW -.-> |RDP| RDP-T2
Hold "Ctrl" to enable pan & zoom

Cu această arhitectură, configurarea aplicațiilor RDP este identică cu cea pentru suportul blindării Kerberos.
Totuși, trebuie de asemenea să planificați aplicarea unui fișier keytab care conține mai multe conturi de serviciu pe serverul Edge Gateway de conectare.

Particularități ale conectării la o stație de lucru PAW

Un PAW (Privileged Access Workstation) este o stație de lucru dedicată sarcinilor de administrare pe un terț definit.
Din cauza caracterului critic al acestei stații de lucru, se aplică foarte adesea setări de securitate consolidate. Printre îmbunătățirile aplicate, principiul de a nu expune servicii în rețea garantează că nu pot fi exploatate uși ascunse sau servicii cu vulnerabilități de securitate.

Acest principiu face, prin urmare, teoretic imposibil accesul la distanță la stația de lucru PAW. Totuși, CyberElements vă permite să stabiliți o conexiune la stația de lucru PAW fără a avea niciun serviciu care să asculte în rețeaua locală, datorită:

  • Activării serviciilor Remote Desktop
  • Configurării firewallului local pentru a interzice accesul la serviciul Remote Desktop de la orice adresă IP alta decât cele ale stației de lucru PAW sau localhost
  • Instalarea unui Edge Gateway încorporat care va permite accesul local la serviciul Remote Desktop al stației de lucru PAW
flowchart LR
    subgraph WAN
        USER(Stația de lucru a utilizatorului)
    end
    subgraph Cloud sau DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{Server RDP}}
                GW-WIN{{Embeded Edge Gateway}}
            end
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW & GW-WIN
    GW & GW-WIN ==TLS==> MED
    GW & GW-WIN ~~~ MED

    GW & PAW_T1 --> |Kerberos/LDAPS| KDC

    GW-WIN -.-> |RDP| RDP

    GW --x |Nicio conexiune disponibilă| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(Stația de lucru a utilizatorului)
    end
    subgraph Cloud sau DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{Server RDP}}
                GW-WIN{{Embeded Edge Gateway}}
            end
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
        end
    end

    USER --- |1| MED --> |1| GW
    GW -.- |2| MED -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    MED --> |7| GW & GW-WIN
    GW --- |8| MED --- |8| GW-WIN --> |8| RDP
    RDP -.- |9| GW-WIN -.- |9| MED -.-> |9| GW
Hold "Ctrl" to enable pan & zoom
  1. Utilizatorul deschide o aplicație RDP sau RDP HTML5 privilegiată cu suport pentru autentificarea Kerberos către o stație de lucru PAW
  2. Utilizatorul este conectat la Edge Gateway în modul fără agent
  3. Serverul Edge Gateway solicită un token TGT de la controlerul de domeniu Kerberos (KDC) utilizând informațiile contului de computer de serviciu
  4. KDC returnează un TGT criptat și semnat
  5. Serverul Edge Gateway solicită un tichet de serviciu care include TGT-ul anterior
  6. KDC returnează tichetul de serviciu criptat cu cheia serviciului
  7. Mediation Controller notifică serverul Edge Gateway și Edge Gateway încorporat că s-a deschis un tunel între ele, tunelul trecând prin Mediation Controller
  8. Serverul Edge Gateway trimite o cerere de acces către serverul RDP, incluzând tichetul de serviciu, prin intermediul Mediation Controller și al Edge Gateway încorporat
  9. Serverul RDP aprobă accesul la serviciu și conexiunea RDP este inițializată

Cerințe preliminare pe stația de lucru PAW

Cerințele specifice care trebuie aplicate pe stația de lucru PAW (Privileged Access Workstation) pentru conectarea la CyberElements se pot rezuma astfel:

  1. Activați serviciul Remote Desktop
  2. Modificați firewallul local pentru a interzice accesul la serviciul Remote Desktop pentru toate mașinile, cu excepția stației de lucru PAW însăși
  3. Modificați comportamentul Kerberos blindat pentru a furniza întotdeauna revendicări (claims)
  4. Instalați un Windows Edge Gateway în modul încorporat

Activarea serviciului Remote Desktop

Serviciul Remote Desktop poate fi activat manual, așa cum se descrie în documentația Microsoft Enable Remote Desktop on your PC.
Totuși, este de asemenea posibil să utilizați o GPO pentru a activa serviciul:

  • Calea către setarea GPO: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Setare: Allow users to connect remotely by using Remote Desktop Services
  • Valoare: Enabled

Modificarea regulilor de firewall

Din motive de securitate, este important să restricționați accesul la nivelul firewallului, pentru a împiedica accesul din exterior pe portul RDP.

În mod implicit, atunci când RDP este activat, Windows va stabili 2 reguli de firewall care autorizează accesul la portul 3389 în UDP și TCP.
Aceste două reguli trebuie modificate pentru a permite doar conexiunile RDP de la adresa IP remote 127.0.0.1.

Dacă aceste reguli nu există, ele trebuie create manual pe server sau prin intermediul unei GPO.

Modificarea comportamentului Kerberos blindat

Trebuie de asemenea să modificăm comportamentul Kerberos.

Pentru aceasta, puteți configura următoarea GPO:

  • Calea către setarea GPO: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Setare: KDC support for claims, compound authentication and Kerberos armoring
  • Valoare: Enabled, Always provide claims

Această modificare nu are niciun impact asupra securității segmentării AD și a implementării Kerberos consolidate.

Instalarea unui Windows Edge Gateway în modul încorporat

Cerințe preliminare

Înainte de a continua, instalați un Windows Edge Gateway pe stația de lucru PAW și conectați-l la Mediation Controller: Instalați un Windows Edge Gateway

După instalarea Windows Edge Gateway, este necesar să îl comutați în modul încorporat.

Accesați interfața web a tenantului CyberElements cu URI-ul /console.

Exemple

Pentru un tenant numit my-tenant, platforma este accesibilă la https://my-tenant.cyberelements.io.
Formularul de conectare al consolei de administrare poate fi accesat și direct la https://my-tenant.cyberelements.io/console.

Odată conectat, asigurați-vă că eliminați declarația Windows Edge Gateway din modulul Gateways Management.

Windows Edge Gateway este acum pregătit să fie utilizat ca Edge Gateway încorporat.

Atunci când se deschide o sesiune, monitorul Windows Edge Gateway pornește automat (vizibil prin pictograma type:inline din bara de activități). Deoarece această pornire automată nu este necesară pentru stațiile de lucru PAW, ea trebuie dezactivată:

  1. Deschideți editorul de chei de registru regedit.exe ca administrator
  2. Accesați ramura de registru HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. Ștergeți cheia IPdivaGateway Monitor
  4. Reporniți stația de lucru PAW

Configurarea aplicațiilor RDP pentru conectarea la o stație de lucru PAW

Atenție!

Pentru a configura o aplicație RDP sau RDP HTML5 privilegiată pentru a se conecta la o stație de lucru PAW, trebuie mai întâi să efectuați configurările 1 - 3 pentru serverele Edge Gateway care vor fi utilizate pentru conectarea la stațiile de lucru PAW.

Pentru ca o aplicație RDP sau RDP HTML5 privilegiată să se conecteze la o stație de lucru PAW, trebuie îndeplinite șase condiții de configurare:

  1. Setarea SSO nu poate fi stabilită la Disabled, deci trebuie să fie Enabled, Fixed sau Request
  2. Modul fără agent trebuie să fie activat
  3. Numele de server introdus trebuie să fie un FQDN (introducerea adresei IP a serverului va face ca autentificarea să eșueze).
  4. Configurați rutarea prin intermediul unui Edge Gateway încorporat
  5. Kerberos nu trebuie să fie dezactivat în setările avansate ale aplicației RDP sau RDP HTML5.
  6. Specificați numele contului de computer de serviciu care va fi utilizat pentru blindarea Kerberos, adăugând un $ la final

Condiția 4 este indusă de configurarea stațiilor de lucru PAW, care nu trebuie să aibă niciun serviciu care ascultă în rețeaua locală. Prin instalarea unui Edge Gateway sub forma unui program Windows, acesta din urmă poate accesa doar serviciile care ascultă pe localhost.

Example

Pentru a configura o aplicație RDP privilegiată pentru a se conecta în modul blindat Kerberos la serverul RDP my-rds-server utilizând contul de computer svc_cyberelements, va trebui să:

  • Setați nivelul SSO la o valoare diferită de Disabled, în acest caz la Enabled (1), apoi activați modul fără agent (2), introduceți FQDN-ul serverului RDP (3) și, în final, activați modul Edge Gateway încorporat și specificați numele Windows Edge Gateway care a fost instalat pe stația de lucru PAW (4).
  • Asigurați-vă că Kerberos nu este dezactivat (5) și că este specificat numele contului de computer de serviciu, fără a uita să adăugați caracterul $ (6).

Depanarea deschiderii aplicațiilor RDP cu autentificare Kerberos

Pentru a efectua o analiză inițială sau pentru a prelua informațiile de care Systancia are nevoie pentru o analiză avansată a eșecurilor de autentificare Kerberos, efectuați următoarele acțiuni:

  1. Activați logurile de depanare: pentru aceasta, comutați parametrul debug de sub eticheta [Kerberos] la true în fișierul /etc/ipdiva/cleanroom/xrdprecord.ini al serverului Edge Gateway utilizat pentru conexiune. Această acțiune poate fi efectuată cu următoarea comandă:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Conectați-vă la portalul utilizator și lansați o aplicație privilegiată, RDP sau RDP HTML5, în modul fără agent și configurată pentru a utiliza Kerberos. Notați următoarele informații:

    • Ora deschiderii aplicației
    • Numele de utilizator utilizat pentru conectarea la serverul RDP
  3. Pe Edge Gateway utilizat pentru conexiunea anterioară, preluați următoarele fișiere:

    • /var/log/syslog: acest fișier conține, în special, logurile de lansare a sesiunii în modul fără agent.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: înlocuiți <USER> cu numele de utilizator și <DATE> cu data și ora la care a fost deschisă aplicația, preluate la pasul anterior. Acest fișier conține logurile legate de stabilirea sesiunii RDP, inclusiv faza de autentificare Kerberos.
  4. Dezactivați logurile de depanare: pentru aceasta, comutați parametrul debug de sub eticheta [Kerberos] la false în fișierul /etc/ipdiva/cleanroom/xrdprecord.ini al serverului Edge Gateway utilizat pentru conexiune. Această acțiune poate fi efectuată cu următoarea comandă:

    1
    sed -i "3s/true/false/" /etc/ipdiva/cleanroom/xrdprecord.ini