Gå till innehållet

Gruppen Protected Users, Kerberos-autentisering, AD-siloindelning och PAW-arbetsstation

Att säkra Active Directory-katalogerna är en central utmaning för infrastruktursäkerheten.

ANSSI (den franska nationella myndigheten för cybersäkerhet) betonar särskilt vikten av avgränsning i denna säkerhet och av att införa en siloindelning av servrarna med Kerberos-autentisering. Detta nämns i myndighetens rekommendationer för säker administration av IS som bygger på AD.

Våra lösningar CyberElements Bastion erbjuder stor flexibilitet vid införandet av den här säkerheten, som kan delas upp i fyra olika integrationsnivåer som kan tillämpas successivt:

Konfigurera RDP-applikationer för Kerberos-stöd

Varning!

För att konfigurera en privilegierad RDP- eller privilegierad HTML5 RDP-applikation för Kerberos-stöd måste du först utföra konfiguration 1 för de Edge Gateways som ska användas för RDP-anslutningen med Kerberos.

För att en privilegierad RDP- eller HTML5 RDP-applikation ska kunna ansluta till en RDP-server med Kerberos krävs fyra konfigurationsvillkor:

  1. SSO-inställningen får inte stå på Disabled, den måste alltså vara Enabled, Fixed eller Request
  2. Läget utan agent måste vara aktiverat
  3. Det servernamn som anges måste vara ett FQDN (om serverns IP-adress anges misslyckas autentiseringen).
  4. Kerberos får inte vara inaktiverat i de avancerade inställningarna för RDP- eller HTML5 RDP-applikationen.
Example

För att konfigurera en privilegierad RDP-applikation så att den ansluter till RDP-servern my-rds-server via Kerberos måste du:

  • Sätta SSO-nivån till ett annat värde än Disabled, här till Enabled (1), sedan aktivera läget utan agent (2) och till sist ange FQDN för RDP-servern (3).
  • Säkerställa att Kerberos inte är inaktiverat (4)
Flödesschema
flowchart LR 
    subgraph WAN 
        USER(Användarens arbetsstation)
    end 
    subgraph Cloud eller DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP-server)
    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. Användaren öppnar en privilegierad RDP- eller HTML5 RDP-applikation med stöd för Kerberos-autentisering.
  2. Användaren ansluts till Edge Gateway i läget utan agent
  3. Edge Gateway begär en TGT-token från Kerberos Domain Controller (KDC).
  4. KDC returnerar en krypterad och signerad TGT
  5. Edge Gateway begär en tjänstbiljett som innehåller den föregående TGT
  6. KDC returnerar tjänstbiljetten krypterad med tjänstnyckeln
  7. Edge Gateway skickar en åtkomstförfrågan till RDP-servern, inklusive tjänstbiljetten.
  8. RDP-servern beviljar åtkomsten till tjänsten och RDP-anslutningen initieras.

Konfigurera RDP-applikationer för stöd av Kerberos armoring

Varning!

För att lyckas konfigurera en privilegierad RDP- eller HTML5 RDP-applikation för stöd av Kerberos armoring måste du först utföra konfigurationerna 1 och 2 för de Edge Gateways som ska användas för RDP-anslutningen med Kerberos armoring.

För att en privilegierad RDP- eller HTML5 RDP-applikation ska kunna ansluta till en RDP-server med Kerberos armoring krävs fem konfigurationsvillkor:

  1. SSO-inställningen får inte stå på Disabled, den måste alltså vara Enabled, Fixed eller Request
  2. Läget utan agent måste vara aktiverat
  3. Det servernamn som anges måste vara ett FQDN (om serverns IP-adress anges misslyckas autentiseringen).
  4. Kerberos får inte vara inaktiverat i de avancerade inställningarna för RDP- eller HTML5 RDP-applikationen.
  5. Ange namnet på det tjänstdatorkonto som ska användas för Kerberos armoring, med ett $ i slutet
Example

För att konfigurera en privilegierad RDP-applikation så att den ansluter i läget Kerberos armoring till RDP-servern my-rds-server med datorkontot svc_cyberelements måste du:

  • Sätta SSO-nivån till ett annat värde än Disabled, här till Enabled (1), sedan aktivera läget utan agent (2) och till sist ange FQDN för RDP-servern (3).
  • Säkerställa att Kerberos inte är inaktiverat (4) och att namnet på tjänstdatorkontot är angivet, utan att glömma tecknet $ (5).
Flödesschema
flowchart LR 
    subgraph WAN 
        USER(Användarens arbetsstation)
    end 
    subgraph Cloud eller DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP-server)
    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. Användaren öppnar en privilegierad RDP- eller HTML5 RDP-applikation med stöd för Kerberos-autentisering.
  2. Användaren ansluts till Edge Gateway i läget utan agent
  3. Edge Gateway begär en TGT-token från Kerberos Domain Controller (KDC) med hjälp av uppgifterna för tjänstdatorkontot
  4. KDC returnerar en krypterad och signerad TGT
  5. Edge Gateway begär en tjänstbiljett som innehåller den föregående TGT
  6. KDC returnerar tjänstbiljetten krypterad med tjänstnyckeln
  7. Edge Gateway skickar en åtkomstförfrågan till RDP-servern, inklusive tjänstbiljetten.
  8. RDP-servern beviljar åtkomsten till tjänsten och RDP-anslutningen initieras.

Särdrag hos arkitekturen i en siloindelad AD-miljö

Varning!

I en siloindelad Active Directory-miljö är Kerberos armoring normalt konfigurerat för administratörskontona. Därför måste konfigurationerna 1 och 2 utföras för de Edge Gateways som ska användas för anslutningen till RDP-servrarna.

När CyberElements Bastion används i en AD-miljö med silor måste det datorkonto för tjänsten som används för Kerberos-armoring tilldelas en silo.
Det innebär att om det är nödvändigt att komma åt RDP-maskiner som hör till olika nivåer måste lika många tjänstdatorkonton skapas och placeras i de olika målnivåerna.

Produktarkitekturen kan också påverkas.
Denna förändring rör framför allt antalet Edge Gateways som rullas ut, där det rekommenderas att ha minst en dedikerad till åtkomsten för en bestämd nivå. Om sammanhanget inte tillåter att så många Edge Gateways rullas ut kan även en arkitektur med en enda Edge Gateway användas:

flowchart LR
    subgraph WAN
        USER(Användarens arbetsstation)
    end
    subgraph Cloud eller DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(RDP-server T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(RDP-server T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP-server 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

Med denna arkitektur är konfigurationen av RDP-applikationerna identisk med den för stöd av Kerberos armoring.

flowchart LR
    subgraph WAN
        USER(Användarens arbetsstation)
    end
    subgraph Cloud eller DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(RDP-server T2)
        end
        subgraph T1
            RDP-T1(RDP-server T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP-server 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

Med denna arkitektur är konfigurationen av RDP-applikationerna identisk med den för stöd av Kerberos armoring.
Du måste dock också planera för att tillämpa en keytab-fil som innehåller flera tjänstkonton på den Edge Gateway som används för anslutningen.

Särdrag hos anslutningen till en PAW-arbetsstation

En PAW (Privileged Access Workstation) är en arbetsstation som är avsedd för administrationsuppgifter på en bestämd nivå.
Eftersom denna arbetsstation är kritisk tillämpas mycket ofta skärpta säkerhetsinställningar. Bland de skärpningar som tillämpas säkerställer principen att inte exponera tjänster i nätverket att inga bakdörrar och inga tjänster med säkerhetsbrister kan utnyttjas.

Den här principen gör därför fjärråtkomst till PAW-arbetsstationen teoretiskt omöjlig. CyberElements Bastion gör det dock möjligt att upprätta en anslutning till PAW-arbetsstationen utan att några tjänster lyssnar i det lokala nätverket, tack vare:

  • aktiveringen av Fjärrskrivbordstjänsterna
  • konfigurationen av den lokala brandväggen så att åtkomst till Fjärrskrivbordstjänsten nekas för alla IP-adresser utom PAW-arbetsstationens egna, eller localhost
  • installationen av en inbyggd Edge Gateway som ger lokal åtkomst till Fjärrskrivbordstjänsten på PAW-arbetsstationen
flowchart LR
    subgraph WAN
        USER(Användarens arbetsstation)
    end
    subgraph Cloud eller DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP-server}}
                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 |Ingen anslutning tillgänglig| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(Användarens arbetsstation)
    end
    subgraph Cloud eller DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP-server}}
                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. Användaren öppnar mot en PAW-arbetsstation en privilegierad RDP- eller HTML5 RDP-applikation med stöd för Kerberos-autentisering
  2. Användaren ansluts till Edge Gateway i läget utan agent
  3. Edge Gateway begär en TGT-token från Kerberos Domain Controller (KDC) med hjälp av uppgifterna för tjänstdatorkontot
  4. KDC returnerar en krypterad och signerad TGT
  5. Edge Gateway begär en tjänstbiljett som innehåller den föregående TGT
  6. KDC returnerar tjänstbiljetten krypterad med tjänstnyckeln
  7. Mediation Controller meddelar Edge Gateway och den inbyggda Edge Gateway att en tunnel har öppnats mellan dem, och att tunneln går via Mediation Controller
  8. Edge Gateway skickar en åtkomstförfrågan till RDP-servern, inklusive tjänstbiljetten, via Mediation Controller och den inbyggda Edge Gateway
  9. RDP-servern beviljar åtkomsten till tjänsten och RDP-anslutningen initieras

Förutsättningar på PAW-arbetsstationen

De specifika förutsättningar som ska tillämpas på PAW-arbetsstationen (Privileged Access Workstation) för anslutning till CyberElements Bastion sammanfattas så här:

  1. Aktivera Fjärrskrivbordstjänsten
  2. Ändra den lokala brandväggen så att åtkomst till Fjärrskrivbordstjänsten nekas för alla maskiner utom PAW-arbetsstationen själv
  3. Ändra beteendet hos Kerberos armoring så att anspråk alltid tillhandahålls
  4. Installera en Windows Edge Gateway i inbyggt läge

Aktivera Fjärrskrivbordstjänsten

Fjärrskrivbordstjänsten kan aktiveras manuellt så som beskrivs i Microsofts dokumentation Enable Remote Desktop on your PC.
Det är dock även möjligt att använda en GPO för att aktivera tjänsten:

  • Sökväg till GPO-inställningen: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Inställning: Allow users to connect remotely by using Remote Desktop Services
  • Värde: Enabled

Ändra brandväggsreglerna

Av säkerhetsskäl är det viktigt att begränsa åtkomsten på brandväggsnivå, för att förhindra åtkomst utifrån på RDP-porten.

När RDP är aktiverat skapar Windows som standard 2 brandväggsregler som tillåter åtkomst till porten 3389 via UDP och TCP.
Dessa två regler måste ändras så att endast RDP-anslutningar från fjärr-IP-adressen 127.0.0.1 tillåts.

Om dessa regler inte finns måste de skapas manuellt på servern eller via en GPO.

Ändra beteendet hos Kerberos armoring

Vi behöver också ändra beteendet hos Kerberos.

För detta kan du sätta upp följande GPO:

  • Sökväg till GPO-inställningen: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Inställning: KDC support for claims, compound authentication and Kerberos armoring
  • Värde: Enabled, Always provide claims

Denna ändring påverkar inte säkerheten hos AD-siloindelningen och den förstärkta Kerberos-implementeringen.

Installera en Windows Edge Gateway i inbyggt läge

Förutsättningar

Innan du fortsätter installerar du en Windows Edge Gateway på PAW-arbetsstationen och ansluter den till Mediation Controller: Installera en Windows Edge Gateway

Efter installationen av Windows Edge Gateway måste den växlas till inbyggt läge.

Öppna webbgränssnittet för Mediation Controller-servern med URI:n /console.

Exempel

Om åtkomsten till Mediation Controller sker via dess webb-IP-adress 10.0.10.10 nås administrationskonsolen på https://10.0.10.10/console.

Om Mediation Controller kan nås via ett DNS-namn, till exempel cyberelements-bastion.domain.local, nås administrationskonsolen på https://cyberelements-bastion.domain.local/console.

Se till att ta bort deklarationen av Windows Edge Gateway från modulen Gateways Management när anslutningen är klar.

Windows Edge Gateway är nu klar att användas som en inbyggd Edge Gateway.

När en session öppnas startar övervakaren för Windows Edge Gateway automatiskt (syns med ikonen type:inline i aktivitetsfältet). Eftersom denna automatiska start inte behövs för PAW-arbetsstationer måste den inaktiveras:

  1. Öppna registereditorn regedit.exe som administratör
  2. Gå till registergrenen HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. Ta bort nyckeln IPdivaGateway Monitor
  4. Starta om PAW-arbetsstationen

Konfigurera RDP-applikationer för anslutning till en PAW-arbetsstation

Varning!

För att konfigurera en privilegierad RDP- eller HTML5 RDP-applikation för anslutning till en PAW-arbetsstation måste du först utföra konfigurationerna 1 till 3 för de Edge Gateways som ska användas för anslutningen till PAW-arbetsstationerna.

För att en privilegierad RDP- eller HTML5 RDP-applikation ska kunna ansluta till en PAW-arbetsstation måste sex konfigurationsvillkor vara uppfyllda:

  1. SSO-inställningen får inte stå på Disabled, den måste alltså vara Enabled, Fixed eller Request
  2. Läget utan agent måste vara aktiverat
  3. Det servernamn som anges måste vara ett FQDN (om serverns IP-adress anges misslyckas autentiseringen).
  4. Konfigurera routningen via en inbyggd Edge Gateway
  5. Kerberos får inte vara inaktiverat i de avancerade inställningarna för RDP- eller HTML5 RDP-applikationen.
  6. Ange namnet på det tjänstdatorkonto som ska användas för Kerberos armoring, med ett $ i slutet

Villkor 4 följer av konfigurationen av PAW-arbetsstationerna, där ingen tjänst får lyssna i det lokala nätverket. Om en Edge Gateway installeras i form av ett Windows-program kan denna endast komma åt tjänster som lyssnar på localhost.

Example

För att konfigurera en privilegierad RDP-applikation så att den ansluter i läget Kerberos armoring till RDP-servern my-rds-server med datorkontot svc_cyberelements måste du:

  • Sätta SSO-nivån till ett annat värde än Disabled, här till Enabled (1), sedan aktivera läget utan agent (2), ange FQDN för RDP-servern (3) och till sist aktivera läget med inbyggd Edge Gateway och ange namnet på den Windows Edge Gateway som har installerats på PAW-arbetsstationen (4).
  • Säkerställa att Kerberos inte är inaktiverat (5) och att namnet på tjänstdatorkontot är angivet, utan att glömma tecknet $ (6).

Felsökning av öppningen av RDP-applikationer med Kerberos-autentisering

För att göra en första analys eller hämta de uppgifter som Systancia behöver för en fördjupad analys av misslyckad Kerberos-autentisering, utför följande åtgärder:

  1. Aktivera debug-loggarna: växla för detta parametern debug under taggen [Kerberos] till true i filen /etc/ipdiva/cleanroom/xrdprecord.ini på den Edge Gateway-server som används för anslutningen. Denna åtgärd kan utföras med följande kommando:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Logga in på användarportalen och starta en privilegierad applikation, RDP eller RDP HTML5, i läget utan agent och konfigurerad för att använda Kerberos. Notera följande uppgifter:

    • Klockslag då applikationen öppnades
    • Det användarnamn som användes för att ansluta till RDP-servern
  3. Hämta följande filer på den Edge Gateway som användes för den föregående anslutningen:

    • /var/log/syslog: denna fil innehåller i synnerhet loggposterna för start av sessionen i läget utan agent.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: byt ut <USER> mot användarnamnet och <DATE> mot datumet och klockslaget då applikationen öppnades, som hämtades i föregående steg. Denna fil innehåller loggposter om upprättandet av RDP-sessionen, inklusive fasen för Kerberos-autentisering.
  4. Inaktivera debug-loggarna: växla för detta parametern debug under taggen [Kerberos] till false i filen /etc/ipdiva/cleanroom/xrdprecord.ini på den Edge Gateway-server som används för anslutningen. Denna åtgärd kan utföras med följande kommando:

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