Cómo crear certificados y claves SSL autofirmados para Apache en Rhel/Centos 7.0

Cómo crear certificados y claves SSL autofirmados para Apache en Rhel/Centos 7.0

Ssl (Asegurar la capa de enchufes) es un protocolo criptográfico que permite un flujo de datos seguro entre un servidor y sus clientes utilizando claves simétricas/asimétricas mediante el uso de un certificado digital firmado por una autoridad de certificado (CA).

Crear certificados SSL para Apache

Requisitos

  1. Instalación básica de la lámpara en Rhel/Centos 7.0

Este tutorial proporciona un enfoque sobre cómo configurar Asegurar la capa de enchufes (SSL) Protocolo criptográfico de comunicación en Apache Web Server instalado en Red Hat Enterprise Linux/Centos 7.0, y generar certificados y claves autofirmados con la ayuda de un script bash que simplifica enormemente todo el proceso.

Paso 1: Instale y configure Apache SSL

1. Para habilitar SSL en Apache HTTP Server, use el siguiente comando para instalar el módulo SSL y el kit de herramientas OpenSSL que es necesario para el soporte SSL/TLS.

# yum instalación mod_SSL OpenSSL
Instalar el módulo SSL

2. Después de que se haya instalado el módulo SSL, reinicie Httpd demonio y agregue una nueva regla de firewall para garantizar que el puerto SSL - 443 - Se abre a conexiones externas en su máquina en estado de escucha.

# SystemCTL reiniciar httpd # firewall-cmd --add-service = https ## Regla de entrada # firewall-cmd --Permanent --add-service = https ## Regla permanente: necesita reinicio de firewalld
Reiniciar el servicio Apache

3. Para probar la conexión SSL, abra un navegador remoto y navegue a la dirección IP de su servidor utilizando el protocolo HTPS en https: // server_ip.

Probar la conexión SSL

Paso 2: Crear certificados y teclas SSL

4. La comunicación SSL anterior entre el servidor y el cliente se realizó utilizando un certificado predeterminado y una clave generada automáticamente en la instalación. Para generar nuevas claves privadas y pares de certificados autofirmados, cree el siguiente script bash en una ruta del sistema ejecutable ($).

Para este tutorial /usr/local/bin/ Se eligió la ruta, asegúrese de que el script tenga un bits ejecutable y, luego, úsela como un comando para crear nuevos pares SSL en /etc/httpd/ssl/ como certificados y claves ubicación predeterminada.

# nano/usr/local/bin/apache_ssl

Use el siguiente contenido del archivo.

#!/bin/bash mkdir/etc/httpd/ssl cd/etc/httpd/ssl echo -e "Ingrese su host virtual FQDN: \ nTHIS generará el nombre predeterminado para el certificado APACHE SSL y la clave!"Leer certificador OpenSsl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits: 2048 -out $ cert.clave chmod 600 $ cert.clave OpenSSL req -New -Key $ cert.clave -Out $ cert.CSR OpenSSL x509 -req -days 365 -in $ cert.CSR -SignKey $ cert.clave -Out $ cert.CRT Echo -e "Se ha generado el certificado y la clave para $ cert!\ nlease enlazarlo al sitio web disponible de Apache SSL!"LS -ALL/ETC/HTTPD/SSL EXIT 0
Crear certificados y claves autofirmados

5. Ahora haga que este script se ejecute y inicielo para generar un nuevo par de certificado y clave para su host virtual Apache SSL.

Llénelo con su información y preste atención a Nombre común Valor para que coincida con su servidor FQDN o en caso de alojamiento virtual para que coincida con la dirección web a la que accederá cuando se conecte a un sitio web seguro.

# Chmod +x/usr/local/bin/apache_ssl # apache_ssl
Ingrese la información SSL

6. Después de generar el certificado y la clave, el script presentará una larga lista de todos sus pares SSL Apache almacenados en /etc/httpd/ssl/ ubicación.

Pares de apache ssl

7. Otro enfoque para generar certificados y claves SSL es instalar cripto-usos paquete en su sistema y genere pares utilizando género comando, que puede imponer algunos problemas, especialmente cuando se usa en un Masilla pantalla terminal.

Entonces, sugiero usar este método solo cuando esté directamente conectado a un monitor de pantalla.

# yum install crypto-uTils # genkey your_fqdn
Instalar paquete criptográfico

8. Para agregar el nuevo certificado y la clave a su sitio web de SSL, abra el archivo de configuración de su sitio web y reemplace Sslcertificatefile y Sslcertificatekeyfile declaraciones con la ubicación y nombres de los nuevos pares en consecuencia.

Habilitar SSL en VirtualHosts

9. Si el certificado no es emitido por una autoridad de certificación de CA de confianza o el nombre de host del certificado no coincide con el nombre de host que establece la conexión, debe aparecer un error en su navegador y debe aceptar manualmente el certificado.

Error de certificado SSL SSL habilitado en Apache

Eso es todo! Ahora puedes usar apache_sslcomo una línea de comando en Rhel/Centos 7.0 para generar tantos pares de certificados y claves autofirmados que necesite, y todos se mantendrán en /etc/httpd/ssl/ ruta con el archivo de clave protegido con 700 permisos.