Cómo instalar y configurar una autoridad de certificación (CA) en CentOS 8

Introducción
Una autoridad de certificación (CA) es una entidad responsable de emitir certificados digitales para verificar identidades en Internet. Si bien las CA públicas son una opción popular para verificar la identidad de sitios web y otros servicios que se ofrecen al público en general, las CA privadas se utilizan normalmente para grupos cerrados y servicios privados.
La creación de una autoridad de certificación privada le permitirá configurar, probar y ejecutar programas que requieren conexiones cifradas entre un cliente y un servidor. Con una autoridad de certificación privada, puede emitir certificados para usuarios, servidores o programas y servicios individuales dentro de su infraestructura.
Algunos ejemplos de programas en Linux que utilizan su propia CA privada son OpenVPN y Puppet. También puede configurar su servidor web para que utilice certificados emitidos por una CA privada a fin de que los entornos de desarrollo y ensayo coincidan con los servidores de producción que utilizan TLS para cifrar las conexiones.
En esta guía, aprenderemos a configurar una autoridad de certificación privada en un servidor CentOS 8 y a generar y firmar un certificado de prueba utilizando su nueva CA. También aprenderá a importar el certificado público del servidor de la CA al almacén de certificados de su sistema operativo para poder verificar la cadena de confianza entre la CA y los servidores o usuarios remotos. Por último, aprenderá a revocar certificados y distribuir una lista de revocación de certificados para asegurarse de que solo los usuarios y sistemas autorizados puedan usar los servicios que dependen de su CA.
Prerrequisitos
Para seguir este tutorial, necesitará un servidor CentOS 8 con un sudo
usuario no root habilitado y un firewall configurado con firewalld
. Puede seguir nuestra guía de configuración inicial del servidor con CentOS 8 para completar esa configuración.
En este tutorial nos referiremos a este servidor como Servidor CA.
Asegúrese de que el servidor de CA sea un sistema independiente. Solo se utilizará para importar, firmar y revocar solicitudes de certificados. No debe ejecutar ningún otro servicio y, lo ideal es que esté fuera de línea o completamente apagado cuando no esté trabajando activamente con su CA.
Nota: La última sección de este tutorial es opcional si desea obtener más información sobre cómo firmar y revocar certificados. Si decide completar estos pasos prácticos, necesitará un segundo servidor CentOS 8 o también puede usar su propia computadora Linux local que ejecute CentOS 8, Fedora o un derivado de RedHat.
Paso 1: Instalación de Easy-RSA
La primera tarea de este tutorial es instalar el easy-rsa
conjunto de scripts en su servidor CA. easy-rsa
es una herramienta de administración de autoridad de certificación que utilizará para generar una clave privada y un certificado raíz público, que luego utilizará para firmar solicitudes de clientes y servidores que dependerán de su CA.
El easy-rsa
paquete no está disponible de forma predeterminada en CentOS 8, por lo que deberá habilitar el repositorio de paquetes adicionales para Enterprise Linux (EPEL). EPEL es administrado por el Proyecto Fedora y contiene paquetes no estándar pero populares para Fedora, CentOS y otras distribuciones de Linux que usan el formato de paquete RPM. Inicie sesión en su servidor CA como el usuario sudo no root que creó durante los pasos de configuración inicial y ejecute lo siguiente:
- sudo dnf install epel-release
Se le solicitará que descargue el paquete y lo instale. Presione y
para confirmar que desea instalar el paquete.
Ahora instale el easy-rsa
paquete, ingresando nuevamente y
en el indicador:
- sudo dnf install easy-rsa
En este punto, ya tiene todo lo que necesita configurado y listo para usar Easy-RSA. En el siguiente paso, creará una infraestructura de clave pública y luego comenzará a crear su autoridad de certificación.
Paso 2: Preparación de un directorio de infraestructura de clave pública
Ahora que ha instalado easy-rsa
, es momento de crear una infraestructura de clave pública (PKI) básica en el servidor de CA. Asegúrese de seguir conectado como usuario no root y cree un easy-rsa
directorio. Asegúrese de no usar sudo para ejecutar ninguno de los siguientes comandos, ya que su usuario normal debe administrar e interactuar con la CA sin privilegios elevados.
- mkdir ~/easy-rsa
Esto creará un nuevo directorio llamado easy-rsa
en su carpeta de inicio. Usaremos este directorio para crear enlaces simbólicos que apunten a los easy-rsa
archivos del paquete que instalamos en el paso anterior. Estos archivos se encuentran en la /usr/share/easy-rsa/3
carpeta en el servidor de CA.
Crea los enlaces simbólicos con el ln
comando:
- ln -s /usr/share/easy-rsa/3/* ~/easy-rsa/
Nota: Si bien otras guías pueden indicarle que copie los easy-rsa
archivos del paquete en su directorio PKI, este tutorial adopta un enfoque de enlace simbólico. Como resultado, cualquier actualización del easy-rsa
paquete se reflejará automáticamente en los scripts de su PKI.
Para restringir el acceso a su nuevo directorio PKI, asegúrese de que solo el propietario pueda acceder a él mediante el chmod
comando:
- chmod 700 /home/sammy/easy-rsa
Por último, inicialice la PKI dentro del easy-rsa
directorio:
- cd ~/easy-rsa
- ./easyrsa init-pki
Outputinit-pki complete; you may now create a CA or requests.Your newly created PKI dir is: /home/sammy/easy-rsa/pki
Después de completar esta sección, tendrá un directorio que contiene todos los archivos necesarios para crear una autoridad de certificación. En la siguiente sección, creará la clave privada y el certificado público para su CA.
Paso 3: Creación de una autoridad de certificación
Antes de poder crear la clave privada y el certificado de su CA, debe crear y completar un archivo llamado vars
con algunos valores predeterminados. Primero , cd
ingrese al easy-rsa
directorio y luego cree y edite el vars
archivo con nano
su editor de texto preferido.
El editor de texto predeterminado que viene con CentOS 8 es vi
. vi
Es un editor de texto extremadamente potente, pero puede resultar un poco confuso para los usuarios que no tienen experiencia con él. Es posible que desee instalar un editor más fácil de usar, como por ejemplo nano
para facilitar la edición de archivos de configuración en su servidor CentOS 8:
- sudo dnf install nano
Cuando se le solicite que instale el programa, nano
presione Enter y
para continuar con los pasos de instalación. Ahora está listo para editar el vars
archivo:
- cd ~/easy-rsa
- nano vars
Una vez abierto el archivo, pegue las siguientes líneas y edite cada valor resaltado para reflejar la información de su propia organización. Lo importante aquí es asegurarse de no dejar ningún valor en blanco:
~/easy-rsa/varsset_var EASYRSA_REQ_COUNTRY "US"set_var EASYRSA_REQ_PROVINCE "NewYork"set_var EASYRSA_REQ_CITY "New York City"set_var EASYRSA_REQ_ORG "DigitalOcean"set_var EASYRSA_REQ_EMAIL "admin@example.com"set_var EASYRSA_REQ_OU "Community"set_var EASYRSA_ALGO "ec"set_var EASYRSA_DIGEST "sha512"
Cuando haya terminado, guarde y cierre el archivo. Si está utilizando nano
, puede hacerlo presionando CTRL+X
, luego Y
y ENTER
para confirmar. Ahora está listo para crear su CA.
Para crear el par de claves raíz pública y privada para su autoridad de certificación, ejecute el ./easy-rsa
comando nuevamente, esta vez con la build-ca
opción:
- ./easyrsa build-ca
En el resultado, verá algunas líneas sobre la versión de OpenSSL y se le solicitará que ingrese una contraseña para su par de claves. Asegúrese de elegir una contraseña segura y anótela en un lugar seguro. Deberá ingresar la contraseña cada vez que necesite interactuar con su CA, por ejemplo, para firmar o revocar un certificado.
También se le solicitará que confirme el nombre común (CN) de su CA. El CN es el nombre que se utiliza para referirse a esta máquina en el contexto de la autoridad de certificación. Puede ingresar cualquier cadena de caracteres para el nombre común de la CA, pero para simplificar, presione ENTER para aceptar el nombre predeterminado.
Output. . .Enter New CA Key Passphrase:Re-Enter New CA Key Passphrase:. . .Common Name (eg: your user, host, or server name) [Easy-RSA CA]:CA creation complete and you may now import and sign cert requests.Your new CA certificate file for publishing is at:/home/sammy/easy-rsa/pki/ca.crt
Nota: Si no desea que se le solicite una contraseña cada vez que interactúe con su CA, puede ejecutar el build-ca
comando con la nopass
opción, de la siguiente manera:
- ./easyrsa build-ca nopass
Ahora tiene dos archivos importantes ( ~/easy-rsa/pki/ca.crt
y ~/easy-rsa/pki/private/ca.key
) que conforman los componentes público y privado de una autoridad de certificación.
-
ca.crt
es el archivo de certificado público de la CA. Los usuarios, servidores y clientes utilizarán este certificado para verificar que forman parte de la misma red de confianza. Todos los usuarios y servidores que utilicen su CA deberán tener una copia de este archivo. Todas las partes dependerán del certificado público para asegurarse de que nadie se haga pasar por un sistema y realice un ataque de intermediario. -
ca.key
es la clave privada que la CA utiliza para firmar certificados para servidores y clientes. Si un atacante obtiene acceso a su CA y, a su vez, a suca.key
archivo, deberá destruir su CA. Es por eso que suca.key
archivo solo debe estar en su máquina CA y que, idealmente, su máquina CA debe mantenerse fuera de línea cuando no firme solicitudes de certificados como una medida de seguridad adicional.
Con esto, su CA estará lista y preparada para ser utilizada para firmar solicitudes de certificados y revocar certificados.
Paso 4: distribución del certificado público de su autoridad de certificación
Ahora su CA está configurada y lista para actuar como raíz de confianza para cualquier sistema que desee configurar para usarla. Puede agregar el certificado de la CA a sus servidores OpenVPN, servidores web, servidores de correo, etc. Cualquier usuario o servidor que necesite verificar la identidad de otro usuario o servidor en su red debe tener una copia del ca.crt
archivo importado en el almacén de certificados de su sistema operativo.
Para importar el certificado público de la CA a un segundo sistema Linux, como otro servidor o una computadora local, primero obtenga una copia del ca.crt
archivo de su servidor de CA. Puede usar el cat
comando para generarlo en una terminal y luego copiarlo y pegarlo en un archivo en la segunda computadora que está importando el certificado. También puede usar herramientas como scp
, rsync
para transferir el archivo entre sistemas. Sin embargo, usaremos copiar y pegar nano
en este paso, ya que funcionará en todos los sistemas.
Como usuario no root en el servidor CA, ejecute el siguiente comando:
- cat ~/easy-rsa/pki/ca.crt
En su terminal aparecerá una salida similar a la siguiente:
Output-----BEGIN CERTIFICATE-----MIIDSzCCAjOgAwIBAgIUcR9Crsv3FBEujrPZnZnU4nSb5TMwDQYJKoZIhvcNAQELBQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAwMzE4MDMxNjI2WhcNMzAw. . .. . .-----END CERTIFICATE-----
Copia todo, incluidas las líneas -----BEGIN CERTIFICATE-----
y -----END CERTIFICATE-----
y los guiones.
En su segundo sistema Linux nano
, utilice su editor de texto preferido para abrir un archivo llamado /tmp/ca.crt
:
- nano /tmp/ca.crt
Pegue el contenido que acaba de copiar del servidor CA en el editor. Cuando haya terminado, guarde y cierre el archivo. Si está utilizando nano
, puede hacerlo presionando CTRL+X
, luego Y
y ENTER
para confirmar.
Ahora que tiene una copia del ca.crt
archivo en su segundo sistema Linux, es momento de importar el certificado al almacén de certificados de su sistema operativo.
En CentOS, Fedora u otros sistemas Linux derivados de RedHat, ejecute los siguientes comandos para importar el certificado:
Distribuciones CentOS, Fedora y RedHat
- sudo cp /tmp/ca.crt /etc/pki/ca-trust/source/anchors/
- update-ca-trust
Para importar el certificado del servidor de CA en un sistema basado en Debian o Ubuntu, copie y pegue el contenido del archivo en el sistema, tal como en el ejemplo anterior, en un archivo llamado /tmp/ca.crt
. A continuación, copie el certificado en /usr/local/share/ca-certificates/
, y ejecute el update-ca-certificates
comando.
Distribuciones derivadas de Debian y Ubuntu
- sudo cp /tmp/ca.crt /usr/local/share/ca-certificates/
- update-ca-certificates
Ahora su segundo sistema Linux confiará en cualquier certificado que haya sido firmado por el servidor CA.
Nota: Si utiliza su CA con servidores web y utiliza Firefox como navegador, deberá importar el ca.crt
certificado público directamente a Firefox. Firefox no utiliza el almacén de certificados del sistema operativo local. Para obtener más información sobre cómo agregar el certificado de su CA a Firefox, consulte este artículo de soporte de Mozilla sobre cómo configurar autoridades de certificación (CA) en Firefox.
Si está utilizando su CA para integrarse con un entorno Windows o computadoras de escritorio, consulte la documentación sobre cómo usar certutil.exe
para instalar un certificado de CA.
Si está utilizando este tutorial como requisito previo para otro tutorial o está familiarizado con la forma de firmar y revocar certificados, puede detenerse aquí. Si desea obtener más información sobre cómo firmar y revocar certificados, la siguiente sección opcional explicará cada proceso en detalle.
(Opcional) — Creación de solicitudes de firma de certificados y revocación de certificados
Las siguientes secciones del tutorial son opcionales. Si ha completado todos los pasos anteriores, tendrá una autoridad de certificación totalmente configurada y en funcionamiento que puede utilizar como requisito previo para otros tutoriales. Puede importar el ca.crt
archivo de su CA y verificar los certificados en su red que hayan sido firmados por su CA.
Si desea practicar y aprender más sobre cómo firmar solicitudes de certificados y cómo revocar certificados, estas secciones opcionales le explicarán cómo funcionan ambos procesos.
(Opcional) — Creación y firma de una solicitud de certificado de práctica
Ahora que tiene una CA lista para usar, puede practicar la generación de una clave privada y una solicitud de certificado para familiarizarse con el proceso de firma y distribución.
Una solicitud de firma de certificado (CSR) consta de tres partes: una clave pública, información de identificación sobre el sistema solicitante, y una firma de la solicitud en sí, que se crea utilizando la clave privada de la parte solicitante. La clave privada se mantendrá en secreto y se utilizará para cifrar información que cualquier persona con el certificado público firmado podrá descifrar.
Los siguientes pasos se ejecutarán en el segundo sistema Linux que ejecute CentOS, Fedora u otra distribución Linux derivada de RedHat. Puede ser otro servidor remoto o una máquina Linux local, como una computadora portátil o de escritorio. Dado que easy-rsa
no está disponible de manera predeterminada en todos los sistemas, utilizaremos la openssl
herramienta para crear una clave privada y un certificado de práctica.
openssl
Generalmente se instala de forma predeterminada en la mayoría de las distribuciones de Linux, pero para estar seguro, ejecute lo siguiente en su sistema:
- sudo dnf install openssl
Cuando se le solicite que instale, openssl
presione Enter y
para continuar con los pasos de instalación. Ahora está listo para crear un CSR de práctica con openssl
.
El primer paso que debes completar para crear una CSR es generar una clave privada. Para crear una clave privada usando openssl
, crea un practice-csr
directorio y luego genera una clave dentro de él. Realizaremos esta solicitud para un servidor ficticio llamado sammy-server
, en lugar de crear un certificado que se usa para identificar a un usuario u otra CA.
- mkdir ~/practice-csr
- cd ~/practice-csr
- openssl genrsa -out sammy-server.key
OutputGenerating RSA private key, 2048 bit long modulus (2 primes). . .. . .e is 65537 (0x010001)
Ahora que tiene una clave privada, puede crear una CSR correspondiente, nuevamente utilizando la openssl
utilidad. Se le solicitará que complete una serie de campos como País, Estado y Ciudad. Puede ingresar un campo .
si desea dejar un campo en blanco, pero tenga en cuenta que si se trata de una CSR real, es mejor utilizar los valores correctos para su ubicación y organización:
- openssl req -new -key sammy-server.key -out sammy-server.req
Output. . .-----Country Name (2 letter code) [XX]:USState or Province Name (full name) []:New YorkLocality Name (eg, city) [Default City]:New York CityOrganization Name (eg, company) [Default Company Ltd]:DigitalOceanOrganizational Unit Name (eg, section) []:CommunityCommon Name (eg, your name or your server's hostname) []:sammy-serverEmail Address []:Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:
Si desea agregar automáticamente esos valores como parte de la openssl
invocación en lugar de hacerlo a través del mensaje interactivo, puede pasar el -subj
argumento a OpenSSL. Asegúrese de editar los valores resaltados para que coincidan con la ubicación de su consultorio, la organización y el nombre del servidor:
- openssl req -new -key sammy-server.key -out sammy-server.req -subj
- /C=US/ST=New York/L=New York City/O=DigitalOcean/OU=Community/CN=sammy-server
Para verificar el contenido de un CSR, puede leer un archivo de solicitud openssl
y examinar los campos que contiene:
- openssl req -in sammy-server.req -noout -subject
Outputsubject=C = US, ST = New York, L = New York City, O = DigitalOcean, OU = Community, CN = sammy-server
Una vez que esté satisfecho con el tema de su solicitud de certificado de práctica, copie el sammy-server.req
archivo a su servidor CA usando scp
:
- scp sammy-server.req sammy@your_ca_server_ip:/tmp/sammy-server.req
En este paso, generó una solicitud de firma de certificado para un servidor ficticio llamado sammy-server
. En un escenario del mundo real, la solicitud podría provenir de un servidor web de prueba o de desarrollo que necesita un certificado TLS para realizar pruebas; o podría provenir de un servidor OpenVPN que solicita un certificado para que los usuarios puedan conectarse a una VPN. En el siguiente paso, procederemos a firmar la solicitud de firma de certificado utilizando la clave privada del servidor de CA.
(Opcional) — Firma de un CSR
En el paso anterior, creó una solicitud de certificado de práctica y una clave para un servidor ficticio. La copió en el /tmp
directorio de su servidor de CA, emulando el proceso que usaría si tuviera clientes o servidores reales que le enviaran solicitudes de CSR que deben firmarse.
Continuando con el escenario ficticio, ahora el servidor de CA debe importar el certificado de práctica y firmarlo. Una vez que la CA valida una solicitud de certificado y la retransmite a un servidor, los clientes que confían en la autoridad de certificación también podrán confiar en el certificado recién emitido.
Dado que operaremos dentro de la PKI de la CA, donde easy-rsa
está disponible la utilidad, los pasos de firma utilizarán la easy-rsa
utilidad para facilitar las cosas, en lugar de usarla openssl
directamente como hicimos en el ejemplo anterior.
El primer paso para firmar el CSR ficticio es importar la solicitud de certificado utilizando el easy-rsa
script:
- cd ~/easy-rsa
- ./easyrsa import-req /tmp/sammy-server.req sammy-server
Output. . .The request has been successfully imported with a short name of: sammy-serverYou may now use this name to perform signing operations on this request.
Ahora puede firmar la solicitud ejecutando el easyrsa
script con la sign-req
opción, seguida del tipo de solicitud y el nombre común que se incluye en la CSR. El tipo de solicitud puede ser client
, server
o ca
. Dado que estamos practicando con un certificado para un servidor ficticio, asegúrese de usar el server
tipo de solicitud:
- ./easyrsa sign-req server sammy-server
En el resultado, se le solicitará que verifique que la solicitud proviene de una fuente confiable. Escriba yes
y presione ENTER
para confirmar:
OutputYou are about to sign the following certificate.Please check over the details shown below for accuracy. Note that this requesthas not been cryptographically verified. Please be sure it came from a trustedsource or that you have verified the request checksum with the sender.Request subject, to be signed as a server certificate for 3650 days_subject= commonName = sammy-serverType the word 'yes' to continue, or any other input to abort. Confirm request details: yes. . .Certificate created at: /home/sammy/easy-rsa/pki/issued/sammy-server.crt
Si cifró su clave CA, se le solicitará su contraseña en este punto.
Una vez completados estos pasos, ha firmado la sammy-server.req
CSR con la clave privada del servidor de CA en formato /home/sammy/easy-rsa/pki/private/ca.key
. El sammy-server.crt
archivo resultante contiene la clave de cifrado pública del servidor de práctica, así como una nueva firma del servidor de CA. El objetivo de la firma es indicar a cualquier persona que confíe en la CA que también puede confiar en el sammy-server
certificado.
Si esta solicitud fuera para un servidor real, como un servidor web o un servidor VPN, el último paso en el servidor CA sería distribuir los archivos nuevos sammy-server.crt
desde ca.crt
el servidor CA al servidor remoto que realizó la solicitud CSR:
- scp pki/issued/sammy-server.crt sammy@your_server_ip:/tmp
- scp pki/ca.crt sammy@your_server_ip:/tmp
En este punto, podrá utilizar el certificado emitido con algo como un servidor web, una VPN, una herramienta de gestión de configuración, un sistema de base de datos o para fines de autenticación de clientes.
(Opcional) — Revocar un certificado
En ocasiones, es posible que deba revocar un certificado para evitar que un usuario o un servidor lo utilicen. Tal vez le robaron la computadora portátil a alguien, vulneraron un servidor web o un empleado o contratista abandonó su organización.
Para revocar un certificado, el proceso general sigue estos pasos:
- Revocar el certificado con el comando.
./easyrsa revoke client_name
- Genere una nueva CRL con el
./easyrsa gen-crl
comando. - Transfiera el
crl.pem
archivo actualizado al servidor o servidores que dependen de su CA y, en esos sistemas, cópielo al directorio o directorios requeridos para los programas que hacen referencia a él. - Reinicie cualquier servicio que utilice su CA y el archivo CRL.
Puede utilizar este proceso para revocar cualquier certificado que haya emitido previamente en cualquier momento. Repasaremos cada paso en detalle en las siguientes secciones, comenzando con el revoke
comando.
Revocar un certificado
Para revocar un certificado, navegue al easy-rsa
directorio en su servidor CA:
- cd ~/easy-rsa
A continuación, ejecute el easyrsa
script con la revoke
opción, seguida del nombre del cliente que desea revocar. Siguiendo el ejemplo práctico anterior, el nombre común del certificado es sammy-server
:
- ./easyrsa revoke sammy-server
Esto le pedirá que confirme la revocación ingresando yes
:
OutputPlease confirm you wish to revoke the certificate with the following subject_subject= commonName = sammy-serverType the word 'yes' to continue, or any other input to abort. Continue with revocation: yes. . .Revoking Certificate 8348B3F146A765581946040D5C4D590A. . .
Tenga en cuenta el valor resaltado en la Revoking Certificate
línea. Este valor es el número de serie único del certificado que se va a revocar. Si desea examinar la lista de revocaciones en el último paso de esta sección para verificar que el certificado se encuentra en ella, necesitará este valor.
Después de confirmar la acción, la CA revocará el certificado. Sin embargo, los sistemas remotos que dependen de la CA no tienen forma de comprobar si se ha revocado algún certificado. Los usuarios y servidores podrán seguir utilizando el certificado hasta que la lista de revocación de certificados (CRL) de la CA se distribuya a todos los sistemas que dependen de la CA.
En el siguiente paso generará una CRL o actualizará un crl.pem
archivo existente.
Generación de una lista de revocación de certificados
Ahora que ha revocado un certificado, es importante actualizar la lista de certificados revocados en su servidor de CA. Una vez que tenga una lista de revocaciones actualizada, podrá saber qué usuarios y sistemas tienen certificados válidos en su CA.
Para generar una CRL, ejecute el easy-rsa
comando con la gen-crl
opción mientras aún esté dentro del ~/easy-rsa
directorio:
- ./easyrsa gen-crl
Si ha utilizado una frase de contraseña al crear el ca.key
archivo, se le solicitará que la ingrese. El gen-crl
comando generará un archivo llamado crl.pem
, que contiene la lista actualizada de certificados revocados para esa CA.
A continuación, deberá transferir el crl.pem
archivo actualizado a todos los servidores y clientes que dependen de esta CA cada vez que ejecute el gen-crl
comando. De lo contrario, los clientes y sistemas podrán seguir accediendo a los servicios y sistemas que utilizan su CA, ya que esos servicios necesitan conocer el estado revocado del certificado.
Transferencia de una lista de revocación de certificados
Ahora que ha generado una CRL en su servidor de CA, debe transferirla a los sistemas remotos que dependen de su CA. Para transferir este archivo a sus servidores, puede utilizar el scp
comando.
Nota: Este tutorial explica cómo generar y distribuir una CRL manualmente. Si bien existen métodos más sólidos y automatizados para distribuir y verificar listas de revocación como OCSP-Stapling, la configuración de esos métodos queda fuera del alcance de este artículo.
Asegúrese de haber iniciado sesión en su servidor CA como su usuario no root y ejecute lo siguiente, sustituyendo su propia IP de servidor o nombre DNS en lugar de your_server_ip
:
- scp ~/easy-rsa/pki/crl.pem sammy@your_server_ip:/tmp
Ahora que el archivo está en el sistema remoto, el último paso es actualizar todos los servicios con la nueva copia de la lista de revocación.
Actualización de servicios que admiten una CRL
Enumerar los pasos que debe seguir para actualizar los servicios que utilizan el crl.pem
archivo queda fuera del alcance de este tutorial. En general, deberá copiar el crl.pem
archivo en la ubicación que espera el servicio y luego reiniciarlo utilizando systemctl
.
Una vez que haya actualizado sus servicios con el nuevo crl.pem
archivo, sus servicios podrán rechazar conexiones de clientes o servidores que utilicen un certificado revocado.
Examen y verificación del contenido de una CRL
Si desea examinar un archivo CRL, por ejemplo para confirmar una lista de certificados revocados, utilice el siguiente openssl
comando desde su easy-rsa
directorio en su servidor CA:
- cd ~/easy-rsa
- openssl crl -in pki/crl.pem -noout -text
También puede ejecutar este comando en cualquier servidor o sistema que tenga openssl
instalada la herramienta con una copia del crl.pem
archivo. Por ejemplo, si transfirió el crl.pem
archivo a su segundo sistema y desea verificar que el sammy-server
certificado esté revocado, puede usar un openssl
comando como el siguiente, sustituyendo el número de serie que anotó anteriormente cuando revocó el certificado en lugar del número resaltado aquí:
- openssl crl -in /tmp/crl.pem -noout -text |grep -A 1 8348B3F146A765581946040D5C4D590A
Output Serial Number: 8348B3F146A765581946040D5C4D590A Revocation Date: Apr 1 20:48:02 2020 GMT
Observe cómo se utiliza el grep
comando para verificar el número de serie único que anotó en el paso de revocación. Ahora puede verificar el contenido de su li
Deja una respuesta