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

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

Ssl (Asegurar la capa de enchufe), y su versión mejorada, TLS (Capa de zócalo de transporte), son protocolos de seguridad que se utilizan para asegurar el tráfico web enviado desde el navegador web de un cliente a un servidor web.

Un Ssl El certificado es un certificado digital que crea un canal seguro entre el navegador de un cliente y un servidor web. Al hacerlo, los datos confidenciales y confidenciales, como datos de tarjetas de crédito, credenciales de inicio de sesión y otra información altamente privada, se cifran, evitando que los piratas informáticos escuchen y roben su información.

¿Qué es un certificado SSL autofirmado??

Un certificado SSL autofirmado, a diferencia de otro Ssl certificados firmados y confiables por un Autoridad certificada (California), es un certificado firmado por un individuo que lo posee.

Es totalmente gratuito para crear uno y es una forma barata de cifrar su servidor web alojado localmente. Sin embargo, el uso de un certificado SSL autofirmado está altamente desaconsejado en entornos de producción por las siguientes razones:

  1. Ya que no está firmado por un Autoridad certificada, Un certificado SSL autofirmado genera alertas en los navegadores web que advierten a los usuarios sobre el riesgo potencial por delante si deciden continuar. Estas alertas no son deseadas y disuadirán a los usuarios de visitar su sitio web, lo que podría conducir a una disminución en el tráfico web. Como solución para estas alertas, las organizaciones generalmente alientan a sus empleados a simplemente ignorar las alertas y continuar con anticipación. Esto puede generar un hábito peligroso entre los usuarios que pueden decidir continuar ignorando estas alertas en otros sitios en línea, siendo potencialmente víctima de los sitios de phishing.
  2. Los certificados autofirmados tienen un nivel de baja seguridad ya que implementan tecnologías de cifrado de bajo nivel y hashes. Por lo tanto, el nivel de seguridad puede no estar a la par con las políticas de seguridad estándar.
  3. Además, no hay apoyo 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 encriptación.

En esta guía, aprenderá cómo instalar un certificado SSL autofirmado local en el apache servidor web localhost en un Centos 8 sistema de servidor.

Prerrequisitos:

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

  1. Una instancia del servidor Centos 8.
  2. Servidor web de Apache instalado en el servidor
  3. Un nombre de host ya configurado y definido en el /etc/huéspedes archivo. Para esta guía, vamos a usar tecmenta.local un nombre de host para nuestro servidor.

Paso 1: Instalar MOD_SSL en CentOS

1. Para comenzar, debe verificar que el apache El servidor web está instalado y en ejecución.

$ sudo systemctl status httpd 

Aquí está el resultado esperado.

Verificar el estado de Apache

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

$ sudo systemctl iniciar httpd $ sudo systemctl habilita httpd 
Iniciar el servidor web de Apache

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

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

$ sudo dnf instalación mod_ssl 

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

$ sudo rpm -q mod_ssl 
Verificar la instalación de mod SSL

Además, asegúrese de que el Openssl el paquete está instalado (Openssl viene instalado de forma predeterminada 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 dentro del cual se almacenarán las claves criptográficas.

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

$ sudo mkdir -p/etc/ssl/privado 

Ahora cree la clave de certificado SSL local y el archivo 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 representan algunas de las opciones en el comando:

  • REQ -X509 - Esto indica que estamos utilizando la solicitud de firma del certificado X509 (CSR).
  • -nodos - Esta opción instruye a OpenSSL que saltee cifre el certificado SSL utilizando una frase de pases. La idea aquí es permitir que Apache pueda leer el archivo sin ningún tipo de intervención del usuario que no sea posible si se proporciona una frase.
  • -Newkey 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 tecla RSA de 2048 bits.
  • -llave - Esta opción especifica dónde almacenar el archivo de clave privada generado en la creación.
  • -afuera - 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 de certificado SSL, ahora es el momento de instalar el certificado utilizando la configuración del servidor web de Apache. Abra y edite el /etc/httpd/conf.D/SSL.confusión archivo de configuración.

$ sudo vi/etc/httpd/conf.D/SSL.confusión 

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

 ServerAdmin [correo electrónico protegido] Servername www.tecmenta.Serveralias local TecMint.DocumentRoot local/var/www/html sslEngine en SslCertificateFile/etc/ssl/private/tecmint.local.CRT SslCertificAtekeyFile/etc/ssl/private/tecmint.local.llave  

Guardar y salir del archivo. Para que los cambios sean efectuados, reinicie Apache usando el comando:

$ sudo systemctl reiniciar httpd 

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

$ sudo firewall-cmd --add-puer = 443 --zone = public --permanent $ sudo firewall-cmd--Reload 

Paso 3: Probar el certificado SSL autofirmado local en Apache

Con todas las configuraciones en su lugar, active su navegador y navegue por la dirección de su servidor utilizando la dirección IP del servidor o el nombre de dominio utilizando el protocolo HTTPS.

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

Así que navegue por el dominio o la IP de su servidor

https: // domain_name/ 

Obtendrá una alerta informarle que la conexión no es segura como se muestra. Esto variará de un navegador a otro. Como puede suponer, la alerta se debe al hecho de que el certificado SSL no está firmado por el Autoridad certificada y el navegador registra eso e informa que no se puede confiar en el certificado.

Advertencia de certificado SSL

Para proceder a su sitio web, haga clic en el 'Avanzado'pestaña como se muestra arriba:

Proceder advertencias de certificado SSL

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

Confirmar la excepción de seguridad

Finalmente, recargar su navegador y observe que ahora puede acceder al servidor, aunque habrá una advertencia en la barra de URL de que el sitio no está completamente seguro por la misma razón por la que el certificado SSL está firmado y no firmado por el Autoridad certificada.

Acceder al sitio web a través de HTTPS

Esperamos que ahora pueda proceder e crear e instalar un certificado SSL autofirmado en el servidor web de Apache LocalHost en Centos 8.