Configurazioni per il supporto di schermatura Kerberos¶
Warning
Per poter utilizzare lo schermatore Kerberos, gli account amministratore devono essere collocati nel gruppo Protected Users.
Questo obbliga a utilizzare il protocollo di autenticazione Kerberos invece di NTLM. Il Edge Gateway deve prima essere configurato per supportare l'autenticazione Kerberos.
Lo schermatura Kerberos fornisce crittografia aggiuntiva per gli scambi iniziali tra il client e il KDC (Kerberos Domain Controller) utilizzando informazioni collegate a un account di computer.
cyberelements.io o cyberelements Cleanroom preferibilmente eseguiti su macchine Debian che non sono connesse a un dominio AD, il che significa che non hanno alcuna informazione sull'account del computer sull'AD.
La configurazione per supportare lo schermatura Kerberos consiste in due fasi:
- Creazione di un account di computer di servizio nell'AD
- Configurazione di schermatura Kerberos sul Edge Gateway basata sull'account creato in precedenza
Creazione di un account di computer di servizio¶
Info
Questa pagina userà un account di servizio chiamato svc_cyberelements come esempio. Adatta i seguenti comandi in base al nome dell'account di servizio.
Warning
Se si desidera utilizzare le postazioni di lavoro PAW, inserire questo account di servizio nello stesso silo delle postazioni di lavoro PAW di destinazione.
Dal controller di dominio, iniziare creando un account computer con una password utilizzata per generare i ticket Kerberos.
Per creare questo account, è possibile utilizzare il seguente comando Powershell da un controller di dominio (adattare il nome dell'account di servizio, nell'esempio svc_cyberelements, e l'UO desiderata, nell'esempio OU=Service_accounts,DC=domain,DC=local, per creare l'account di servizio):
1 | |
Per verificare che l'account del computer sia stato creato, utilizzare il seguente comando (sostituire svc_cyberelements con il nome dell'account creato in precedenza):
1 | |
Quindi utilizzare lo strumento ktpass di Windows per esportare un file keytab che conterrà le chiavi di crittografia che consentiranno al gateway di recuperare il TGT.
Example
Esempio per creare un file svc_cyberelements.keytab con l'account del computer:
1 | |
$ alla fine dei nomi degli account e di mettere la maiuscola nel nome del dominio (obbligatorio).
Accettare qualsiasi richiesta di conferma che possa apparire inserendo y.
Poi riposizionare il valore dell'attributo UserPrincipalName con il seguente comando PowerShell:
1 | |
Configurazione di schermatura Kerberos sul Edge Gateway¶
Riprendi il file keytab generato in precedenza e copialo sul server Edge Gateway.
In un contesto in cui sono stati generati diversi file keytab e devono essere utilizzati sullo stesso Edge Gateway, si prega di combinare i file keytab in un singolo file .
Avvertenza
Il file keytab contiene le chiavi di crittografia. Se un utente malintenzionato ne ottiene possesso, può impersonare l'account del computer associato, riducendo così la sicurezza dell'infrastruttura.
Questo file non deve quindi essere memorizzato in nessun altro luogo che sul Edge Gateway.
Posizionare il file nella directory /etc/ipdiva/cleanroom/.
Cambiare i proprietari dei file keytab in ipdivacareuser per l'utente e carerecord per il gruppo, quindi modificare i permessi dei file (modificare il file keytab in base al nome del proprio file):
1 2 | |
Modificare il file di configurazione Edge Gateway /etc/ipdiva/cleanroom/xrdprecord.ini per specificare, tramite il parametro keytab=, il percorso verso il file keytab preparato in precedenza.
Example
2 | |
In questa fase, la connessione alle applicazioni RDP privilegiate in modalità agentless (HTML5 o altro) dovrebbe funzionare con account utente appartenenti a Protected Users e quindi richiedere una forte autenticazione Kerberos. La configurazione dell'applicazione RDP deve soddisfare determinati prerequisiti.
Prova della configurazione di Kerberos¶
Debugging
I seguenti comandi kinit possono fornire ulteriori log dopo l'esecuzione del seguente comando (valido fino a quando la sessione SSH o della console non viene disconnessa):
1 | |
Iniziamo recuperando un ticket Kerberos con un comando simile a quello seguente:
1 | |
Assicurati di sostituire la posizione del file keytab, il nome dell'account di servizio creato e il suo dominio associato.
Se il recupero del ticket Kerberos è stato un successo, il seguente comando dovrebbe indicare l'esistenza di un ticket per l'account del servizio:
1 | |
Se il recupero è riuscito, è necessario tentare di recuperare un ticket per un utente con un comando simile a quello seguente:
1 | |
Sostituire user@DOMAIN.LOCAL con un utente che probabilmente si connetterà tramite RDP e Kerberos armoring. Si prega di notare che verrà richiesta la password di questo utente.
Se il recupero del biglietto è riuscito, il seguente comando lo visualizzerà:
1 | |
Se viene visualizzato un errore KDC policy rejects request while getting initial credentials, significa che il KDC ha rifiutato la richiesta di biglietto.
kinitnon è stato in grado di utilizzare il ticket/tmp/test_kerberos(sekinitnon può utilizzarlo, continua senza un messaggio di errore con una richiesta di ticket di base)- Il conto di servizio non è presente nel silo dell'utente testato. Ciò si verifica quando AD è isolato e richiede che il conto di computer di servizio sia collocato nel silo appropriato {target="_blank"}.
Ulteriori informazioni sono disponibili nei registri degli eventi Sécurité del controllore di dominio (KDC) utilizzato.
Dopo la prova, si raccomanda di cancellare i ticket generati:
1 2 | |
Combina più file keytab in un singolo file¶
Se l'architettura cyberelements.io o cyberelements Cleanroom si basa su un singolo Edge Gateway che consentirà l'accesso a più terze parti, è necessario unire tutti i file keytab generati per i diversi account di servizio in un singolo file keytab.
Nota
In questa sezione, si presumeranno i seguenti file keytab: /root/t0.keytab, /root/t1.keytab e /root/t2.keytab.
Questi file devono essere stati inviati al Edge Gateway.
Per unire i file keytab, accedere a Edge Gateway come root, quindi utilizzare i seguenti comandi:
1 2 3 4 5 | |
I comandi rkt consentono di caricare quanti file keytab siano necessari, e il comando wkt genera un nuovo file keytab.
Per favore, modifica i percorsi dei file in base a quelli in tuo possesso.
Premere il tasto q per uscire dall'utilità ktutil.
Ripristinare il unified.keytab file e seguire le Configuring Kerberos shielding on the Edge Gateway Sezione.