Przejdź do treści

Grupa Protected Users, uwierzytelnianie Kerberos, segmentacja AD i stacja robocza PAW

Zabezpieczanie katalogów Active Directory to jedno z głównych wyzwań bezpieczeństwa infrastruktury.

ANSSI (francuska krajowa agencja cyberbezpieczeństwa) szczególnie podkreśla znaczenie podziału na strefy w tym zabezpieczeniu oraz wdrożenia segmentacji serwerów z uwierzytelnianiem Kerberos. Mówią o tym jej zalecenia dotyczące bezpiecznej administracji systemami informatycznymi opartymi na AD.

Nasze rozwiązania CyberElements zapewniają dużą elastyczność we wdrażaniu tego zabezpieczenia, które można podzielić na cztery różne poziomy integracji, wprowadzane stopniowo:

Konfigurowanie aplikacji RDP pod obsługę Kerberos

Ostrzeżenie!

Aby skonfigurować uprzywilejowaną aplikację RDP lub uprzywilejowaną aplikację HTML5 RDP pod obsługę Kerberos, musisz najpierw wykonać konfigurację 1 tych Edge Gateway, które będą używane do łączenia się z RDP za pomocą Kerberos.

Aby uprzywilejowana aplikacja RDP lub HTML5 RDP połączyła się z serwerem RDP za pomocą Kerberos, muszą być spełnione cztery warunki konfiguracji:

  1. Parametr SSO nie może mieć wartości Disabled, musi więc mieć wartość Enabled, Fixed lub Request
  2. Tryb bez agenta musi być włączony
  3. Wprowadzona nazwa serwera musi być FQDN (wprowadzenie adresu IP serwera spowoduje niepowodzenie uwierzytelniania).
  4. Kerberos nie może być wyłączony w ustawieniach zaawansowanych aplikacji RDP lub HTML5 RDP.
Example

Aby skonfigurować uprzywilejowaną aplikację RDP tak, aby łączyła się z serwerem RDP my-rds-server za pomocą Kerberos, musisz:

  • Ustawić poziom SSO na wartość inną niż Disabled, tutaj na Enabled (1), następnie włączyć tryb bez agenta (2) i na koniec wprowadzić FQDN serwera RDP (3).
  • Upewnić się, że Kerberos nie jest wyłączony (4)
Schemat przebiegu
flowchart LR 
    subgraph WAN 
        USER(Stacja robocza użytkownika)
    end 
    subgraph Cloud lub DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(Serwer 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. Użytkownik otwiera uprzywilejowaną aplikację RDP lub HTML5 RDP z obsługą uwierzytelniania Kerberos.
  2. Użytkownik jest połączony z Edge Gateway w trybie bez agenta
  3. Edge Gateway żąda tokena TGT od kontrolera domeny Kerberos (KDC).
  4. KDC zwraca zaszyfrowany i podpisany TGT
  5. Edge Gateway żąda biletu usługi zawierającego poprzedni TGT
  6. KDC zwraca bilet usługi zaszyfrowany kluczem usługi
  7. Edge Gateway wysyła do serwera RDP żądanie dostępu zawierające bilet usługi.
  8. Serwer RDP przyznaje dostęp do usługi i połączenie RDP jest inicjowane.

Konfigurowanie aplikacji RDP pod obsługę Kerberos armoring

Ostrzeżenie!

Aby pomyślnie skonfigurować uprzywilejowaną aplikację RDP lub HTML5 RDP pod obsługę Kerberos armoring, musisz najpierw wykonać konfiguracje 1 i 2 dla tych Edge Gateway, które będą używane do łączenia się z RDP za pomocą Kerberos armoring.

Aby uprzywilejowana aplikacja RDP lub HTML5 RDP połączyła się z serwerem RDP za pomocą Kerberos armoring, musi być spełnionych pięć warunków konfiguracji:

  1. Parametr SSO nie może mieć wartości Disabled, musi więc mieć wartość Enabled, Fixed lub Request
  2. Tryb bez agenta musi być włączony
  3. Wprowadzona nazwa serwera musi być FQDN (wprowadzenie adresu IP serwera spowoduje niepowodzenie uwierzytelniania).
  4. Kerberos nie może być wyłączony w ustawieniach zaawansowanych aplikacji RDP lub HTML5 RDP.
  5. Podać nazwę konta komputera usługowego używanego do Kerberos armoring, dodając na końcu $
Example

Aby skonfigurować uprzywilejowaną aplikację RDP tak, aby łączyła się w trybie Kerberos armoring z serwerem RDP my-rds-server przy użyciu konta komputera svc_cyberelements, musisz:

  • Ustawić poziom SSO na wartość inną niż Disabled, tutaj na Enabled (1), następnie włączyć tryb bez agenta (2) i na koniec wprowadzić FQDN serwera RDP (3).
  • Upewnić się, że Kerberos nie jest wyłączony (4) i że nazwa konta komputera usługowego jest podana, nie zapominając o znaku $ (5).
Schemat przebiegu
flowchart LR 
    subgraph WAN 
        USER(Stacja robocza użytkownika)
    end 
    subgraph Cloud lub DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(Serwer 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. Użytkownik otwiera uprzywilejowaną aplikację RDP lub HTML5 RDP z obsługą uwierzytelniania Kerberos.
  2. Użytkownik jest połączony z Edge Gateway w trybie bez agenta
  3. Edge Gateway żąda tokena TGT od kontrolera domeny Kerberos (KDC), używając danych konta komputera usługowego
  4. KDC zwraca zaszyfrowany i podpisany TGT
  5. Edge Gateway żąda biletu usługi zawierającego poprzedni TGT
  6. KDC zwraca bilet usługi zaszyfrowany kluczem usługi
  7. Edge Gateway wysyła do serwera RDP żądanie dostępu zawierające bilet usługi.
  8. Serwer RDP przyznaje dostęp do usługi i połączenie RDP jest inicjowane.

Cechy szczególne architektury w środowisku AD z segmentacją

Ostrzeżenie!

W środowisku Active Directory z segmentacją Kerberos armoring jest zwykle skonfigurowany dla kont administratorów. Dlatego trzeba wykonać konfiguracje 1 i 2 dla tych Edge Gateway, które będą używane do łączenia się z serwerami RDP.

Gdy CyberElements jest używany w środowisku AD z segmentacją, konto komputera usługowego używane do Kerberos armoring musi zostać przypisane do silosu.
Oznacza to, że jeśli konieczny jest dostęp do maszyn RDP należących do różnych warstw, trzeba będzie utworzyć tyle samo kont komputerów usługowych, umieszczonych w poszczególnych warstwach docelowych.

Może to również wpłynąć na architekturę produktu.
Zmiana ta dotyczy głównie liczby wdrożonych Edge Gateway: zaleca się mieć co najmniej jeden dedykowany dostępowi danej warstwy. Jeśli jednak kontekst nie pozwala wdrożyć tak wielu Edge Gateway, można też zastosować architekturę z jednym Edge Gateway:

flowchart LR
    subgraph WAN
        USER(Stacja robocza użytkownika)
    end
    subgraph Cloud lub DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(Serwer RDP T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(Serwer RDP T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(Serwer 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

Przy tej architekturze konfiguracja aplikacji RDP jest identyczna jak w przypadku obsługi Kerberos armoring.

flowchart LR
    subgraph WAN
        USER(Stacja robocza użytkownika)
    end
    subgraph Cloud lub DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(Serwer RDP T2)
        end
        subgraph T1
            RDP-T1(Serwer RDP T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(Serwer 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

Przy tej architekturze konfiguracja aplikacji RDP jest identyczna jak w przypadku obsługi Kerberos armoring.
Musisz jednak dodatkowo przewidzieć zastosowanie na Edge Gateway połączeniowym pliku keytab zawierającego kilka kont usługowych.

Cechy szczególne połączenia ze stacją roboczą PAW

PAW (Privileged Access Workstation) to stacja robocza przeznaczona do zadań administracyjnych w określonej warstwie.
Z powodu krytycznego charakteru tej stacji roboczej bardzo często stosuje się wobec niej zaostrzone ustawienia bezpieczeństwa. Jednym z takich zaostrzeń jest zasada nieudostępniania usług w sieci, która zapewnia, że żadne tylne drzwi ani usługi z lukami bezpieczeństwa nie mogą zostać wykorzystane.

Zasada ta czyni więc dostęp zdalny do stacji roboczej PAW teoretycznie niemożliwym. CyberElements pozwala jednak nawiązać połączenie ze stacją roboczą PAW bez żadnych usług nasłuchujących w sieci lokalnej, dzięki:

  • aktywacji usług pulpitu zdalnego
  • konfiguracji lokalnej zapory, która zabrania dostępu do usługi pulpitu zdalnego wszystkim adresom IP poza adresami samej stacji roboczej PAW lub localhost
  • instalacji wbudowanego Edge Gateway, które umożliwi lokalny dostęp do usługi pulpitu zdalnego stacji roboczej PAW
flowchart LR
    subgraph WAN
        USER(Stacja robocza użytkownika)
    end
    subgraph Cloud lub DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{Serwer 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 |Brak dostępnego połączenia| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(Stacja robocza użytkownika)
    end
    subgraph Cloud lub DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{Serwer 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. Użytkownik otwiera do stacji roboczej PAW uprzywilejowaną aplikację RDP lub HTML5 RDP z obsługą uwierzytelniania Kerberos
  2. Użytkownik jest połączony z Edge Gateway w trybie bez agenta
  3. Edge Gateway żąda tokena TGT od kontrolera domeny Kerberos (KDC), używając danych konta komputera usługowego
  4. KDC zwraca zaszyfrowany i podpisany TGT
  5. Edge Gateway żąda biletu usługi zawierającego poprzedni TGT
  6. KDC zwraca bilet usługi zaszyfrowany kluczem usługi
  7. Mediation Controller informuje Edge Gateway i wbudowany Edge Gateway, że został między nimi otwarty tunel, prowadzący przez Mediation Controller
  8. Edge Gateway wysyła do serwera RDP żądanie dostępu zawierające bilet usługi, przez Mediation Controller i wbudowany Edge Gateway
  9. Serwer RDP przyznaje dostęp do usługi i połączenie RDP jest inicjowane

Wymagania wstępne na stacji roboczej PAW

Szczególne wymagania wstępne, które trzeba spełnić na stacji roboczej PAW (Privileged Access Workstation), aby połączyć się z CyberElements, można podsumować następująco:

  1. Włączyć usługę pulpitu zdalnego
  2. Zmienić lokalną zaporę tak, aby odmawiała dostępu do usługi pulpitu zdalnego wszystkim maszynom poza samą stacją roboczą PAW
  3. Zmienić zachowanie Kerberos armoring tak, aby zawsze dostarczał roszczenia
  4. Zainstalować Windows Edge Gateway w trybie wbudowanym

Włączanie usługi pulpitu zdalnego

Usługę pulpitu zdalnego można włączyć ręcznie, jak opisano w dokumentacji Microsoft Enable Remote Desktop on your PC.
Możliwe jest jednak również włączenie tej usługi przez GPO:

  • Ścieżka ustawienia GPO: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Ustawienie: Allow users to connect remotely by using Remote Desktop Services
  • Wartość: Enabled

Zmiana reguł zapory

Ze względów bezpieczeństwa ważne jest ograniczenie dostępu na poziomie zapory, aby uniemożliwić dostęp z zewnątrz na porcie RDP.

Domyślnie po włączeniu RDP system Windows utworzy 2 reguły zapory dopuszczające dostęp do portu 3389 przez UDP i TCP.
Te dwie reguły należy zmienić tak, aby dopuszczały tylko połączenia RDP ze zdalnego adresu IP 127.0.0.1.

Jeśli te reguły nie istnieją, trzeba je utworzyć ręcznie na serwerze lub przez GPO.

Zmiana zachowania Kerberos armoring

Zachowanie Kerberos również trzeba zmienić.

Aby to zrobić, możesz utworzyć następującą GPO:

  • Ścieżka ustawienia GPO: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Ustawienie: KDC support for claims, compound authentication and Kerberos armoring
  • Wartość: Enabled, Always provide claims

Ta zmiana nie ma wpływu na bezpieczeństwo segmentacji AD ani wzmocnionej implementacji Kerberos.

Instalowanie Windows Edge Gateway w trybie wbudowanym

Wymagania wstępne

Przed dalszymi krokami zainstaluj Windows Edge Gateway na stacji roboczej PAW i połącz go z Mediation Controller: Zainstaluj Windows Edge Gateway

Po zainstalowaniu Windows Edge Gateway trzeba przełączyć go w tryb wbudowany.

Otwórz interfejs internetowy swojego tenant CyberElements, używając URI /console.

Przykłady

W przypadku tenant o nazwie my-tenant platforma jest osiągalna pod adresem https://my-tenant.cyberelements.io.
Formularz logowania do konsoli administracyjnej jest również osiągalny bezpośrednio pod adresem https://my-tenant.cyberelements.io/console.

Po połączeniu pamiętaj o usunięciu deklaracji Windows Edge Gateway z modułu Gateways Management.

Windows Edge Gateway jest teraz gotowy do użycia jako wbudowany Edge Gateway.

Przy otwarciu sesji monitor Windows Edge Gateway uruchamia się automatycznie (widoczny jako ikona type:inline na pasku zadań). Ponieważ ten automatyczny start nie jest wymagany dla stacji roboczych PAW, trzeba go wyłączyć:

  1. Otwórz edytor kluczy rejestru regedit.exe jako administrator
  2. Przejdź do gałęzi rejestru HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. Usuń klucz IPdivaGateway Monitor
  4. Uruchom ponownie stację roboczą PAW

Konfigurowanie aplikacji RDP pod połączenie ze stacją roboczą PAW

Ostrzeżenie!

Aby skonfigurować uprzywilejowaną aplikację RDP lub HTML5 RDP pod połączenie ze stacją roboczą PAW, musisz najpierw wykonać konfiguracje od 1 do 3 dla tych Edge Gateway, które będą używane do łączenia się ze stacjami roboczymi PAW.

Aby uprzywilejowana aplikacja RDP lub HTML5 RDP połączyła się ze stacją roboczą PAW, musi być spełnionych sześć warunków konfiguracji:

  1. Parametr SSO nie może mieć wartości Disabled, musi więc mieć wartość Enabled, Fixed lub Request
  2. Tryb bez agenta musi być włączony
  3. Wprowadzona nazwa serwera musi być FQDN (wprowadzenie adresu IP serwera spowoduje niepowodzenie uwierzytelniania).
  4. Skonfigurować kierowanie ruchu przez wbudowany Edge Gateway
  5. Kerberos nie może być wyłączony w ustawieniach zaawansowanych aplikacji RDP lub HTML5 RDP.
  6. Podać nazwę konta komputera usługowego używanego do Kerberos armoring, dodając na końcu $

Warunek 4 wynika z konfiguracji stacji roboczych PAW, na których żadna usługa nie może nasłuchiwać w sieci lokalnej. Jeśli Edge Gateway zostanie zainstalowany w postaci programu dla systemu Windows, może on uzyskać dostęp wyłącznie do usług nasłuchujących na localhost.

Example

Aby skonfigurować uprzywilejowaną aplikację RDP tak, aby łączyła się w trybie Kerberos armoring z serwerem RDP my-rds-server przy użyciu konta komputera svc_cyberelements, musisz:

  • Ustawić poziom SSO na wartość inną niż Disabled, tutaj na Enabled (1), następnie włączyć tryb bez agenta (2), wprowadzić FQDN serwera RDP (3), a na koniec włączyć tryb wbudowanego Edge Gateway i podać nazwę Windows Edge Gateway zainstalowanego na stacji roboczej PAW (4).
  • Upewnić się, że Kerberos nie jest wyłączony (5) i że nazwa konta komputera usługowego jest podana, nie zapominając o znaku $ (6).

Diagnozowanie otwierania aplikacji RDP z uwierzytelnianiem Kerberos

Aby przeprowadzić pierwszą analizę lub zebrać informacje potrzebne Systancia do pogłębionej analizy niepowodzeń uwierzytelniania Kerberos, wykonaj następujące działania:

  1. Włącz logi debugowania: ustaw parametr debug pod znacznikiem [Kerberos] na true w pliku /etc/ipdiva/cleanroom/xrdprecord.ini serwera Edge Gateway używanego do połączenia. Można to zrobić następującym poleceniem:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Zaloguj się do portalu użytkownika i uruchom uprzywilejowaną aplikację, RDP lub HTML5 RDP, w trybie bez agenta i skonfigurowaną pod użycie Kerberos. Zanotuj następujące informacje:

    • Godzinę otwarcia aplikacji
    • Nazwę użytkownika użytą do połączenia z serwerem RDP
  3. Na Edge Gateway użytym do poprzedniego połączenia pobierz następujące pliki:

    • /var/log/syslog: ten plik zawiera w szczególności logi uruchomienia sesji w trybie bez agenta.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: zastąp <USER> nazwą użytkownika, a <DATE> datą i godziną otwarcia aplikacji, zanotowanymi w poprzednim kroku. Ten plik zawiera logi dotyczące nawiązywania sesji RDP, w tym fazy uwierzytelniania Kerberos.
  4. Wyłącz logi debugowania: ustaw parametr debug pod znacznikiem [Kerberos] na false w pliku /etc/ipdiva/cleanroom/xrdprecord.ini serwera Edge Gateway używanego do połączenia. Można to zrobić następującym poleceniem:

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