Anfordern von Clientzertifikaten für Citrix Access mit NetScaler
In diesem Dokument, Wir werden sehen, wie Sie über die Citrix NetScaler-Appliance konfigurieren, dass auf Clientcomputern ein Zertifikat lokal installiert sein muss (Sie könnten es auch auf einem USB-Stick haben) damit sie auf das Citrix-Portal zugreifen können, zu Ihren Anwendungen; Ohne das Zertifikat würden sie nicht einmal das Unternehmensportal sehen.
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.
Nicht schlecht, sobre nuestra CA que tengamos ya instalada, deberemos hacer una copia de seguridad, hierfür “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.
Nicht schlecht, ya en el NS, Wir werden “SSL-Verbindung” > “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, Nein? 😉
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 & “OKAY”,
Vamos de nuevo a “SSL-Verbindung” > “Manage Certificates/Keys/CSRs” y confirmamos que tenemos dos archivos nuevos, tanto el .p12 cómo el certificado de la CA importado, “Schließen”.
In “SSL-Verbindung” > “SSL Certificates” > “Installieren…”
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. “Installieren” 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. Seit “SSL-Verbindung” > “CRL” > “Hinzufügen…”
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’ zum 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’ An “JETZT” para forzar el checkeo y ver si lo introducido es correcto o no. “Schaffen”,
Und das ist es! 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’ > Eigenschaften > 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 es correcto, 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.
Okay, para requerir en el CAG que previamente el cliente debe tener un certificado de cliente válido, seleccionaremos en “Zugangstor” > “Virtuelle Server” > “Offen…” nuestro AG.
Seleccionaremos el certificado de nuestra CA, Anklicken “Hinzufügen” > “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. “OKAY”. En principio con el NetScaler ya habremos finalizado. Auge! 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 (Englisch)://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 oder höher, en estas versiones la CA sí que aceptaría modificar las plantillas, por lo que podremos generar nuestras plantillas de certificados al gusto. Also, abrimos la consola de la Entidad de Certificados > “Certificate Templates” > “Verwalten”.
Duplicaremos la plantilla de “Benutzer”,
Auswählen “Windows-Server 2003 Enterprise” & “OKAY”
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” Anzeigen “Supply in the request” y lo iremos cumplimentando con cada certificado. Am “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, hierfür, seit “Plantillas de Certificado” > “Neu” > “Plantilla de certificado que se va a emitir”.
Seleccionamos la plantilla recién creada & “OKAY”,
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, Anklicken “Request a certificate”,
“Advanced certificate request”
“Create and submit a request to this 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 & “Senden”,
Como confiamos en el sitio, se nos habrá ejecutado el complemento ActiveX que nos permitirá crear e instalar este certificado, Anklicken “Install this certificate”!
Nos habrá instalado el certificado en el equipo desde donde lo acabamos de generar, lo normal, será exportarlo (mit privatem Schlüssel & 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 (Englisch)) o escritorios (XenDesktop (Englisch)).