Gruppo Protected Users, autenticazione Kerberos, compartimentazione dell'AD e postazione PAW¶
La messa in sicurezza delle directory Active Directory è una sfida importante nella sicurezza delle infrastrutture.
L'ANSSI (l'Agenzia nazionale francese per la cibersicurezza) pone un accento particolare sull'importanza della compartimentazione in questa sicurezza e sull'implementazione della compartimentazione dei server con autenticazione Kerberos. Ciò è menzionato nelle sue raccomandazioni per l'amministrazione sicura dei SI basati su AD.
Le nostre soluzioni CyberElements offrono grande flessibilità nell'implementazione di questa sicurezza, che può essere suddivisa in quattro diversi livelli di integrazione applicabili progressivamente:
-
Protected Users
1° livello di implementazione
Amministratori inseriti nel gruppo
Protected Users(il protocollo di autenticazione passa da NTLM a Kerberos)Vedere le impostazioni dell'Edge Gateway
Vedere le impostazioni dell'applicazione RDP -
Blindatura Kerberos
2° livello di implementazione
Implementazione della blindatura Kerberos
Vedere le impostazioni dell'Edge Gateway
Vedere le impostazioni dell'applicazione RDP -
Compartimentazione dell'AD
3° livello di implementazione
Distribuzione dei server e degli account (utenti e amministratori) in silo
Vedere l'architettura del prodotto in un contesto di compartimentazione dell'AD
-
Funzionamento delle postazioni PAW
4° livello di implementazione
Uso di postazioni PAW che non consentono l'accesso remoto
Verificare le impostazioni necessarie per accedere a una postazione PAW
Configurare le applicazioni RDP per il supporto di Kerberos¶
Attenzione!
Per configurare un'applicazione RDP privilegiata o HTML5 RDP privilegiata in modo che supporti Kerberos, è necessario prima eseguire la configurazione 1 dell'Edge Gateway (o degli Edge Gateway) che verranno utilizzati per connettersi in RDP con Kerberos.
Perché un'applicazione RDP o HTML5 RDP privilegiata si connetta a un server RDP con Kerberos sono necessarie quattro condizioni di configurazione:
- L'impostazione SSO non può essere impostata su
Disabled, deve quindi essereEnabled,FixedoRequest - La modalità senza agente deve essere abilitata
- Il nome del server immesso deve essere un FQDN (l'immissione dell'indirizzo IP del server farà fallire l'autenticazione).
- Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
Example
Per configurare un'applicazione RDP privilegiata in modo che si connetta al server RDP my-rds-server utilizzando Kerberos, occorrerà:
Diagramma di flusso
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MEDIA(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
KDC(Kerberos Domain Controller)
RDP(Server 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
- L'utente apre un'applicazione RDP o HTML5 RDP privilegiata con supporto dell'autenticazione Kerberos.
- L'utente è connesso all'Edge Gateway in modalità senza agente
- L'Edge Gateway richiede un token TGT al controller di dominio Kerberos (KDC).
- Il KDC restituisce un TGT cifrato e firmato
- L'Edge Gateway richiede un ticket di servizio che include il TGT precedente
- Il KDC restituisce il ticket di servizio cifrato con la chiave di servizio
- L'Edge Gateway invia una richiesta di accesso al server RDP, includendo il ticket di servizio.
- Il server RDP approva l'accesso al servizio e la connessione RDP viene inizializzata.
Configurare le applicazioni RDP per il supporto della blindatura Kerberos¶
Attenzione!
Per configurare correttamente un'applicazione RDP o HTML5 RDP privilegiata in modo che supporti la blindatura Kerberos, è necessario prima completare le configurazioni 1 e 2 per gli Edge Gateway che verranno utilizzati per connettersi in RDP con la blindatura Kerberos.
Perché un'applicazione RDP o HTML5 RDP privilegiata si connetta a un server RDP con la blindatura Kerberos sono necessarie cinque condizioni di configurazione:
- L'impostazione SSO non può essere impostata su
Disabled, deve quindi essereEnabled,FixedoRequest - La modalità senza agente deve essere abilitata
- Il nome del server immesso deve essere un FQDN (l'immissione dell'indirizzo IP del server farà fallire l'autenticazione).
- Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
- Indicare il nome dell'account computer di servizio da utilizzare per la blindatura Kerberos aggiungendo un
$alla fine
Example
Per configurare un'applicazione RDP privilegiata in modo che si connetta in modalità blindata Kerberos al server RDP my-rds-server utilizzando l'account computer svc_cyberelements, occorrerà:
- Impostare il livello SSO su un valore diverso da
Disabled, in questo caso suEnabled(1), abilitare poi la modalità senza agente (2) e infine immettere l'FQDN del server RDP (3).

- Verificare che Kerberos non sia disabilitato (4) e che il nome dell'account computer di servizio sia indicato, ricordandosi di aggiungere il carattere
$(5).
Diagramma di flusso
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MEDIA(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
KDC(Kerberos Domain Controller)
RDP(Server 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
- L'utente apre un'applicazione RDP o HTML5 RDP privilegiata con supporto dell'autenticazione Kerberos.
- L'utente è connesso all'Edge Gateway in modalità senza agente
- L'Edge Gateway richiede un token TGT al controller di dominio Kerberos (KDC) utilizzando le informazioni dell'account computer di servizio
- Il KDC restituisce un TGT cifrato e firmato
- L'Edge Gateway richiede un ticket di servizio che include il TGT precedente
- Il KDC restituisce il ticket di servizio cifrato con la chiave di servizio
- L'Edge Gateway invia una richiesta di accesso al server RDP, includendo il ticket di servizio.
- Il server RDP approva l'accesso al servizio e la connessione RDP viene inizializzata.
Specificità dell'architettura in un ambiente AD compartimentato¶
Attenzione!
In un ambiente Active Directory compartimentato, Kerberos blindato è normalmente configurato per gli account amministratore. È quindi necessario eseguire le configurazioni 1 e 2 per gli Edge Gateway che verranno utilizzati per connettersi ai server RDP.
Quando CyberElements viene utilizzato in un ambiente AD compartimentato, l'account computer di servizio utilizzato per la blindatura Kerberos deve essere assegnato a un silo.
Ciò significa che, se è necessario accedere a macchine RDP appartenenti a terze parti diverse, sarà necessario creare tanti account computer di servizio collocati nelle diverse destinazioni di terze parti.
Anche l'architettura del prodotto può esserne influenzata.
Questa modifica riguarda principalmente il numero di Edge Gateway distribuiti, per i quali si raccomanda di averne almeno uno dedicato all'accesso da parte di una terza parte specifica. Tuttavia, se il contesto non consente la distribuzione di un numero così elevato di Edge Gateway, è possibile utilizzare anche un'architettura con un solo Edge Gateway:
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MED(Mediation Controller)
end
subgraph LAN
subgraph T2
GW-T2(Edge Gateway T2)
RDP-T2(Server RDP T2)
end
subgraph T1
GW-T1(Edge Gateway T1)
RDP-T1(Server RDP T1)
end
subgraph T0
GW-T0(Edge Gateway T0)
KDC(Kerberos Domain Controller)
RDP-T0(Server 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
Con questa architettura, la configurazione delle applicazioni RDP è identica a quella del supporto della blindatura Kerberos.
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MED(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
subgraph T2
RDP-T2(Server RDP T2)
end
subgraph T1
RDP-T1(Server RDP T1)
end
subgraph T0
KDC(Kerberos Domain Controller)
RDP-T0(Server 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
Con questa architettura, la configurazione delle applicazioni RDP è identica a quella del supporto della blindatura Kerberos.
Tuttavia, è necessario prevedere anche di applicare all'Edge Gateway di connessione un file keytab contenente diversi account di servizio.
Specificità della connessione a una postazione PAW¶
Una PAW (Privileged Access Workstation) è una postazione di lavoro dedicata alle attività di amministrazione su una terza parte definita.
Data la natura critica di questa postazione, molto spesso vengono applicate impostazioni di sicurezza rafforzate. Tra i rafforzamenti applicati, il principio di non esporre 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 postazione PAW. Tuttavia, CyberElements permette di stabilire una connessione alla postazione PAW senza avere alcun servizio in ascolto sulla rete locale grazie a:
- L'attivazione dei servizi Remote Desktop
- La configurazione del firewall locale per vietare l'accesso al servizio Remote Desktop da parte di qualsiasi indirizzo IP diverso da quello della postazione PAW, oppure da
localhost - L'installazione di un Edge Gateway integrato che consentirà l'accesso locale al servizio Remote Desktop della postazione PAW
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MED(Mediation Controller)
end
subgraph LAN
subgraph T1
GW(Edge Gateway T1)
subgraph PAW_T1 [PAW T1]
RDP{{Server 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 |Nessuna connessione disponibile| PAW_T1
flowchart LR
subgraph WAN
USER(Postazione di lavoro dell'utente)
end
subgraph Cloud o DMZ
MED(Mediation Controller)
end
subgraph LAN
subgraph T1
GW(Edge Gateway T1)
subgraph PAW_T1 [PAW T1]
RDP{{Server 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
- L'utente apre un'applicazione RDP o HTML5 RDP privilegiata con supporto dell'autenticazione Kerberos verso una postazione PAW
- L'utente è connesso all'Edge Gateway in modalità senza agente
- L'Edge Gateway richiede un token TGT al controller di dominio Kerberos (KDC) utilizzando le informazioni dell'account computer di servizio
- Il KDC restituisce un TGT cifrato e firmato
- L'Edge Gateway richiede un ticket di servizio che include il TGT precedente
- Il KDC restituisce il ticket di servizio cifrato con la chiave di servizio
- Il Mediation Controller notifica all'Edge Gateway e all'Edge Gateway integrato che tra loro è stato aperto un tunnel, tunnel che passa attraverso il Mediation Controller
- L'Edge Gateway invia una richiesta di accesso al server RDP, includendo il ticket di servizio, tramite il Mediation Controller e l'Edge Gateway integrato
- Il server RDP approva l'accesso al servizio e la connessione RDP viene inizializzata
Prerequisiti sulla postazione PAW¶
I prerequisiti specifici da applicare sulla postazione PAW (Privileged Access Workstation) per la connessione a CyberElements si riassumono come segue:
- Abilitare il servizio Remote Desktop
- Modificare il firewall locale per negare l'accesso al servizio Remote Desktop a tutte le macchine, tranne la postazione PAW stessa
- Modificare il comportamento di Kerberos blindato per fornire sempre i claim
- Installare un Windows Edge Gateway in modalità integrata
Abilitare il servizio Remote Desktop¶
Il servizio Remote Desktop può essere abilitato manualmente come descritto nella documentazione Microsoft Enable Remote Desktop on your PC.
Tuttavia, è possibile anche utilizzare una GPO per abilitare il servizio:
- Percorso dell'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
Modificare le regole del firewall¶
Per motivi di sicurezza è importante limitare l'accesso a livello del firewall, in modo da impedire l'accesso dall'esterno sulla porta RDP.
Per impostazione predefinita, quando RDP è abilitato Windows imposta 2 regole del firewall che autorizzano l'accesso alla porta 3389 in UDP e TCP.
Queste due regole devono essere modificate per consentire unicamente le connessioni RDP dall'indirizzo IP remoto 127.0.0.1.
Se queste regole non esistono, devono essere create manualmente sul server oppure tramite una GPO.
Modificare il comportamento di Kerberos blindato¶
È inoltre necessario modificare il comportamento di Kerberos.
A tale scopo è possibile configurare la GPO seguente:
- Percorso dell'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 della compartimentazione dell'AD e dell'implementazione rafforzata di Kerberos.
Installare un Windows Edge Gateway in modalità integrata¶
Prerequisiti
Prima di continuare, installare un Windows Edge Gateway sulla postazione PAW e connetterlo al Mediation Controller: Installare un Windows Edge Gateway
Dopo l'installazione del Windows Edge Gateway è necessario passarlo in modalità integrata.
Accedere all'interfaccia web del proprio tenant CyberElements con l'URI /console.
Esempi
Per un tenant denominato my-tenant, la piattaforma è raggiungibile all'indirizzo https://my-tenant.cyberelements.io.
È possibile raggiungere direttamente anche la maschera di accesso della console di amministrazione all'indirizzo https://my-tenant.cyberelements.io/console.
Una volta connesso, assicurarsi di rimuovere la dichiarazione del Windows Edge Gateway dal modulo Gateways Management.
Il Windows Edge Gateway è ora pronto per essere utilizzato come Edge Gateway integrato.
All'apertura di una sessione, il monitor del Windows Edge Gateway si avvia automaticamente (visibile con l'icona
nella barra delle applicazioni). Poiché questo avvio automatico non è necessario per le postazioni PAW, deve essere disabilitato:
- Aprire l'editor delle chiavi di registro
regedit.execome amministratore - Accedere all'hive di registro
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run - Eliminare la chiave
IPdivaGateway Monitor - Riavviare la postazione PAW
Configurare le applicazioni RDP per connettersi a una postazione PAW¶
Attenzione!
Per configurare un'applicazione RDP o HTML5 RDP privilegiata in modo che si connetta a una postazione PAW, è necessario prima completare le configurazioni da 1 a 3 per gli Edge Gateway che verranno utilizzati per connettersi alle postazioni PAW.
Perché un'applicazione RDP o HTML5 RDP privilegiata si connetta a una postazione PAW devono essere soddisfatte sei condizioni di configurazione:
- L'impostazione SSO non può essere impostata su Disabled, deve quindi essere Enabled, Fixed o Request
- La modalità senza agente deve essere abilitata
- Il nome del server immesso deve essere un FQDN (l'immissione dell'indirizzo IP del server farà fallire l'autenticazione).
- Configurare l'instradamento attraverso un Edge Gateway integrato
- Kerberos non deve essere disabilitato nelle impostazioni avanzate dell'applicazione RDP o HTML5 RDP.
- Indicare il nome dell'account computer di servizio da utilizzare per la blindatura Kerberos aggiungendo un
$alla fine
La condizione 4 è indotta dalla configurazione delle postazioni PAW, che non devono avere alcun servizio in ascolto sulla rete locale. Installando un Edge Gateway sotto forma di programma Windows, quest'ultimo può accedere solo ai servizi in ascolto su localhost.
Example
Per configurare un'applicazione RDP privilegiata in modo che si connetta in modalità blindata Kerberos al server RDP my-rds-server utilizzando l'account computer svc_cyberelements, occorrerà:
- Impostare il livello SSO su un valore diverso da
Disabled, in questo caso suEnabled(1), abilitare poi la modalità senza agente (2), immettere l'FQDN del server RDP (3) e infine abilitare la modalità Edge Gateway integrato e indicare il nome del Windows Edge Gateway installato sulla postazione PAW (4).

- Verificare che Kerberos non sia disabilitato (5) e che il nome dell'account computer di servizio sia indicato, ricordandosi di aggiungere il carattere
$(6).
Debug dell'apertura delle applicazioni RDP con autenticazione Kerberos¶
Per effettuare una prima analisi o recuperare le informazioni necessarie a Systancia per un'analisi avanzata dei fallimenti di autenticazione Kerberos, eseguire le azioni seguenti:
-
Abilitare i log di debug: a tale scopo, portare il parametro
debugsotto il tag[Kerberos]atruenel file/etc/ipdiva/cleanroom/xrdprecord.inidel server Edge Gateway utilizzato per la connessione. Questa azione può essere eseguita con il comando seguente:1sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini -
Accedere al portale utente e avviare un'applicazione privilegiata, RDP o HTML5 RDP, in modalità senza agente e configurata per utilizzare Kerberos. Annotare le informazioni seguenti:
- Ora di apertura dell'applicazione
- Il nome utente utilizzato per connettersi al server RDP
-
Sull'Edge Gateway utilizzato per la connessione precedente, recuperare i file seguenti:
/var/log/syslog: questo file contiene, in particolare, i log di avvio della sessione in modalità senza agente./var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: sostituire<USER>con il nome utente e<DATE>con la data e l'ora di apertura dell'applicazione, recuperate al passaggio precedente. Questo file contiene i log relativi allo stabilirsi della sessione RDP, compresa la fase di autenticazione Kerberos.
-
Disabilitare i log di debug: a tale scopo, portare il parametro
debugsotto il tag[Kerberos]afalsenel file/etc/ipdiva/cleanroom/xrdprecord.inidel server Edge Gateway utilizzato per la connessione. Questa azione può essere eseguita con il comando seguente:1sed -i "3s/true/false/" /etc/ipdiva/cleanroom/xrdprecord.ini

