Hyppää sisältöön

Ryhmä Protected Users, Kerberos-tunnistautuminen, AD-siiloutus ja PAW-työasema

Active Directory -hakemistojen suojaaminen on keskeinen haaste infrastruktuurin turvallisuudessa.

ANSSI (Ranskan kansallinen kyberturvallisuusvirasto) korostaa erityisesti lokeroinnin merkitystä tässä turvallisuudessa sekä palvelinten siiloutuksen toteuttamista Kerberos-tunnistautumisen kanssa. Tämä mainitaan sen suosituksissa AD:hen perustuvien tietojärjestelmien turvallisesta hallinnasta.

CyberElements Bastion -ratkaisumme tarjoavat suuren joustavuuden tämän turvallisuuden toteuttamisessa, joka jakautuu neljään eri integrointitasoon, jotka voi ottaa käyttöön vaiheittain:

RDP-sovellusten määrittäminen Kerberos-tuelle

Varoitus!

Määrittääksesi privilegoidun RDP- tai privilegoidun HTML5-RDP-sovelluksen tukemaan Kerberosta sinun on ensin tehtävä määritys 1 niille Edge Gateway -palvelimille, joita käytetään RDP-yhteyden muodostamiseen Kerberoksen kanssa.

Jotta privilegoitu RDP- tai HTML5-RDP-sovellus yhdistäisi RDP-palvelimeen Kerberoksen kanssa, vaaditaan neljä määritysehtoa:

  1. SSO-asetusta ei voi asettaa arvoon Disabled, joten sen on oltava Enabled, Fixed tai Request
  2. Agentiton tila on otettava käyttöön
  3. Annetun palvelimen nimen on oltava FQDN (palvelimen IP-osoitteen antaminen saa tunnistautumisen epäonnistumaan).
  4. Kerberosta ei saa poistaa käytöstä RDP- tai HTML5-RDP-sovelluksen lisäasetuksissa.
Example

Määrittääksesi privilegoidun RDP-sovelluksen yhdistämään RDP-palvelimeen my-rds-server Kerberoksen avulla sinun on:

  • Asetettava SSO-taso muuhun arvoon kuin Disabled, tässä tapauksessa arvoon Enabled (1), otettava sen jälkeen käyttöön agentiton tila (2) ja lopuksi annettava RDP-palvelimen FQDN (3).
  • Varmistettava, ettei Kerberos ole poistettu käytöstä (4)
Vuokaavio
flowchart LR 
    subgraph WAN 
        USER(Käyttäjän työasema)
    end 
    subgraph Cloud tai DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP-palvelin)
    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. Käyttäjä avaa privilegoidun RDP- tai HTML5-RDP-sovelluksen, joka tukee Kerberos-tunnistautumista.
  2. Käyttäjä yhdistetään Edge Gateway -palvelimeen agentittomassa tilassa
  3. Edge Gateway pyytää TGT-tokenia Kerberos Domain Controllerilta (KDC).
  4. KDC palauttaa salatun ja allekirjoitetun TGT:n
  5. Edge Gateway pyytää palvelutikettiä, joka sisältää edellisen TGT:n
  6. KDC palauttaa palvelutiketin salattuna palveluavaimella
  7. Edge Gateway tekee pääsypyynnön RDP-palvelimelle palvelutiketin kanssa.
  8. RDP-palvelin hyväksyy pääsyn palveluun, ja RDP-yhteys alustetaan.

RDP-sovellusten määrittäminen Kerberos armoringin tukemiseen

Varoitus!

Määrittääksesi privilegoidun RDP- tai HTML5-RDP-sovelluksen onnistuneesti tukemaan Kerberos armoringia sinun on ensin tehtävä määritykset 1 ja 2 niille Edge Gateway -palvelimille, joita käytetään RDP-yhteyden muodostamiseen Kerberos armoringin kanssa.

Jotta privilegoitu RDP- tai HTML5-RDP-sovellus yhdistäisi RDP-palvelimeen Kerberos armoringin kanssa, vaaditaan viisi määritysehtoa:

  1. SSO-asetusta ei voi asettaa arvoon Disabled, joten sen on oltava Enabled, Fixed tai Request
  2. Agentiton tila on otettava käyttöön
  3. Annetun palvelimen nimen on oltava FQDN (palvelimen IP-osoitteen antaminen saa tunnistautumisen epäonnistumaan).
  4. Kerberosta ei saa poistaa käytöstä RDP- tai HTML5-RDP-sovelluksen lisäasetuksissa.
  5. Ilmoita sen palvelukonetilin nimi, jota käytetään Kerberos armoringiin, lisäämällä loppuun $
Example

Määrittääksesi privilegoidun RDP-sovelluksen yhdistämään Kerberos armoring -tilassa RDP-palvelimeen my-rds-server konetiliä svc_cyberelements käyttäen sinun on:

  • Asetettava SSO-taso muuhun arvoon kuin Disabled, tässä tapauksessa arvoon Enabled (1), otettava sen jälkeen käyttöön agentiton tila (2) ja lopuksi annettava RDP-palvelimen FQDN (3).
  • Varmistettava, ettei Kerberos ole poistettu käytöstä (4) ja että palvelukonetilin nimi on ilmoitettu, muistaen lisätä merkin $ (5).
Vuokaavio
flowchart LR 
    subgraph WAN 
        USER(Käyttäjän työasema)
    end 
    subgraph Cloud tai DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP-palvelin)
    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. Käyttäjä avaa privilegoidun RDP- tai HTML5-RDP-sovelluksen, joka tukee Kerberos-tunnistautumista.
  2. Käyttäjä yhdistetään Edge Gateway -palvelimeen agentittomassa tilassa
  3. Edge Gateway pyytää TGT-tokenia Kerberos Domain Controllerilta (KDC) palvelukonetilin tietoja käyttäen
  4. KDC palauttaa salatun ja allekirjoitetun TGT:n
  5. Edge Gateway pyytää palvelutikettiä, joka sisältää edellisen TGT:n
  6. KDC palauttaa palvelutiketin salattuna palveluavaimella
  7. Edge Gateway tekee pääsypyynnön RDP-palvelimelle palvelutiketin kanssa.
  8. RDP-palvelin hyväksyy pääsyn palveluun, ja RDP-yhteys alustetaan.

Arkkitehtuurin erityispiirteet siiloutetussa AD-ympäristössä

Varoitus!

Siiloutetussa Active Directory -ympäristössä Kerberos armoring on tavallisesti määritetty järjestelmänvalvojatileille. Siksi määritykset 1 ja 2 on tehtävä niille Edge Gateway -palvelimille, joita käytetään RDP-palvelimiin yhdistämiseen.

Kun CyberElements Bastion -järjestelmää käytetään siiloitetussa AD-ympäristössä, Kerberos-suojauksessa käytettävä palvelun tietokonetili on liitettävä siiloon.
Tämä tarkoittaa, että jos on tarpeen käyttää eri tasoille kuuluvia RDP-koneita, on luotava vastaava määrä palvelukonetilejä, jotka sijoitetaan eri kohdetasoille.

Myös tuotteen arkkitehtuuriin voi kohdistua vaikutuksia.
Tämä muutos vaikuttaa pääasiassa käyttöön otettujen Edge Gateway -palvelinten määrään: on suositeltavaa varata vähintään yksi tietyn tason pääsyä varten. Jos konteksti ei kuitenkaan salli näin monen Edge Gateway -palvelimen käyttöönottoa, voidaan käyttää myös yhden Edge Gateway -palvelimen arkkitehtuuria:

flowchart LR
    subgraph WAN
        USER(Käyttäjän työasema)
    end
    subgraph Cloud tai DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(RDP-palvelin T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(RDP-palvelin T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP-palvelin 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

Tässä arkkitehtuurissa RDP-sovellusten määritys on sama kuin Kerberos armoringin tuessa.

flowchart LR
    subgraph WAN
        USER(Käyttäjän työasema)
    end
    subgraph Cloud tai DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(RDP-palvelin T2)
        end
        subgraph T1
            RDP-T1(RDP-palvelin T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP-palvelin 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

Tässä arkkitehtuurissa RDP-sovellusten määritys on sama kuin Kerberos armoringin tuessa.
Sinun on kuitenkin lisäksi varauduttava soveltamaan yhteyden Edge Gateway -palvelimeen keytab-tiedostoa, joka sisältää useita palvelutilejä.

PAW-työasemaan yhdistämisen erityispiirteet

PAW (Privileged Access Workstation) on työasema, joka on varattu tietyn tason hallintatehtäviin.
Tämän työaseman kriittisyyden vuoksi siihen sovelletaan hyvin usein tiukennettuja turva-asetuksia. Sovellettuihin tiukennuksiin kuuluu periaate, jonka mukaan palveluja ei aseteta verkkoon näkyviksi, mikä varmistaa, ettei takaovia tai tietoturva-aukkoja sisältäviä palveluja voi hyödyntää.

Tämä periaate tekee PAW-työaseman etäkäytön teoriassa mahdottomaksi. CyberElements Bastion mahdollistaa kuitenkin yhteyden muodostamisen PAW-työasemaan ilman, että lähiverkossa on kuuntelevia palveluja, seuraavien ansiosta:

  • Remote Desktop -palvelujen käyttöönotto
  • Paikallisen palomuurin määritys, joka kieltää pääsyn Remote Desktop -palveluun kaikilta muilta IP-osoitteilta kuin PAW-työaseman omilta tai localhost
  • Sisäänrakennetun Edge Gateway -palvelimen asennus, joka mahdollistaa paikallisen pääsyn PAW-työaseman Remote Desktop -palveluun
flowchart LR
    subgraph WAN
        USER(Käyttäjän työasema)
    end
    subgraph Cloud tai DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP-palvelin}}
                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 |Ei yhteyttä saatavilla| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(Käyttäjän työasema)
    end
    subgraph Cloud tai DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP-palvelin}}
                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. Käyttäjä avaa PAW-työasemaan privilegoidun RDP- tai HTML5-RDP-sovelluksen, joka tukee Kerberos-tunnistautumista
  2. Käyttäjä yhdistetään Edge Gateway -palvelimeen agentittomassa tilassa
  3. Edge Gateway pyytää TGT-tokenia Kerberos Domain Controllerilta (KDC) palvelukonetilin tietoja käyttäen
  4. KDC palauttaa salatun ja allekirjoitetun TGT:n
  5. Edge Gateway pyytää palvelutikettiä, joka sisältää edellisen TGT:n
  6. KDC palauttaa palvelutiketin salattuna palveluavaimella
  7. Mediation Controller ilmoittaa Edge Gateway -palvelimelle ja sisäänrakennetulle Edge Gateway -palvelimelle, että niiden välille on avattu tunneli, joka kulkee Mediation Controller -palvelimen kautta
  8. Edge Gateway lähettää pääsypyynnön RDP-palvelimelle palvelutiketin kanssa Mediation Controller -palvelimen ja sisäänrakennetun Edge Gateway -palvelimen kautta
  9. RDP-palvelin hyväksyy pääsyn palveluun, ja RDP-yhteys alustetaan

PAW-työaseman edellytykset

PAW-työasemalla (Privileged Access Workstation) sovellettavat erityiset edellytykset CyberElements Bastion -yhteyden muodostamiseksi voidaan tiivistää seuraavasti:

  1. Ota Remote Desktop -palvelu käyttöön
  2. Muuta paikallista palomuuria kieltämään pääsy Remote Desktop -palveluun kaikilta koneilta paitsi PAW-työasemalta itseltään
  3. Muuta Kerberos armoringin toimintaa niin, että väittämät toimitetaan aina
  4. Asenna Windows Edge Gateway sisäänrakennetussa tilassa

Ota Remote Desktop -palvelu käyttöön

Remote Desktop -palvelu voidaan ottaa käyttöön käsin, kuten Microsoftin dokumentaatiossa Enable Remote Desktop on your PC kuvataan.
Palvelu on kuitenkin mahdollista ottaa käyttöön myös GPO:n avulla:

  • GPO-asetuksen polku: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Asetus: Allow users to connect remotely by using Remote Desktop Services
  • Arvo: Enabled

Palomuurisääntöjen muuttaminen

Turvallisuussyistä on tärkeää rajoittaa pääsyä palomuurin tasolla, jotta ulkopuolelta tuleva pääsy RDP-porttiin estetään.

Kun RDP on otettu käyttöön, Windows luo oletuksena 2 palomuurisääntöä, jotka sallivat pääsyn porttiin 3389 UDP:llä ja TCP:llä.
Nämä kaksi sääntöä on muutettava sallimaan vain RDP-yhteydet etä-IP-osoitteesta 127.0.0.1.

Jos näitä sääntöjä ei ole, ne on luotava käsin palvelimella tai GPO:n avulla.

Kerberos armoringin toiminnan muuttaminen

Myös Kerberoksen toimintaa on muutettava.

Tätä varten voit määrittää seuraavan GPO:n:

  • GPO-asetuksen polku: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Asetus: KDC support for claims, compound authentication and Kerberos armoring
  • Arvo: Enabled, Always provide claims

Tämä muutos ei vaikuta AD-siiloutuksen eikä vahvistetun Kerberos-toteutuksen turvallisuuteen.

Asenna Windows Edge Gateway sisäänrakennetussa tilassa

Edellytykset

Asenna ennen jatkamista Windows Edge Gateway PAW-työasemalle ja liitä se Mediation Controller -palvelimeen: Asenna Windows Edge Gateway

Windows Edge Gateway -palvelimen asennuksen jälkeen se on siirrettävä sisäänrakennettuun tilaan.

Avaa Mediation Controller -palvelimen verkkokäyttöliittymä URI-tunnuksella /console.

Esimerkkejä

Jos Mediation Controller -palvelimeen päästään sen verkko-IP-osoitteella 10.0.10.10, hallintakonsoli on osoitteessa https://10.0.10.10/console.

Jos Mediation Controller on saavutettavissa DNS-nimellä, esimerkiksi cyberelements-bastion.domain.local, hallintakonsoli on osoitteessa https://cyberelements-bastion.domain.local/console.

Kun yhteys on muodostettu, muista poistaa Windows Edge Gateway -palvelimen ilmoitus moduulista Gateways Management.

Windows Edge Gateway on nyt valmis käytettäväksi sisäänrakennettuna Edge Gateway -palvelimena.

Kun istunto avataan, Windows Edge Gateway -palvelimen monitori käynnistyy automaattisesti (näkyy kuvakkeena type:inline tehtäväpalkissa). Koska tämä automaattinen käynnistys ei ole tarpeen PAW-työasemilla, se on poistettava käytöstä:

  1. Avaa rekisteriavainten muokkain regedit.exe järjestelmänvalvojana
  2. Siirry rekisterihaaraan HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. Poista avain IPdivaGateway Monitor
  4. Käynnistä PAW-työasema uudelleen

RDP-sovellusten määrittäminen PAW-työasemaan yhdistämistä varten

Varoitus!

Määrittääksesi privilegoidun RDP- tai HTML5-RDP-sovelluksen yhdistämään PAW-työasemaan sinun on ensin tehtävä määritykset 1–3 niille Edge Gateway -palvelimille, joita käytetään PAW-työasemiin yhdistämiseen.

Jotta privilegoitu RDP- tai HTML5-RDP-sovellus yhdistäisi PAW-työasemaan, kuuden määritysehdon on täytyttävä:

  1. SSO-asetusta ei voi asettaa arvoon Disabled, joten sen on oltava Enabled, Fixed tai Request
  2. Agentiton tila on otettava käyttöön
  3. Annetun palvelimen nimen on oltava FQDN (palvelimen IP-osoitteen antaminen saa tunnistautumisen epäonnistumaan).
  4. Määritä reititys sisäänrakennetun Edge Gateway -palvelimen kautta
  5. Kerberosta ei saa poistaa käytöstä RDP- tai HTML5-RDP-sovelluksen lisäasetuksissa.
  6. Ilmoita sen palvelukonetilin nimi, jota käytetään Kerberos armoringiin, lisäämällä loppuun $

Ehto 4 johtuu PAW-työasemien määrityksestä: niillä mikään palvelu ei saa kuunnella paikallisverkossa. Kun Edge Gateway asennetaan Windows-ohjelman muodossa, se pääsee vain niihin palveluihin, jotka kuuntelevat localhostia.

Example

Määrittääksesi privilegoidun RDP-sovelluksen yhdistämään Kerberos armoring -tilassa RDP-palvelimeen my-rds-server konetiliä svc_cyberelements käyttäen sinun on:

  • Asetettava SSO-taso muuhun arvoon kuin Disabled, tässä tapauksessa arvoon Enabled (1), otettava sen jälkeen käyttöön agentiton tila (2), annettava RDP-palvelimen FQDN (3) ja lopuksi otettava käyttöön sisäänrakennetun Edge Gateway -palvelimen tila ja ilmoitettava sen Windows Edge Gateway -palvelimen nimi, joka on asennettu PAW-työasemalle (4).
  • Varmistettava, ettei Kerberos ole poistettu käytöstä (5) ja että palvelukonetilin nimi on ilmoitettu, muistaen lisätä merkin $ (6).

RDP-sovellusten avaamisen vianmääritys Kerberos-tunnistautumisen kanssa

Alustavan analyysin tekemiseksi tai niiden tietojen keräämiseksi, joita Systancia tarvitsee Kerberos-tunnistautumisen epäonnistumisten syvälliseen analyysiin, suorita seuraavat toimet:

  1. Ota debug-lokit käyttöön: aseta tätä varten parametri debug merkinnän [Kerberos] alla arvoon true yhteyteen käytetyn Edge Gateway -palvelimen tiedostossa /etc/ipdiva/cleanroom/xrdprecord.ini. Tämä toimi voidaan suorittaa seuraavalla komennolla:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Kirjaudu käyttäjäportaaliin ja käynnistä privilegoitu sovellus, RDP tai HTML5 RDP, agentittomassa tilassa ja Kerberoksen käyttöön määritettynä. Merkitse muistiin seuraavat tiedot:

    • Sovelluksen avaamisen kellonaika
    • Käyttäjänimi, jota käytettiin RDP-palvelimeen yhdistämiseen
  3. Hae yhteyteen käytetyltä Edge Gateway -palvelimelta seuraavat tiedostot:

    • /var/log/syslog: tämä tiedosto sisältää erityisesti lokit istunnon käynnistämisestä agentittomassa tilassa.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: korvaa <USER> käyttäjänimellä ja <DATE> edellisessä vaiheessa muistiin merkityllä sovelluksen avaamisen päivämäärällä ja kellonajalla. Tämä tiedosto sisältää RDP-istunnon muodostamiseen liittyvät lokit, mukaan lukien Kerberos-tunnistautumisen vaiheen.
  4. Poista debug-lokit käytöstä: aseta tätä varten parametri debug merkinnän [Kerberos] alla arvoon false yhteyteen käytetyn Edge Gateway -palvelimen tiedostossa /etc/ipdiva/cleanroom/xrdprecord.ini. Tämä toimi voidaan suorittaa seuraavalla komennolla:

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