Към съдържанието

Група Protected Users, удостоверяване с Kerberos, изолиране в силози в AD и работна станция PAW

Защитата на директориите на Active Directory е основно предизвикателство за сигурността на инфраструктурата.

ANSSI (френската национална агенция за киберсигурност) поставя особен акцент върху значението на разделянето на зони в тази защита и върху внедряването на изолиране на сървърите в силози с удостоверяване с Kerberos. Това е посочено в нейните препоръки за защитено администриране на информационни системи, базирани на AD.

Нашите решения CyberElements Bastion предлагат голяма гъвкавост при внедряването на тази защита, която може да бъде разделена на четири различни нива на интеграция, прилагани постепенно:

Конфигуриране на приложения RDP за поддръжка на Kerberos

Предупреждение!

За да конфигурирате привилегировано приложение RDP или привилегировано приложение HTML5 RDP за поддръжка на Kerberos, първо трябва да изпълните конфигурация 1 на компонентите Edge Gateway, които ще се използват за свързване към RDP с Kerberos.

За да може привилегировано приложение RDP или HTML5 RDP да се свърже към сървър RDP с Kerberos, трябва да са изпълнени четири условия за конфигурацията:

  1. Настройката SSO не може да бъде Disabled, следователно трябва да бъде Enabled, Fixed или Request
  2. Режимът без агент трябва да бъде активиран
  3. Въведеното име на сървъра трябва да бъде FQDN (въвеждането на IP адреса на сървъра ще доведе до неуспешно удостоверяване).
  4. Kerberos не трябва да бъде деактивиран в разширените настройки на приложението RDP или HTML5 RDP.
Пример

За да конфигурирате привилегировано приложение RDP да се свързва към сървъра RDP my-rds-server с Kerberos, трябва да направите следното:

  • Задайте за нивото на SSO стойност, различна от Disabled, в този случай Enabled (1), след това активирайте режима без агент (2) и накрая въведете FQDN на сървъра RDP (3).
  • Уверете се, че Kerberos не е деактивиран (4)
Блок-схема
flowchart LR 
    subgraph WAN 
        USER(Работна станция на потребителя)
    end 
    subgraph Облак или DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(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. Потребителят отваря привилегировано приложение RDP или HTML5 RDP с поддръжка на удостоверяване с Kerberos.
  2. Потребителят е свързан към Edge Gateway в режим без агент
  3. Edge Gateway изпраща заявка за маркер TGT до контролера на домейна на Kerberos (KDC).
  4. KDC връща шифрован и подписан TGT
  5. Edge Gateway изпраща заявка за билет за услуга, която включва предходния TGT
  6. KDC връща билета за услуга, шифрован с ключа на услугата
  7. Edge Gateway изпраща до сървъра RDP заявка за достъп, която включва билета за услуга.
  8. Сървърът RDP одобрява достъпа до услугата и връзката RDP се инициализира.

Конфигуриране на приложения RDP за поддръжка на Kerberos armoring

Предупреждение!

За да конфигурирате успешно привилегировано приложение RDP или HTML5 RDP за поддръжка на Kerberos armoring, първо трябва да изпълните конфигурации 1 и 2 за компонентите Edge Gateway, които ще се използват за свързване към RDP с Kerberos armoring.

За да може привилегировано приложение RDP или HTML5 RDP да се свърже към сървър RDP с Kerberos armoring, трябва да са изпълнени пет условия за конфигурацията:

  1. Настройката SSO не може да бъде Disabled, следователно трябва да бъде Enabled, Fixed или Request
  2. Режимът без агент трябва да бъде активиран
  3. Въведеното име на сървъра трябва да бъде FQDN (въвеждането на IP адреса на сървъра ще доведе до неуспешно удостоверяване).
  4. Kerberos не трябва да бъде деактивиран в разширените настройки на приложението RDP или HTML5 RDP.
  5. Посочете името на компютърния акаунт на услугата, който ще се използва за Kerberos armoring, като добавите $ в края
Пример

За да конфигурирате привилегировано приложение RDP да се свързва в режим Kerberos armoring към сървъра RDP my-rds-server с компютърния акаунт svc_cyberelements, трябва да направите следното:

  • Задайте за нивото на SSO стойност, различна от Disabled, в този случай Enabled (1), след това активирайте режима без агент (2) и накрая въведете FQDN на сървъра RDP (3).
  • Уверете се, че Kerberos не е деактивиран (4) и че е посочено името на компютърния акаунт на услугата, като не забравяте да добавите знака $ (5).
Блок-схема
flowchart LR 
    subgraph WAN 
        USER(Работна станция на потребителя)
    end 
    subgraph Облак или DMZ
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(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. Потребителят отваря привилегировано приложение RDP или HTML5 RDP с поддръжка на удостоверяване с Kerberos.
  2. Потребителят е свързан към Edge Gateway в режим без агент
  3. Edge Gateway изпраща заявка за маркер TGT до контролера на домейна на Kerberos (KDC), като използва данните на компютърния акаунт на услугата
  4. KDC връща шифрован и подписан TGT
  5. Edge Gateway изпраща заявка за билет за услуга, която включва предходния TGT
  6. KDC връща билета за услуга, шифрован с ключа на услугата
  7. Edge Gateway изпраща до сървъра RDP заявка за достъп, която включва билета за услуга.
  8. Сървърът RDP одобрява достъпа до услугата и връзката RDP се инициализира.

Особености на архитектурата в сегментирана среда на AD

Предупреждение!

В сегментирана среда на Active Directory Kerberos armoring обикновено е конфигуриран за акаунтите на администраторите. Затова трябва да се изпълнят конфигурации 1 и 2 за компонентите Edge Gateway, които ще се използват за свързване към сървъри RDP.

Когато CyberElements Bastion се използва в среда на AD със силози, акаунтът на компютъра на услугата, използван за Kerberos armoring, трябва да бъде присвоен на силоз.
Това означава, че ако е необходим достъп до компютри RDP, принадлежащи към различни нива, ще трябва да се създадат толкова компютърни акаунта на услуги, колкото са нивата, и да се разположат в съответните целеви нива.

Архитектурата на продукта също може да бъде засегната.
Тази промяна засяга основно броя на внедрените компоненти Edge Gateway, като се препоръчва поне един от тях да бъде предназначен за достъпа до определено ниво. Ако обаче контекстът не позволява внедряването на толкова много компоненти Edge Gateway, може да се използва и архитектура с един Edge Gateway:

flowchart LR
    subgraph WAN
        USER(Работна станция на потребителя)
    end
    subgraph Облак или DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(RDP сървър T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(RDP сървър T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(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

При тази архитектура конфигурацията на приложенията RDP е идентична с тази за поддръжка на Kerberos armoring.

flowchart LR
    subgraph WAN
        USER(Работна станция на потребителя)
    end
    subgraph Облак или DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(RDP сървър T2)
        end
        subgraph T1
            RDP-T1(RDP сървър T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(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

При тази архитектура конфигурацията на приложенията RDP е идентична с тази за поддръжка на Kerberos armoring.
Трябва обаче да предвидите и прилагане на файл keytab, съдържащ няколко акаунта на услуги, към свързващия Edge Gateway.

Особености на свързването към работна станция PAW

PAW (Privileged Access Workstation) е работна станция, предназначена за административни задачи в определено ниво.
Поради критичния характер на тази работна станция към нея много често се прилагат засилени настройки за сигурност. Сред тези засилени мерки принципът да не се излагат услуги в мрежата гарантира, че не могат да бъдат използвани задни вратички или услуги с уязвимости в сигурността.

Следователно този принцип прави отдалечения достъп до работната станция PAW теоретично невъзможен. CyberElements Bastion обаче ви позволява да установите връзка с работната станция PAW, без на нея да има услуги, слушащи в локалната мрежа, благодарение на:

  • активирането на услугите за отдалечен работен плот
  • конфигурирането на локалната защитна стена така, че да забранява достъпа до услугата за отдалечен работен плот от всички IP адреси, различни от тези на работната станция PAW, или localhost
  • инсталирането на вграден Edge Gateway, който ще позволи локален достъп до услугата за отдалечен работен плот на работната станция PAW
flowchart LR
    subgraph WAN
        USER(Работна станция на потребителя)
    end
    subgraph Облак или DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{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 |Няма налична връзка| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(Работна станция на потребителя)
    end
    subgraph Облак или DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{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. Потребителят отваря привилегировано приложение RDP или HTML5 RDP с поддръжка на удостоверяване с Kerberos към работна станция PAW
  2. Потребителят е свързан към Edge Gateway в режим без агент
  3. Edge Gateway изпраща заявка за маркер TGT до контролера на домейна на Kerberos (KDC), като използва данните на компютърния акаунт на услугата
  4. KDC връща шифрован и подписан TGT
  5. Edge Gateway изпраща заявка за билет за услуга, която включва предходния TGT
  6. KDC връща билета за услуга, шифрован с ключа на услугата
  7. Mediation Controller уведомява Edge Gateway и вградения Edge Gateway, че между тях е отворен тунел, който преминава през Mediation Controller
  8. Edge Gateway изпраща до сървъра RDP заявка за достъп, която включва билета за услуга, през Mediation Controller и вградения Edge Gateway
  9. Сървърът RDP одобрява достъпа до услугата и връзката RDP се инициализира

Предварителни изисквания за работната станция PAW

Специфичните предварителни изисквания, които трябва да се приложат на работната станция PAW (Privileged Access Workstation) за свързване с CyberElements Bastion, са обобщени по-долу:

  1. Активирайте услугата за отдалечен работен плот
  2. Променете локалната защитна стена така, че да забранява достъпа до услугата за отдалечен работен плот за всички компютри освен самата работна станция PAW
  3. Променете поведението на Kerberos armoring така, че винаги да предоставя твърдения
  4. Инсталирайте Windows Edge Gateway във вграден режим

Активиране на услугата за отдалечен работен плот

Услугата за отдалечен работен плот може да се активира ръчно, както е описано в документацията на Microsoft Enable Remote Desktop on your PC.
Възможно е обаче услугата да се активира и чрез GPO:

  • Път до настройката на GPO: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Настройка: Allow users to connect remotely by using Remote Desktop Services
  • Стойност: Enabled

Промяна на правилата на защитната стена

От съображения за сигурност е важно достъпът да се ограничи на ниво защитна стена, за да се предотврати достъп отвън през порта на RDP.

По подразбиране, когато RDP е активиран, Windows създава 2 правила на защитната стена, които разрешават достъп до порт 3389 по UDP и TCP.
Тези две правила трябва да се променят така, че да разрешават само връзки RDP от отдалечения IP адрес 127.0.0.1.

Ако тези правила не съществуват, те трябва да се създадат ръчно на сървъра или чрез GPO.

Промяна на поведението на Kerberos armoring

Необходимо е също да се промени поведението на Kerberos.

За целта можете да настроите следната групова политика (GPO):

  • Път до настройката на GPO: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Настройка: KDC support for claims, compound authentication and Kerberos armoring
  • Стойност: Enabled, Always provide claims

Тази промяна не влияе на сигурността на сегментирането на AD и на засилената реализация на Kerberos.

Инсталиране на Windows Edge Gateway във вграден режим

Предварителни изисквания

Преди да продължите, инсталирайте Edge Gateway за Windows на работната станция PAW и го свържете с компонента Mediation Controller: Инсталиране на Edge Gateway за Windows

След инсталирането на Windows Edge Gateway е необходимо той да бъде превключен във вграден режим.

Отворете уеб интерфейса на сървъра Mediation Controller с URI адреса /console.

Примери

Ако достъпът до компонента Mediation Controller по неговия уеб IP адрес е 10.0.10.10, административната конзола е достъпна на https://10.0.10.10/console.

Ако компонентът Mediation Controller е достъпен чрез DNS име, например cyberelements-bastion.domain.local, административната конзола е достъпна на https://cyberelements-bastion.domain.local/console.

След като се свърже, не забравяйте да премахнете декларацията на Windows Edge Gateway от модула Gateways Management.

Windows Edge Gateway вече е готов за използване като вграден Edge Gateway.

При отваряне на сесия мониторът на Windows Edge Gateway се стартира автоматично (вижда се чрез иконата type:inline в лентата на задачите). Тъй като това автоматично стартиране не е необходимо за работните станции PAW, то трябва да бъде деактивирано:

  1. Отворете редактора на системния регистър regedit.exe като администратор
  2. Отидете до разклонението на системния регистър HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. Изтрийте ключа IPdivaGateway Monitor
  4. Рестартирайте работната станция PAW

Конфигуриране на приложения RDP за свързване към работна станция PAW

Предупреждение!

За да конфигурирате привилегировано приложение RDP или HTML5 RDP за свързване към работна станция PAW, първо трябва да изпълните конфигурации от 1 до 3 за компонентите Edge Gateway, които ще се използват за свързване към работните станции PAW.

За да може привилегировано приложение RDP или HTML5 RDP да се свърже към работна станция PAW, трябва да са изпълнени шест условия за конфигурацията:

  1. Настройката SSO не може да бъде Disabled, следователно трябва да бъде Enabled, Fixed или Request
  2. Режимът без агент трябва да бъде активиран
  3. Въведеното име на сървъра трябва да бъде FQDN (въвеждането на IP адреса на сървъра ще доведе до неуспешно удостоверяване).
  4. Конфигурирайте маршрутизирането през вграден Edge Gateway
  5. Kerberos не трябва да бъде деактивиран в разширените настройки на приложението RDP или HTML5 RDP.
  6. Посочете името на компютърния акаунт на услугата, който ще се използва за Kerberos armoring, като добавите $ в края

Условие 4 произтича от конфигурацията на работните станции PAW, на които не трябва да има услуги, слушащи в локалната мрежа. Когато Edge Gateway се инсталира под формата на програма за Windows, той има достъп само до услуги, слушащи на localhost.

Пример

За да конфигурирате привилегировано приложение RDP да се свързва в режим Kerberos armoring към сървъра RDP my-rds-server с компютърния акаунт svc_cyberelements, трябва да направите следното:

  • Задайте за нивото на SSO стойност, различна от Disabled, в този случай Enabled (1), след това активирайте режима без агент (2), въведете FQDN на сървъра RDP (3) и накрая активирайте режима на вграден Edge Gateway и посочете името на Windows Edge Gateway, инсталиран на работната станция PAW (4).
  • Уверете се, че Kerberos не е деактивиран (5) и че е посочено името на компютърния акаунт на услугата, като не забравяте да добавите знака $ (6).

Отстраняване на грешки при отварянето на приложения RDP с удостоверяване с Kerberos

За да извършите първоначален анализ или да съберете информацията, от която CyberElements се нуждае за задълбочен анализ на неуспешните удостоверявания с Kerberos, изпълнете следните действия:

  1. Активирайте дневниците за отстраняване на грешки: за целта задайте на параметъра debug под етикета [Kerberos] стойност true във файла /etc/ipdiva/cleanroom/xrdprecord.ini на сървъра Edge Gateway, използван за връзката. Това действие може да се изпълни със следната команда:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Влезте в потребителския портал и стартирайте привилегировано приложение, RDP или RDP HTML5, в режим без агент и конфигурирано да използва Kerberos. Запишете следната информация:

    • Час на отваряне на приложението
    • Потребителското име, използвано за свързване към сървъра RDP
  3. На Edge Gateway, използван за предходната връзка, вземете следните файлове:

    • /var/log/syslog: този файл съдържа по-специално дневниците за стартиране на сесията в режим без агент.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: заменете <USER> с потребителското име, а <DATE> – с датата и часа на отваряне на приложението, записани в предходната стъпка. Този файл съдържа дневниците, свързани с установяването на сесията RDP, включително фазата на удостоверяване с Kerberos.
  4. Деактивирайте дневниците за отстраняване на грешки: за целта задайте на параметъра debug под етикета [Kerberos] стойност false във файла /etc/ipdiva/cleanroom/xrdprecord.ini на сървъра Edge Gateway, използван за връзката. Това действие може да се изпълни със следната команда:

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