CRL: Lista de revocación de certificados publicada en servidor externo

Dependiendo de la complejidad de la infraestructura PKI de la organización, podemos desde la entidad de certificación publicar automáticamente en servidores externos, en este caso IIS, los datos.

Para ello compartimos una carpeta en el equipo con el servidor web asignando permisos de acceso y NTFS sobre el nombre de la máquina.

Añadimos en la publicación de la CA una nueva ruta hacia nuestro servidor local, el nombre del fichero y la ruta final debe ser el mismo que el expuesto externamente para el CRL:

file://\\servidorLocal\CA\<nombre de CA><sufijo de nombre de lista CRL><diferencias entre listas CRL permitidas>.crl

En nuestra entidad de certificación tendremos de la siguiente manera la publicación interna y el acceso de consulta externo, por ejemplo:

 

Para asegurarnos que el servidor es capaz de alcanzar las rutas de publicación, con el botón derecho sobre "Certificados revocados" pulsamos "Todas las tareas" -> "Publicar"

 

Comprobar las listas de revocación desde equipo externo

Existe la alternativa de utilizar OCSP para la comprobación de las listas, lo veremos en otro momento.


"Recuperar" claves privadas de certificados SSL en IIS

En ocasiones es posible tener alguna que otra dificultad a la hora de crear peticiones (CSR) o renovar si no se realizan los pasos con cuidado en IIS. Debemos tener en cuenta que a la hora de crear una petición de certificado, la clave privada se almacena en el equipo que la realiza y solo en este es posible recuperarla.

Pese a ello en ocasiones se producen errores en el proceso, llegados a este extremo podemos intentar dos opciones:

  1. Desde la linea de comandos podemos intentar reparar el almacen de certificados:
    certutil -repairstore my "ThumbprintDelCertificadoConoSinEspacios"
    Si el comando encuentra las claves privadas asociadas al certificado indicado con el thumprint las asocia, en otros casos es posible que muestre errores del tipo "Insertar tarjeta inteligente" ya que busca en todos los medios y proveedores criptográficos existentes, en tal caso no podrá acabar.

  2. Si hemos solicitado el certificado a una autoridad online, es posible que tenga almacenadas las claves privadas en la solicitud web, en este caso podremos unirlas con el certificado de respuesta para obtener el PFX resultante mediante OpenSSL, puedes probar online pero nunca en producción
    openssl pkcs12 -export -inkey clave.pem -in pki.crt -out certificadoCompleto.pfx

 

Eliminación de catálogo global (GC) no accesible

En entornos con varios servidores actuando conjuntamente con funciones de directorio activo, bien como lectura, replicado... o cualquier escenario posible, recuperación de backups, virtualizaciones fallidas, virus... podemos llegar a querer eliminar cualquier registro del servidor ya no disponible.

Echaremos un vistazo a las referencias que pueda quedar en los DNS, sobre todo en el caso de estar integrados con el directorio.

Con los sitios y servicios debemos hacer lo mismo:

Si intentamos crear un usuario con uno de los servidores no disponible para el sitio, con el mismo nivel como catálogo global replicado, aparecerá un error del tipo:

El servicio de directorio no puede asignar un identificador relativo.

Si estamos seguros que el servidor no va a poder ser restaurado y queremos eliminar todo rastro, deberemos acudir a la linea de comandos.

Conectaremos con el servidor que tenemos activo, consultando y seleccionando el dominio/sitio/servidor que queremos limpiar de nuestra infraestructura.

ntdsutil 
metadata cleanup 
connections
connect to server SERVIDORBUENO
q
select operation target 
list domains
select domain 0
list sites 
select site 0
list servers in site
select server 5 // OJO servidor que queremos eliminar
q
remove selected server 

Debemos tener en cuenta que cualquiera de estas acciones no es reversible y puede suponer el fallo de servicios si no se realiza con cuidado.

 

Asignación de permisos sobre carpetas mediante políticas de grupo

Dentro de un contexto de seguridad restringido/limitado, en ocasiones es necesario asignar permisos adicionales sobre algunas carpetas. Por ejemplo con directorios temporales, carpetas de fuentes... con los usuarios de un dominio podemos realizado mediante la política de grupo (GPO) siguiente:

Configuración del equipo / Directivas / Configuración de Windows / Configuración de seguridad / Sistema de archivos

Con el botón derecho agregamos una nueva carpeta o fichero, en este caso hemos optado por el directorio temporal de Windows, de forma predeterminada rescata los permisos actuales permitiendo propagar o reemplazar los cambios que necesitemos.

Hyper-V sobre Windows 10 / Server

Si necesitamos instalar en nuestro equipo máquinas virtuales, este debe cumplir los requisitos mínimos:

  • Procesador de 64 bits con SLAT
  • CPU con VT-x para Intel, AMD-V, VIA-VT... según corresponda
  • 4 GB de RAM

Además de estar presentes, deben estar habilitadas en la BIOS del equipo la virtualización (varía según fabricante) y la Prevención de ejecución de datos por hardware (DEP), es recomendable actualizar a la última versión disponibles del fabricante igualmente.

En el caso de no estar habilitado en la BIOS aparecerá el mensaje:

No se puede instalar Hyper-V: la compatibilidad con la virtualización esta deshabilitada en el firmware

 

En este ejemplo lo haremos en una Workstation de HP, el proceso es similar para otros fabricantes:

Aprovechando que estamos en la BIOS, comprobamos que tengamos habilitados todos los hilos para el procesador:

 

Ejecutando el comando "systeminfo" sobre PowerShell o el símbolo del sistema podemos comprobar en las últimas lineas si nuestro equipo esta preparado. Si aparece el siguiente mensaje, ya tienes Hyper-V instalado:

Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V are not be displayed.