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.
Non male, sobre nuestra CA que tengamos ya instalada, deberemos hacer una copia de seguridad, per questo “Certification Authotity” > “All Tasks” > “Backup CA…”
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.
Non male, ya en el NS, Stiamo per “Certificato SSL” > “Import PKCS#12”,
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”,
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”.
In “Certificato SSL” > “SSL Certificates” > “Installare…”
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.
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…”
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”,
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'.
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.
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.
Seleccionaremos el certificado de nuestra CA, Clicca su “Aggiungere” > “as CA” para añadirlo al portal.
En el check indicaremos “CRL Mandatory” y configuramos en “SSL Paramet…” que sea obligatorio.
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).
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”.
Duplicaremos la plantilla de “Utente”,
Selezionare “Windows Server 2003 Azienda” & “OK”
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.
En este caso serán unas plantillas que posteriormente rellenaremos de forma manual, sin integración con DA, así que en la pestaña “Subject Name” Indicare “Supply in the request” y lo iremos cumplimentando con cada certificado. Sul “Issuance Requirements” o 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).
Una volta creata la struttura dobbiamo incorporarla nella CA, per questo, poiché “Modelli di Certificato” > “Nuovo” > “Modello di certificato da emettere”.
Selezioniamo il modello appena creato & “OK”,
Richiesta di certificati per gli utenti,
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”,
“Advanced certificate request”
“Crea e invia una richiesta a questa CA”,
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”,
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”!
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).



































































