Vai al contenuto

Protected Users gruppo, autenticazione Kerberos, siloing AD e workstation PAW

La protezione delle directory Active Directory rappresenta una sfida importante per la sicurezza delle infrastrutture.

L'ANSSI (Agenzia nazionale francese per la sicurezza informatica) pone particolare enfasi sull'importanza della compartimentazione in questa sicurezza e sull'attuazione del siloing dei server con l'autenticazione Kerberos. raccomandazioni per la gestione sicura dell'IS basata su AD.

Le nostre soluzioni cyberelements.io e cyberelements Cleanroom offrono una grande flessibilità nell'implementazione di questa sicurezza, che può essere suddivisa in quattro diversi livelli di integrazione che possono essere applicati progressivamente:

Configurazione delle applicazioni RDP per il supporto di Kerberos

Warning

Per configurare un'applicazione RDP privilegiata o RDP HTML5 privilegiata per supportare Kerberos, è necessario prima eseguire la configurazione 1 dei Edge Gateway (s) che verranno utilizzati per connettersi a RDP con Kerberos.

Per consentire a un'applicazione RDP privilegiata o RDP HTML5 di connettersi a un server RDP con Kerberos, sono necessarie quattro condizioni di configurazione:

  1. L'impostazione SSO non può essere impostata su Disabled, quindi deve essere Enabled, Fixed o Request
  2. La modalità senza agente deve essere abilitata
  3. Il nome del server inserito deve essere un FQDN (inserire l'indirizzo IP del server comporterà un fallimento dell'autenticazione).
  4. Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
Example

Per configurare un'applicazione RDP privilegiata per connettersi al server my-rds-server RDP utilizzando Kerberos, è necessario:

  • Impostare il livello SSO su un'impostazione diversa da Disabled, in questo caso impostato su Enabled (1), quindi attivare la modalità senza agente (2) e infine inserire l'FQDN del server RDP (3).
  • Assicurarsi che Kerberos non sia disabilitato (4)
Diagramma di flusso
flowchart LR 
    subgraph WAN 
        USER(User workstation) 
    end 
    subgraph Cloud or 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. L'utente apre un'applicazione RDP privilegiata o RDP HTML5 con supporto all'autenticazione Kerberos.
  2. L'utente è collegato al Edge Gateway in modalità senza agente
  3. Il Edge Gateway richiede un token TGT dal Controller di dominio Kerberos (KDC).
  4. Il KDC restituisce un TGT criptato e firmato
  5. Il Edge Gateway richiede un biglietto di servizio che includa il TGT precedente
  6. Il KDC restituisce il ticket di servizio crittografato con la chiave di servizio
  7. Il Edge Gateway richiede l'accesso al server RDP, compresa la scheda di servizio.
  8. Il server RDP approva l'accesso al servizio e la connessione RDP viene inizializzata.

Configurazione delle applicazioni RDP per supportare lo schermatura Kerberos

Warning

Per configurare con successo un'applicazione RDP privilegiata o RDP HTML5 per supportare la protezione Kerberos, è necessario prima completare le configurazioni 1 e 2 per gli Edge Gateway che verranno utilizzati per connettersi a RDP con la protezione Kerberos.

Per consentire a un'applicazione RDP privilegiata o RDP HTML5 di connettersi a un server RDP con schermatura Kerberos, sono necessarie cinque condizioni di configurazione:

  1. L'impostazione SSO non può essere impostata su Disabled, quindi deve essere Enabled, Fixed o Request
  2. La modalità senza agente deve essere abilitata
  3. Il nome del server inserito deve essere un FQDN (inserire l'indirizzo IP del server comporterà un fallimento dell'autenticazione).
  4. Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
  5. Specificare il nome dell'account del computer di servizio da utilizzare per la protezione Kerberos aggiungendo un $ alla fine
Example

Per configurare un'applicazione RDP privilegiata per connettersi in modalità schermata Kerberos al server RDP my-rds-server utilizzando l'account computer svc_cyberelements, è necessario:

  • Impostare il livello SSO su un'impostazione diversa da Disabled, in questo caso impostato su Enabled (1), quindi attivare la modalità senza agente (2) e infine inserire l'FQDN del server RDP (3).
  • Assicurarsi che Kerberos non sia disabilitato (4) e che il nome dell'account del computer di servizio sia specificato, ricordandosi di aggiungere il carattere $ (5).
Diagramma di flusso
flowchart LR 
    subgraph WAN 
        USER(User workstation) 
    end 
    subgraph Cloud or 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. L'utente apre un'applicazione RDP privilegiata o RDP HTML5 con supporto all'autenticazione Kerberos.
  2. L'utente è collegato al Edge Gateway in modalità senza agente
  3. Il Edge Gateway richiede un token TGT dal controllore di dominio Kerberos (KDC) utilizzando le informazioni dell'account del computer del servizio
  4. Il KDC restituisce un TGT criptato e firmato
  5. Il Edge Gateway richiede un biglietto di servizio che includa il TGT precedente
  6. Il KDC restituisce il ticket di servizio crittografato con la chiave di servizio
  7. Il Edge Gateway richiede l'accesso al server RDP, compresa la scheda di servizio.
  8. Il server RDP approva l'accesso al servizio e la connessione RDP viene inizializzata.

Caracteristiche specifiche dell'architettura in un ambiente AD isolato

Warning

In un ambiente Active Directory isolato, Kerberos blindato è normalmente configurato per gli account amministratore. devono essere eseguite le configurazioni 1 e 2 per i gateway di bordo che verranno utilizzati per connettersi ai server RDP.

Quando cyberelements.io o cyberelements Cleanroom vengono utilizzati in un ambiente di silos AD, l'account del computer di servizio utilizzato per la protezione Kerberos deve essere assegnato a un silo .
Ciò significa che se è necessario accedere alle macchine RDP appartenenti a diversi terzi, sarà necessario creare altrettanti account di computer di servizio collocati nei diversi target di terzi.

Anche l'architettura del prodotto può essere influenzata.
Questa modifica riguarda principalmente il numero di Gateway Edge distribuiti, dove si raccomanda di avere almeno uno dedicato all'accesso da parte di una specifica terza parte. Tuttavia, se il contesto non consente la distribuzione di così tanti Gateway Edge, può anche essere utilizzata un'architettura Edge Gateway singola:

Architettura /// tab | Multi-Edge Gateway (consigliata)

flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or 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

Con questa architettura, la configurazione delle applicazioni RDP è identica a quella per il supporto di schermatura Kerberos .

///

flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or 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

Con questa architettura, la configurazione delle applicazioni RDP è identica a quella per il supporto di schermatura Kerberos .
Tuttavia, è necessario anche pianificare di applicare un file keytab alla connessione Edge Gateway contenente diversi account di servizio {target="_blank"}.

Caracteristiche specifiche del collegamento a una postazione di lavoro PAW

Una PAW (Privileged Access Workstation) è una postazione di lavoro dedicata a compiti amministrativi su una terza parte definita.
A causa della natura critica di questa postazione di lavoro, vengono molto spesso applicate impostazioni di sicurezza potenziate. Tra le migliorie applicate, il principio di non esporre i servizi sulla rete garantisce che non possano essere sfruttate backdoor o servizi con vulnerabilità di sicurezza.

Questo principio rende quindi teoricamente impossibile l'accesso remoto alla stazione di lavoro PAW. Tuttavia, cyberelements.io o cyberelements Cleanroom permettono di stabilire una connessione alla stazione di lavoro PAW senza che vi siano servizi di ascolto sulla rete locale grazie a:

  • Attivazione dei servizi Remote Desktop
  • Configurazione del firewall locale per vietare l'accesso al servizio Remote Desktop da qualsiasi indirizzo IP diverso da quello della postazione di lavoro PAW, o localhost
  • L'installazione di un sistema di Edge Gateway che permetterà l'accesso locale al servizio Remote Desktop della stazione di lavoro PAW
flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or 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 |No connection available| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or 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. L'utente apre un'applicazione RDP privilegiata o RDP HTML5 con supporto di autenticazione Kerberos su una workstation PAW
  2. L'utente è collegato al Edge Gateway in modalità senza agente
  3. Il Edge Gateway richiede un token TGT dal controllore di dominio Kerberos (KDC) utilizzando le informazioni dell'account del computer del servizio
  4. Il KDC restituisce un TGT criptato e firmato
  5. Il Edge Gateway richiede un biglietto di servizio che includa il TGT precedente
  6. Il KDC restituisce il ticket di servizio crittografato con la chiave di servizio
  7. Il Mediation Controller notifica al Edge Gateway e le cose incorporate Edge Gateway che un tunnel è stato aperto tra di loro, con il tunnel che passa attraverso il Mediation Controller
  8. Il Edge Gateway invia una richiesta di accesso al server RDP, incluso il ticket di servizio, tramite il Mediation Controller e il Edge Gateway incorporato
  9. Il server RDP approva l'accesso al servizio e la connessione RDP è inizializzata

Prerequisiti per la postazione di lavoro PAW

I requisiti specifici da applicare alla stazione di lavoro PAW (Privileged Access Workstation) per il collegamento a cyberelements.io o cyberelements Cleanroom sono riassunti come segue:

  1. Attivare il servizio Desktop remoto
  2. Modificare il firewall locale per negare l' accesso al servizio Desktop remoto per tutte le macchine tranne la stazione di lavoro PAW stessa
  3. Modifica il comportamento dei Kerberos corazzati per fornire sempre richieste
  4. Installare un Windows Edge Gateway in modalità incorporata

Attivare il servizio Desktop remoto

Il servizio di postazione remota può essere attivato manualmente come descritto nella documentazione Microsoft Enable Remote Desktop on your PC.
Tuttavia, è anche possibile utilizzare un GPO per consentire al servizio:

  • Cammino per l'impostazione GPO: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Impostazione: Allow users to connect remotely by using Remote Desktop Services
  • Valore: Enabled

Modifica delle regole del firewall

Per motivi di sicurezza, è importante limitare l'accesso a livello del firewall, in modo da impedire l'accesso dall'esterno alla porta RDP.

Per impostazione predefinita, quando RDP è abilitato, Windows imposterà 2 regole di firewall che autorizzano l'accesso alla porta 3389 in UDP e TCP.
Queste due regole devono essere modificate per consentire solo connessioni RDP dall'indirizzo IP remoto 127.0.0.1.

Se queste regole non esistono, devono essere create manualmente sul server o tramite un GPO.

Modifica del comportamento dei Kerberos corazzati

Dobbiamo anche modificare il comportamento di Kerberos.

Per fare questo, è possibile impostare il seguente GPO:

  • Cammino per l'impostazione GPO: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Impostazione: KDC support for claims, compound authentication and Kerberos armoring
  • Valore: Enabled, Always provide claims

Questa modifica non ha alcun impatto sulla sicurezza del livello AD e sull'implementazione migliorata di Kerberos.

Installare un Windows Edge Gateway in modalità incorporata

Prerequisiti

Prima di continuare, si prega di installare un Windows Edge Gateway sulla stazione di lavoro PAW e collegarlo al Mediation Controller: Installare un Windows Edge Gateway

Dopo aver installato Windows Edge Gateway, è necessario passare alla modalità integrata.

Una volta collegato, assicurarsi di rimuovere la dichiarazione Windows Edge Gateway dal modulo Gateways Management.

Il Edge Gateway di Windows è ora pronto per essere utilizzato come Edge Gateway incorporato.

Quando viene aperta una sessione, il monitor Windows Edge Gateway si avvia automaticamente (visibile con l'icona type:inline nella barra delle attività).

  1. Aprire l'editore di chiavi di registro regedit.exe come amministratore
  2. Vai all' alveare di HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run registro
  3. Cancellare il tasto IPdivaGateway Monitor
  4. Ricomincia la stazione di lavoro PAW

Configurazione delle applicazioni RDP per la connessione a una stazione di lavoro PAW

Warning

Per configurare un'applicazione RDP privilegiata o RDP HTML5 per connettersi a una workstation PAW, è necessario prima completare le configurazioni 1 a 3 per gli Edge Gateway che verranno utilizzati per connettersi alle workstation PAW.

Per consentire a un'applicazione RDP privilegiata o RDP HTML5 di connettersi a una workstation PAW, devono essere soddisfatte sei condizioni di configurazione:

  1. La impostazione SSO non può essere impostata su Disabled, quindi deve essere abilitata, fissa o richiesta
  2. La modalità senza agente deve essere abilitata
  3. Il nome del server inserito deve essere un FQDN (inserire l'indirizzo IP del server comporterà un fallimento dell'autenticazione).
  4. Configurare il routing attraverso un Edge Gateway incorporato
  5. Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
  6. Specificare il nome dell'account del computer di servizio da utilizzare per la protezione Kerberos aggiungendo un $ alla fine

La condizione 4 è indotta dalla configurazione delle workstation PAW, che non devono avere servizi di ascolto sulla rete locale. Installando un Edge Gateway sotto forma di un programma Windows, quest'ultimo può accedere solo ai servizi di ascolto su localhost.

Example

Per configurare un'applicazione RDP privilegiata per connettersi in modalità schermata Kerberos al server RDP my-rds-server utilizzando l'account computer svc_cyberelements, è necessario:

  • Impostare il livello SSO su un'impostazione diversa da Disabled, in questo caso impostato su Enabled (1), quindi attivare il modulo wwithour agent (2), inserire l'FQDN del server RDP (3) e infine attivare il modulo Edge Gateway integrato e specificare il nome del Windows Edge Gateway installato sulla stazione di lavoro PAW (4).
  • Assicurarsi che Kerberos non sia disabilitato (5) e che il nome dell'account del computer di servizio sia specificato, ricordandosi di aggiungere il carattere $ (6).

Scansione delle aperture delle applicazioni RDP con l'autenticazione Kerberos

Per eseguire un'analisi iniziale o recuperare le informazioni di cui Systancia ha bisogno per un'analisi avanzata dei fallimenti di autenticazione Kerberos, si prega di eseguire le seguenti azioni:

  1. Abilitare i log di debug: per farlo, cambiare il parametro debug sotto il tag [Kerberos] in true nel file del server /etc/ipdiva/cleanroom/xrdprecord.ini Edge Gateway utilizzato per la connessione. Questa azione può essere eseguita con il seguente comando:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Accedere al portale utente e avviare un'applicazione privilegiata, RDP o RDP HTML5, in modalità senza agente e configurata per utilizzare Kerberos.

    • Ora di apertura dell'applicazione
    • Nome utente utilizzato per connettersi al server RDP
  3. Sul Edge Gateway utilizzato per la connessione precedente, recuperare i seguenti file:

    • /var/log/syslog: questo file contiene, in particolare, i log per l'avvio della sessione in modalità senza agente.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: sostituire <USER> con il nome utente e <DATE> la data e l'ora di apertura dell'applicazione, recuperati nella fase precedente. Questo file contiene i log relativi all'istituzione della sessione RDP, compresa la fase di autenticazione di Kerberos.
  4. Disattivare i log di debug: per fare questo, cambiare il parametro debug sotto il tag [Kerberos] in false nel file del server /etc/ipdiva/cleanroom/xrdprecord.ini Edge Gateway utilizzato per la connessione. Questa azione può essere eseguita con il seguente comando:

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