
Exigence de certificats client pour Citrix Access avec NetScaler
Dans ce document, nous allons voir comment configurer depuis l’appliance Citrix NetScaler qu’il est obligatoire pour les ordinateurs clients d’avoir un certificat installé localement (Ils pourraient aussi l’avoir sur une clé USB) afin qu’ils puissent accéder au portail Citrix, à vos applications; Sans le certificat, ils ne verraient même pas le portail d’entreprise.
Esto es un complemento adicional para securizar aún más nuestros entornos, podremos dar certificados a nuestros usuarios generándolos desde nuestra CA y podremos revocarlos cuando sea necesario, en ese momento sin un certificado válido no podría entrar el usuario al portal web de Citrix, sea un Access Gateway que vaya contra un StoreFront o un Web Interface.
Pas mal, sobre nuestra CA que tengamos ya instalada, deberemos hacer una copia de seguridad, pour cela “Certification Authotity” > “All Tasks” > “Back up 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.
Pas mal, ya en el NS, Nous allons “S.A.” > “Importer 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, Non? 😉
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 & “D’ACCORD”,
Vamos de nuevo a “S.A.” > “Manage Certificates/Keys/CSRs” y confirmamos que tenemos dos archivos nuevos, tanto el .p12 cómo el certificado de la CA importado, “Fermer”.
Dans “S.A.” > “Certificats SSL” > “Installer…”
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. “Installer” y confirmamos que no slo ha creado bien.
Lo siguiente será dar de alta las CRL (Liste de révocation de certificats) para poder posteriormente forzar a que se checké si los certificados son o no válidos. Depuis “S.A.” > “LCR” > “Ajouter…”
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, podremos hacerlo fácilmente mediante HTTP y contra la URL del fichero .crl que obtendremos fácilmente dentro del entorno web de gestión de la CA (los espacios de la URL los podremos introducir con ‘%20’, si es que tenemos) & ‘Port’ à l 80 que suele ser lo más normal (ojo también con las reglas de firewall que podamos necesitar, si es que el NS está en la DMZ y la CA en la Red de Servidores). Marcaremos ‘Interval’ À “MAINTENANT” para forzar el checkeo y ver si lo introducido es correcto o no. “Créer”,
Et c’est tout! confirmamos que en ‘Validity Status’ tenemos ‘Valid’!
Si en ‘Days to Expire’ tenemos algo distinto a ‘1’, debemos modificar el intervalo de publicación CRL dentro de nuestra CA. Nos vamos a la Entidad de certificación, botón derecho ‘Certificados revocados’ > Propriétés > en la pestaña ‘Parámetros para la publicación de listas de revocación’, cambiamos el intervalo a 1 día/hora & no hacemos diferenciales. Lo actualizaremos con boton derecho en ‘Certificados revocados’ > ‘Todas las tareas’ > ‘Publicar’.
Si c’est correct, modificamos el CRL y programamos el checkeo contra la crl al menos que sea diario y antes de la entrada de los empleados, para que todos los certificados revocados al día anterior no tengan validez y les deniegue el acceso.
D’accord, para requerir en el CAG que previamente el cliente debe tener un certificado de cliente válido, seleccionaremos en “Passerelle d’accès” > “Serveurs virtuels” > “Ouvrir…” nuestro AG.
Seleccionaremos el certificado de nuestra CA, Cliquez sur “Ajouter” > “as CA” para añadirlo al portal.
En el check indicaremos “CRL Mandatory” y configuramos en “SSL Paramet…” que sea obligatorio.
Deberemos marcar “Authentification du client” y diremos si el certificado de cliente es ‘Mandatory’ u ‘Optional’, lo normal será exigirlo. “D’ACCORD”. En principio con el NetScaler ya habremos finalizado. Oeil! 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’ indicará que bien el Web Interface o el StoreFront no pueden conectarse contra el CAG y devolver la autenticación de los clientes, ya que el CAG está requiriendo certificados y el WI o SF no lo tienen, se podría solucionar rápido duplicando el CAG del NS pero sin requisito de certificado y a este se conectará el WI o SF (modificando su archivo hosts).
Si nuestra CA está en Windows 2003 Standard no podremos usar la modificacion de plantillas de certificados ya que se generan para version Enterprise. Tendríamos que generar los certificados accediendo a la pagina de solicitud de certificados (HTTP://CA_SERVER/certsrv), generar una solicitud avanzada de certificado en nuestra 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 renombraremos con el nombre que nos interese para instalarselo al usuario correspondiente.
Si nuestra CA está en Windows 2003 Enterprise o Windows 2008 ou supérieur, en estas versiones la CA sí que aceptaría modificar las plantillas, por lo que podremos generar nuestras plantillas de certificados al gusto. Ainsi, abrimos la consola de la Entidad de Certificados > “Certificate Templates” > “Gérer”.
Duplicaremos la plantilla de “Utilisateur”,
Choisir “Serveur Windows 2003 Entreprise” & “D’ACCORD”
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” Indiquer “Supply in the request” y lo iremos cumplimentando con cada certificado. Sur le “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 vez creada la plantilla debemos incorporarla en la CA, pour cela, depuis “Plantillas de Certificado” > “Nouveau” > “Modèle de certificat à émettre”.
Seleccionamos la plantilla recién creada & “D’ACCORD”,
Solicitando certificados para los usuarios,
Este sería el apartado que deberíamos repetir tantas veces como usuarios que tengan acceso desde el exterior a la organización, deberemos generar un certificado por usuario, que es lo ideal, pero no obligatorio, ya que al tener clave el usuario no podrá exportarse el certificado o al menos no podrá importárselo en otros equipos sin saberse la contraseña; y si lo revocamos afectamos unicamente a este usuario y no a todos.
Abrimos http://CA_SERVER/certsrv, nos validamos como un administrador, Cliquez sur “Request a certificate”,
“Advanced certificate request”
“Create and submit a request to this CA”,
Dans “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 & “Envoyer”,
Como confiamos en el sitio, se nos habrá ejecutado el complemento ActiveX que nos permitirá crear e instalar este certificado, Cliquez sur “Install this certificate”!
Nos habrá instalado el certificado en el equipo desde donde lo acabamos de generar, Normal, será exportarlo (avec clé privée & 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 acceder al portal de Citrix de nuestra organización, sea para acceder a aplicaciones (XenApp) o escritorios (XenDesktop).