Richiedere certificati client per l'accesso a Citrix con NetScaler

In questo documento, vedremo come configurare dall'appliance Citrix NetScaler che sia obbligatorio per i computer client avere un certificato installato localmente (si potrebbe anche far sì che lo avessero su una chiavetta USB) per poter accedere al portale di Citrix, alle loro applicazioni; senza il certificato non vedrebbero nemmeno il portale aziendale.

Questo è un ulteriore complemento per rendere ancora più sicuri i nostri ambienti, potremo dare certificati ai nostri utenti generandoli dalla nostra CA e potremo revocarli quando necessario, in quel momento senza un certificato valido l'utente non potrebbe accedere al portale web di Citrix, sia che si tratti di un Access Gateway che interagisca con uno StoreFront o un Web Interface.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-01-Bujarra

Non male, sobre nuestra CA que tengamos ya instalada, deberemos hacer una copia de seguridad, per questo “Certification Authotity” > “All Tasks” > “Backup CA…”

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-02-Bujarra

Marcamos que nos exporte al menos la clave privada “Private key and CA certificate” y lo guardamos en un directorio que creemos para tal efecto.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-03-Bujarra

Non male, ya en el NS, Stiamo per “Certificato SSL” > “Import PKCS#12”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-04-Bujarra

En 'PKCS12 File Name’ deberemos seleccionar el archivo .p12 que nos haya generado el backup de la CA; ojo con los espacios, sobra decirlo en un NS, No? 😉

Le indicamos un nombre en 'Output File Name’ y le asignamos la contraseña que pusimos a la hora de hacer el backup de la CA & “OK”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-05-Bujarra

Vamos de nuevo a “Certificato SSL” > “Manage Certificates/Keys/CSRs” y confirmamos que tenemos dos archivos nuevos, tanto el .p12 cómo el certificado de la CA importado, “Chiudere”.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-06-Bujarra

In “Certificato SSL” > “SSL Certificates” > “Installare…”

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-07-Bujarra

Damos un nombre al certificado que vamos a instalar, algo que nos haga referencia a nuestra CA. En 'Certificate File Name’ y en 'Private Key File Name’ indicaremos el path del fichero generado cuando importamos el archivo PKCS12. “Installare” y confirmamos que no slo ha creado bien.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-08-Bujarra

Lo siguiente será dar de alta las CRL (Certificate Revocation List) para poder posteriormente forzar a que se checké si los certificados son o no válidos. Poiché “Certificato SSL” > “CRL” > “Aggiungere…”

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-09-Bujarra

Indicamos un 'CRL Name’ y un fichero, seleccionamos formato DER, seleccionamos el certificado de la CA, marcamos 'Enable CRL Auto Refresh’ y configuraremos el método de acceso contra la CRL de nuestra entidad emisora de certificados, Potremo farlo facilmente tramite HTTP e verso l'URL del file .crl che otterremo facilmente all'interno dell'ambiente web di gestione della CA (Gli spazi nell'URL li potremo inserire con ' ', se li abbiamo) & 'Port'’ al 80 che è il più comune (attenzione anche alle regole del firewall che potremmo necessitare, se il NS è nella DMZ e la CA nella Rete dei Server). Segneremo 'Interval'’ A “ORA” per forzare il controllo e vedere se quanto inserito è corretto o no. “Creare”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificato-10-bujarra

E questo è tutto! confermiamo che in 'Validity Status'’ abbiamo 'Valid'!

Se in 'Days to Expire'’ abbiamo qualcosa di diverso da '1', dobbiamo modificare l'intervallo di pubblicazione CRL all'interno della nostra CA. Andiamo all'Ente di certificazione, tasto destro 'Certificati revocati'’ > Proprietà > nella scheda 'Parametri per la pubblicazione delle liste di revoca', cambiamo l'intervallo in 1 giorno/ora & non facciamo differenziali. Lo aggiorneremo con tasto destro su 'Certificati revocati'’ > 'Tutte le attività'’ > 'Pubblica'.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificato-11-bujarra

Se è corretto, modifichiamo il CRL e programmiamo il controllo contro il CRL almeno quotidianamente e prima dell'ingresso dei dipendenti, affinché tutti i certificati revocati il giorno precedente non siano validi e venga negato loro l'accesso.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificato-12-bujarra

Ok, per richiedere nel CAG che preliminarmente il client debba avere un certificato client valido, selezioneremo in “Gateway di accesso” > “Server virtuali” > “Aperto…” nuestro AG.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-13-bujarra

Seleccionaremos el certificado de nuestra CA, Clicca su “Aggiungere” > “as CA” para añadirlo al portal.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-14-bujarra

En el check indicaremos “CRL Mandatory” y configuramos en “SSL Paramet…” que sea obligatorio.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-15-bujarra

Deberemos marcar “Client Authentication” y diremos si el certificado de cliente es 'Mandatory’ u ' Optional', lo normal será exigirlo. “OK”. En principio con el NetScaler ya habremos finalizado. Occhio! si a la hora de finalizar los siguientes pasos, tenemos los certificados bien desplegados y no conseguimos entrar en el portal del CAG, se nos queda la web en blanco y en la URL vemos 'agesso.jsp’ indicherà che né l'Interfaccia Web né lo StoreFront possono connettersi al CAG e restituire l'autenticazione dei clienti, poiché il CAG richiede certificati e il WI o SF non li possiede, si potrebbe risolvere velocemente duplicando il CAG del NS ma senza requisito di certificato e a questo si connetterà il WI o SF (modificando il loro file hosts).

 

Netscaler-CAG-Citrix-Access-Gateway-Certificato-16-bujarra

Se la nostra CA è su Windows 2003 Standard non potremo usare la modifica dei modelli di certificati poiché vengono generati per la versione Enterprise. Dovremmo generare i certificati accedendo alla pagina di richiesta dei certificati (Protocollo HTTP://CA_SERVER/certsrv), generare una richiesta avanzata di certificato nella nostra CA, donde en el tipo de plantilla seleccionaremos 'Usuario’ y el formato de la solicitud será en formato PKCS10, una vez generado, exportaremos el certificado con clave privada y lo renominaremos con el nombre que nos interese para instalarselo al usuario correspondiente.

Se la nostra CA è su Windows 2003 Enterprise o Windows 2008 o superiore, en estas versiones la CA sí que aceptaría modificare las plantillas, por lo que podremos generare nuestras plantillas de certificados al gusto. Così, abrimos la consola de la Entidad de Certificados > “Certificate Templates” > “Amministrare”.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-17-bujarra

Duplicaremos la plantilla de “Utente”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-18-bujarra

Selezionare “Windows Server 2003 Azienda” & “OK”

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-19-bujarra

Lo primero será dar un nombre a la plantilla para que los administradores de Citrix cuando generen los certificados a los usuarios la relacionen de forma correcta. Además de un periodo de validez.

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-20-bujarra

En este caso serán unas plantillas que posteriormente rellenaremos de forma manual, sin integración con DA, así que en la pestañaSubject Name” Indicare “Supply in the requesty lo iremos cumplimentando con cada certificado. Sul “Issuance Requirementso requisitos de emisión, podríamos marcar un check y que cada certificado que se solicite se deba aprobar por el administrador, y no será válido hasta que eso ocurra (desde la mmc de la CA se deberían de aceptar).

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-21-bujarra

Una volta creata la struttura dobbiamo incorporarla nella CA, per questo, poiché “Modelli di Certificato” > “Nuovo” > “Modello di certificato da emettere”.

Netscaler-CAG-Citrix-Access-Gateway-Certificato-22-bujarra

Selezioniamo il modello appena creato & “OK”,

 

Richiesta di certificati per gli utenti,

Netscaler-CAG-Citrix-Access-Gateway-Certificato-23-bujarra

 

Questa sarebbe la sezione che dovremmo ripetere tante volte quanti sono gli utenti che hanno accesso dall'esterno all'organizzazione, Dovremo generare un certificato per ogni utente, che è l'ideale, ma non obbligatorio, poiché avendo una chiave l'utente non potrà esportare il certificato o almeno non potrà importarlo in altri computer senza conoscere la password; E se lo revocassimo influiremo solo su questo utente e non su tutti.

Apriamo http://CA_SERVER/certsrv, Ci autentichiamo come amministratore, Clicca su “Richiedi un certificato”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-24-bujarra

“Advanced certificate request”

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-25-bujarra

“Crea e invia una richiesta a questa CA”,

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-26-bujarra

In “Certificate Template” seleccionamos la plantilla recién generada, y al haber seleccionado que introduciríamos los datos de forma manual, ahora nos tocará cumplimentarlos, indicaremos los datos de cada usuario; recordar selecciona PKCS10 como formato, al menos 2048bits de clave & “Invia”,

 

 

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-27-bujarra

Como confiamos en el sitio, se nos habrá ejecutado el complemento ActiveX que nos permitirá crear e instalar este certificado, Clicca su “Install this certificate”!

 

Netscaler-CAG-Citrix-Access-Gateway-Certificado-28-bujarra

Nos habrá instalado el certificado en el equipo desde donde lo acabamos de generar, lo normal, será exportarlo (con chiave privata & protegido por contraseña!) e instalarselo al usuario en su equipo. Con esto ya hemos forzado a que sin un certificado válido de nuestra CA, no se pueda accedere al portal de Citrix de nuestra organización, sea para acceder a applicazioni (XenApp) o escritorios (XenDesktop).

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!