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

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Instalación de Easy-RSA
  • Paso 2: Preparación de un directorio de infraestructura de clave pública
  • Paso 3: Creación de una autoridad de certificación
  • Paso 4: distribución del certificado público de su autoridad de certificación
  • (Opcional) — Creación de solicitudes de firma de certificados y revocación de certificados
    1. (Opcional) — Creación y firma de una solicitud de certificado de práctica
    2. (Opcional) — Firma de un CSR
    3. (Opcional) — Revocar un certificado
  • 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 sudousuario 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-rsaconjunto de scripts en su servidor CA. easy-rsaes 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-rsapaquete 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:

    1. sudo dnf install epel-release

    Se le solicitará que descargue el paquete y lo instale. Presione ypara confirmar que desea instalar el paquete.

    Ahora instale el easy-rsapaquete, ingresando nuevamente yen el indicador:

    1. 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-rsadirectorio. 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.

    1. mkdir ~/easy-rsa

    Esto creará un nuevo directorio llamado easy-rsaen su carpeta de inicio. Usaremos este directorio para crear enlaces simbólicos que apunten a los easy-rsaarchivos del paquete que instalamos en el paso anterior. Estos archivos se encuentran en la /usr/share/easy-rsa/3carpeta en el servidor de CA.

    Crea los enlaces simbólicos con el lncomando:

    1. ln -s /usr/share/easy-rsa/3/* ~/easy-rsa/

    Nota: Si bien otras guías pueden indicarle que copie los easy-rsaarchivos del paquete en su directorio PKI, este tutorial adopta un enfoque de enlace simbólico. Como resultado, cualquier actualización del easy-rsapaquete 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 chmodcomando:

    1. chmod 700 /home/sammy/easy-rsa

    Por último, inicialice la PKI dentro del easy-rsadirectorio:

    1. cd ~/easy-rsa
    2. ./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 varscon algunos valores predeterminados. Primero , cdingrese al easy-rsadirectorio y luego cree y edite el varsarchivo con nanosu editor de texto preferido.

    El editor de texto predeterminado que viene con CentOS 8 es vi. viEs 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 nanopara facilitar la edición de archivos de configuración en su servidor CentOS 8:

    1. sudo dnf install nano

    Cuando se le solicite que instale el programa, nanopresione Enter ypara continuar con los pasos de instalación. Ahora está listo para editar el varsarchivo:

    1. cd ~/easy-rsa
    2. 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 Yy ENTERpara 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-rsacomando nuevamente, esta vez con la build-caopción:

    1. ./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-cacomando con la nopassopción, de la siguiente manera:

    1. ./easyrsa build-ca nopass

    Ahora tiene dos archivos importantes ( ~/easy-rsa/pki/ca.crty ~/easy-rsa/pki/private/ca.key) que conforman los componentes público y privado de una autoridad de certificación.

    • ca.crtes 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.keyes 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 su ca.keyarchivo, deberá destruir su CA. Es por eso que su ca.keyarchivo 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.crtarchivo 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.crtarchivo de su servidor de CA. Puede usar el catcomando 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, rsyncpara transferir el archivo entre sistemas. Sin embargo, usaremos copiar y pegar nanoen este paso, ya que funcionará en todos los sistemas.

    Como usuario no root en el servidor CA, ejecute el siguiente comando:

    1. 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:

    1. 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 Yy ENTERpara confirmar.

    Ahora que tiene una copia del ca.crtarchivo 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

    1. sudo cp /tmp/ca.crt /etc/pki/ca-trust/source/anchors/
    2. 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-certificatescomando.

    Distribuciones derivadas de Debian y Ubuntu

    1. sudo cp /tmp/ca.crt /usr/local/share/ca-certificates/
    2. 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.crtcertificado 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.exepara 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.crtarchivo 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-rsano está disponible de manera predeterminada en todos los sistemas, utilizaremos la opensslherramienta para crear una clave privada y un certificado de práctica.

    opensslGeneralmente se instala de forma predeterminada en la mayoría de las distribuciones de Linux, pero para estar seguro, ejecute lo siguiente en su sistema:

    1. sudo dnf install openssl

    Cuando se le solicite que instale, opensslpresione Enter ypara 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-csrdirectorio 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.

    1. mkdir ~/practice-csr
    2. cd ~/practice-csr
    3. 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 opensslutilidad. 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:

    1. 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 opensslinvocación en lugar de hacerlo a través del mensaje interactivo, puede pasar el -subjargumento 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:

    1. openssl req -new -key sammy-server.key -out sammy-server.req -subj
    2. /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 openssly examinar los campos que contiene:

    1. 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.reqarchivo a su servidor CA usando scp:

    1. 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 /tmpdirectorio 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-rsaestá disponible la utilidad, los pasos de firma utilizarán la easy-rsautilidad para facilitar las cosas, en lugar de usarla openssldirectamente como hicimos en el ejemplo anterior.

    El primer paso para firmar el CSR ficticio es importar la solicitud de certificado utilizando el easy-rsascript:

    1. cd ~/easy-rsa
    2. ./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 easyrsascript con la sign-reqopción, seguida del tipo de solicitud y el nombre común que se incluye en la CSR. El tipo de solicitud puede ser client, servero ca. Dado que estamos practicando con un certificado para un servidor ficticio, asegúrese de usar el servertipo de solicitud:

    1. ./easyrsa sign-req server sammy-server

    En el resultado, se le solicitará que verifique que la solicitud proviene de una fuente confiable. Escriba yesy presione ENTERpara 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.reqCSR con la clave privada del servidor de CA en formato /home/sammy/easy-rsa/pki/private/ca.key. El sammy-server.crtarchivo 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-servercertificado.

    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.crtdesde ca.crtel servidor CA al servidor remoto que realizó la solicitud CSR:

    1. scp pki/issued/sammy-server.crt sammy@your_server_ip:/tmp
    2. 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:

    1. Revocar el certificado con el comando../easyrsa revoke client_name
    2. Genere una nueva CRL con el ./easyrsa gen-crlcomando.
    3. Transfiera el crl.pemarchivo 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.
    4. 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 revokecomando.

    Revocar un certificado

    Para revocar un certificado, navegue al easy-rsadirectorio en su servidor CA:

    1. cd ~/easy-rsa

    A continuación, ejecute el easyrsascript con la revokeopción, seguida del nombre del cliente que desea revocar. Siguiendo el ejemplo práctico anterior, el nombre común del certificado es sammy-server:

    1. ./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 Certificatelí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.pemarchivo 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-rsacomando con la gen-crlopción mientras aún esté dentro del ~/easy-rsadirectorio:

    1. ./easyrsa gen-crl

    Si ha utilizado una frase de contraseña al crear el ca.keyarchivo, se le solicitará que la ingrese. El gen-crlcomando generará un archivo llamado crl.pem, que contiene la lista actualizada de certificados revocados para esa CA.

    A continuación, deberá transferir el crl.pemarchivo actualizado a todos los servidores y clientes que dependen de esta CA cada vez que ejecute el gen-crlcomando. 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 scpcomando.

    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:

    1. 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.pemarchivo queda fuera del alcance de este tutorial. En general, deberá copiar el crl.pemarchivo en la ubicación que espera el servicio y luego reiniciarlo utilizando systemctl.

    Una vez que haya actualizado sus servicios con el nuevo crl.pemarchivo, 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 opensslcomando desde su easy-rsadirectorio en su servidor CA:

    1. cd ~/easy-rsa
    2. openssl crl -in pki/crl.pem -noout -text

    También puede ejecutar este comando en cualquier servidor o sistema que tenga opensslinstalada la herramienta con una copia del crl.pemarchivo. Por ejemplo, si transfirió el crl.pemarchivo a su segundo sistema y desea verificar que el sammy-servercertificado esté revocado, puede usar un opensslcomando como el siguiente, sustituyendo el número de serie que anotó anteriormente cuando revocó el certificado en lugar del número resaltado aquí:

    1. 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 grepcomando para verificar el número de serie único que anotó en el paso de revocación. Ahora puede verificar el contenido de su li

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion