GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo crear un certificado SSL autofirmado local en CentOS 8

SSL (Capa de conexión segura ), y su versión mejorada, TLS (Capa de sockets de transporte ), son protocolos de seguridad que se utilizan para proteger el tráfico web enviado desde el navegador web de un cliente a un servidor web.

Un SSL certificado es un certificado digital que crea un canal seguro entre el navegador de un cliente y un servidor web. Al hacerlo, los datos sensibles y confidenciales, como los datos de la tarjeta de crédito, las credenciales de inicio de sesión y otra información altamente privada, se cifran, lo que evita que los piratas informáticos espíen y roben su información.

¿Qué es un certificado SSL autofirmado?

Un certificado SSL autofirmado, a diferencia de otros SSL certificados firmados y de confianza por una autoridad de certificación (CA ), es un certificado firmado por un individuo que lo posee.

Es totalmente gratuito crear uno y es una forma económica de cifrar su servidor web alojado localmente. Sin embargo, se desaconseja encarecidamente el uso de un certificado SSL autofirmado en entornos de producción por las siguientes razones:

  1. Dado que no está firmado por una autoridad certificadora , un certificado SSL autofirmado genera alertas en los navegadores web advirtiendo a los usuarios del riesgo potencial que se avecina si deciden continuar. Estas alertas no son deseadas y disuadirán a los usuarios de visitar su sitio web, lo que podría provocar una disminución en el tráfico web. Como solución a estas alertas, las organizaciones suelen animar a sus empleados a simplemente ignorar las alertas y seguir adelante. Esto puede generar un hábito peligroso entre los usuarios que pueden decidir continuar ignorando estas alertas en otros sitios en línea, pudiendo ser víctimas de sitios de phishing.
  2. Los certificados autofirmados tienen un nivel de seguridad bajo, ya que implementan tecnologías de cifrado y hash de bajo nivel. Por lo tanto, es posible que el nivel de seguridad no esté a la altura de las políticas de seguridad estándar.
  3. Además, no hay soporte para las funciones de infraestructura de clave pública (PKI).

Dicho esto, el uso de un certificado SSL autofirmado no es una mala idea para probar servicios y aplicaciones en una máquina local que requiere TLS/SSL. cifrado.

En esta guía, aprenderá a instalar un certificado SSL autofirmado local en Apache servidor web localhost en un CentOS 8 sistema de servidor.

Requisitos previos:

Antes de comenzar, asegúrese de tener los siguientes requisitos básicos:

  1. Una instancia del servidor CentOS 8.
  2. Servidor web Apache instalado en el servidor
  3. Un nombre de host ya configurado y definido en /etc/hosts expediente. Para esta guía, vamos a utilizar tecmint.local un nombre de host para nuestro servidor.

Paso 1:Instalación de Mod_SSL en CentOS

1. Para comenzar, debe verificar que Apache el servidor web está instalado y funcionando.

$ sudo systemctl status httpd

Aquí está el resultado esperado.

Verificar estado de Apache

Si el servidor web no se está ejecutando, puede iniciarlo y habilitarlo al iniciar con el comando.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Inicie el servidor web Apache

A partir de entonces, puede confirmar si Apache está funcionando.

2. Para habilitar la instalación y configuración del certificado SSL autofirmado local, el mod_ssl se requiere el paquete.

$ sudo dnf install mod_ssl

Una vez instalado, puede verificar su instalación ejecutando.

$ sudo rpm -q mod_ssl

Verificar instalación Mod SSL

Además, asegúrese de que OpenSSL el paquete está instalado (OpenSSL viene instalado por defecto en CentOS 8 ).

$ sudo rpm -q openssl 

Verificar la instalación de Openssl

Paso 2:Cree un certificado SSL autofirmado local para Apache

3. Con el Apache servidor web y todos los requisitos previos bajo control, debe crear un directorio en el que se almacenarán las claves criptográficas.

En este ejemplo, hemos creado un directorio en /etc/ssl/private .

$ sudo mkdir -p /etc/ssl/private

Ahora cree la clave y el archivo del certificado SSL local usando el comando:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Echemos un vistazo a lo que realmente significan algunas de las opciones en el comando:

  • requerido -x509 – Esto indica que estamos utilizando la solicitud de firma de certificado (CSR) x509.
  • -nodos – Esta opción indica a OpenSSL que omita el cifrado del certificado SSL mediante una frase de contraseña. La idea aquí es permitir que Apache pueda leer el archivo sin ningún tipo de intervención del usuario, lo que no sería posible si se proporciona una frase de contraseña.
  • -nueva clave rsa:2048 – Esto indica que queremos crear simultáneamente una nueva clave y un nuevo certificado. La porción rsa:2048 implica que queremos crear una clave RSA de 2048 bits.
  • -keyout – Esta opción especifica dónde almacenar el archivo de clave privada generado al momento de la creación.
  • -fuera – La opción especifica dónde colocar el certificado SSL creado.

Crear certificado SSL local para Apache

Paso 3:Instale el certificado SSL autofirmado local en Apache

4. Habiendo generado el archivo del certificado SSL, ahora es el momento de instalar el certificado utilizando la configuración del servidor web Apache. Abra y edite el /etc/httpd/conf.d/ssl.conf archivo de configuración.

$ sudo /etc/httpd/conf.d/ssl.conf

Asegúrese de tener las siguientes líneas entre las etiquetas de host virtual.

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/private/tecmint.local.key
</VirtualHost>

Guardar y salir del archivo. Para que se efectúen los cambios, reinicie Apache usando el comando:

$ sudo systemctl restart httpd

5. Para que los usuarios externos accedan a su servidor, debe abrir el puerto 443 a través del cortafuegos como se muestra.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

Paso 3:prueba del certificado SSL autofirmado local en Apache

Con todas las configuraciones en su lugar, inicie su navegador y explore la dirección de su servidor usando la dirección IP del servidor o el nombre de dominio usando el protocolo https.

Para agilizar las pruebas, puede considerar redirigir el protocolo HTTP a HTTPS en el servidor web Apache. Esto es para que cada vez que navegue por el dominio en HTTP simple, se redirigirá automáticamente al protocolo HTTPS.

Así que busque el dominio o IP de su servidor

https://domain_name/

Recibirá una alerta informándole que la conexión no es segura como se muestra. Esto variará de un navegador a otro. Como puede suponer, la alerta se debe a que el certificado SSL no está firmado por la Autoridad de certificación y el navegador lo registra e informa que no se puede confiar en el certificado.

Advertencia de certificado SSL

Para acceder a su sitio web, haga clic en el botón 'Avanzado ' como se muestra arriba:

Continuar Advertencias de certificado SSL

A continuación, agregue la excepción al navegador.

Confirmar excepción de seguridad

Finalmente, vuelva a cargar su navegador y observe que ahora puede acceder al servidor, aunque habrá una advertencia en la barra de URL que indica que el sitio no es completamente seguro por la misma razón que el certificado SSL es autofirmado y no firmado por el Autoridad de certificación.

Acceder al sitio web a través de HTTPS

Esperamos que ahora pueda continuar y crear e instalar un certificado SSL autofirmado en el servidor web Apache localhost en CentOS 8 .

Compartir es cuidar…
Compartir en FacebookCompartir en TwitterCompartir en LinkedinCompartir en Reddit
Cent OS
  1. Cómo instalar un certificado SSL en Apache para CentOS 7

  2. Cómo instalar un certificado SSL autofirmado en cPanel

  3. Cómo crear un repositorio YUM local en CentOS 7 / RHEL 7 usando DVD

  4. Cómo crear un usuario sudo en CentOS 7

  5. Cómo crear un certificado SSL autofirmado en Ubuntu 18.04

Cómo generar certificados SSL autofirmados usando OpenSSL

Cómo crear un usuario Sudo en CentOS

Cómo instalar Textpattern en CentOS 7

Cómo instalar LetsEncrypt SSL con Nginx en CentOS 6

Cómo instalar un certificado SSL gratuito para Nginx en CentOS 8

¿Cómo restablecer/renovar el certificado autofirmado de cPanel/WHM?