Cómo instalar Cifrar el certificado SSL para asegurar Apache en RHEL/CentOS 7/6

Cómo instalar Cifrar el certificado SSL para asegurar Apache en RHEL/CentOS 7/6

Extendiendo el último tutorial de encriptamiento con respecto a los certificados gratuitos de SSL/TLS, en este artículo vamos a demostrar cómo obtener e instalar certificados SSL/TLS gratuitos emitidos por Vamos a cifrar la autoridad de certificado para apache servidor web en CentOS/RHEL 7/6 y distribuciones de fedora también.

Si está buscando instalar Vamos en cifrado para Apache en Debian y Ubuntu, siga esta guía a continuación:

Configuración Vamos a cifrar para asegurar a Apache en Debian y Ubuntu

Prueba de entorno de muestra
Instalar vamos en cifrado para Apache en Centos y Rhel

Requisitos

  1. Un nombre de dominio registrado con válido A Registros para señalar a su servidor Dirección IP pública.
  2. Apache Server instalado con el módulo SSL habilitado y el alojamiento virtual habilitado en caso de que aloje múltiples dominios o subdominios.

Paso 1: Instale el servidor web Apache

1. Si aún no está instalado, el demonio httpd se puede instalar emitiendo el siguiente comando:

# yum install httpd 

2. Para que el software encrypt para que funcione con Apache, asegúrese de que el módulo SSL/TLS esté instalado emitiendo el comando a continuación:

# yum -y install mod_ssl 

3. Finalmente, inicie el servidor Apache con el siguiente comando:

# SystemCTL Inicio HTTPD.Servicio [en Rhel/Centos 7] # Servicio HTTPD Inicio [en RHEL/CentOS 6] 

Paso 2: Instale Cifrar el certificado SSL

4. El método más simple de instalación Vamos a cifrar El cliente es clonando el repositorio de GitHub en su sistema de archivos. Para instalar GIT en su sistema, debe habilitar los repositorios de EPEL con el siguiente comando.

# yum instalación Epel-Lanzamiento 

5. Una vez que se agregan Epel Repos en su sistema, continúe e instale el cliente GIT ejecutando el comando a continuación:

# yum install git 

6. Ahora, una vez que haya instalado todas las dependencias requeridas para lidiar con Let's Cifrar, vayamos a /usr/local/ Directorio y comience a extraer el cliente Let's Cifrypt su repositorio oficial de GitHub con el siguiente comando:

# CD/usr/local/ # git clon https: // github.com/Letsencrypt/Letsencrypt 

Paso 3: Obtenga un certificado SSL de Cifrar para Apache gratuito para Apache

7. El proceso de obtener un certificado de cifrado gratuito para Apache está automatizado para CentOS/RHEL Gracias al complemento Apache.

Corramos Vamos a cifrar Comando de script para obtener un certificado SSL. Vaya a directorio de instalación en cifrado desde /usr/local/letsencrypt y corre el Letsencrypt-Auto comando proporcionando --apache opción y el -d bandera para cada subdominio que necesita un certificado.

# CD/USR/LOCAL/LETSENCRYPT # ./Letsencrypt -Auto --apache -d your_domain.TLD 
CREATE LETROS CIRRY CIRRY SSL Certificado para Apache

8. Suministrar la dirección de correo electrónico que utilizará en cifrado para recuperar su clave perdida o para avisos urgentes y presione Ingresar continuar.

Agregue la dirección de correo electrónico para LETS CIRRYPT

9. Acuerde los términos de la licencia presionando la clave de ingresar.

De acuerdo, vayamos a la licencia de cifrado

10. En CentOS/RHEL, Por defecto, Apache Server no utiliza el concepto de separación de directorios para hosts habilitados de hosts (inactivos) como Debian Distribución basada Do.

Además, el alojamiento virtual está deshabilitado de forma predeterminada. La instrucción Apache que especifica el nombre del servidor (Nombre del servidor) No está presente en el archivo de configuración SSL.

Para activar esta directiva, Cifrypt le pedirá que seleccione un host virtual. Debido a que no encuentra ningún VHOST disponible, seleccione el ssl.confusión El archivo se modificará automáticamente por Let's Cifrypt Client y presione Ingresar continuar.

Directiva VirtualHost Active y seleccione MOD_SSL

11. A continuación, elige el Fácil método para Http Solicitudes y prensa Ingresar avanzar.

Permitir solicitudes HTTP fáciles

12. Finalmente, si todo salió bien, se debe mostrar un mensaje de felicitación en la pantalla. Prensa Ingresar Para liberar el aviso.

Vamos a encrypt habilitados en el dominio

Eso es todo! Ha emitido con éxito un SSL/TLS Certificado para su dominio. Ahora puede comenzar a navegar por su sitio web utilizando Https protocolo.

Paso 4: Prueba GRATIS Vamos en cifrado en cifrado en el dominio

13. Para probar la rectitud de su dominio SSL/TLS Handshake, visite el siguiente enlace y pruebe su certificado en su dominio.

https: // www.ssllabs.com/ssltest/analizar.html 
Verificar Let's Cifrar certificado en el dominio

14. Si recibe una serie de informes sobre la vulnerabilidad de su dominio en las pruebas realizadas, entonces debe solucionar esos agujeros de seguridad con urgencia.

Una calificación general de C La clase hace que su dominio sea muy inseguro. Para solucionar estos problemas de seguridad, abra el archivo de configuración de Apache SSL y realice los siguientes cambios:

# vi/etc/httpd/conf.D/SSL.confusión 

Buscar línea con Sslprotocol declaración y agregar -SSLV3 Al final de la línea.

Arreglar la configuración de Apache SSL

Profundizar en el archivo, buscar y comentar la línea con Sslciphersuite colocando un # Frente a él y agregue el siguiente contenido en esta línea:

Sslciphersuite Ecdhe-Rsa-AES128-GCM-Sha256: Ecdhe-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384: DHE-RSAAES12828-GCM : DHE-DDSS-AES128-GCM-SHA256: KEDH+AESGCM: ECDHE-RSAES128 SHA256: ECDHE-ECDSA-AES128 SHA256: ECDHE-RSA-AES128 SHA: ECDHE-ECDSA-AES128: ECDHE-RSA-RSA -AES256-Sha384: Ecdhe-ECDSA-AES256 SHA384: ECDHE-RSA-AES256-SHA: ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128 SHA256: Dhe-Rsaes128-SHA: DHE-DSSS1288 -Sha256: dhe-rsa-aes256-sha256: dhe-ddss-aes256-sha: dhe-rsa-aes256-sha: aes128-gcm-sha256: aes256-gcm-sha384: aes128-sha256: aes256-sha256: aes128 : Aes256-sha: aes: camellia: des-cbc3-sha:!Anull:!Enull:!EXPORTAR:!Des:!RC4:!MD5:!PSK:!aecdh:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHONORCIPERORDER en SSLOPTIONS +STRICTREQUIRE 
Configurar la configuración SSL

15. Después de haber realizado todos los cambios anteriores, guarde y cierre el archivo, luego reinicie Apache Daemon para aplicar cambios.

# SystemCTL reiniciar httpd.Servicio [en RHEL/CentOS 7] # Servicio HTTPD reiniciar [en RHEL/CENTOS 6] 

dieciséis. Ahora, prueba el estado de su cifrado de dominio nuevamente, visitando el mismo enlace que el anterior. Para realizar reestaciones, presione el enlace Clear Cache desde el sitio web.

https: // www.ssllabs.com/ssltest/analizar.html 
Prueba Vamos a cifrar el certificado SSL en el sitio web

Ahora deberías conseguir una clase A Calificación general, lo que significa que su dominio está altamente asegurado.

Paso 4: Auto Renew Cifrar certificados en Apache

17. Esta versión beta de Let’s CiCrypt Software libera certificados con fecha de vencimiento después de 90 días. Entonces, para renovar el certificado SSL, debe ejecutar el Letsencrypt-Auto Comando nuevamente antes de la fecha de vencimiento, con las mismas opciones y banderas utilizadas para obtener el certificado inicial.

Un ejemplo sobre cómo renovar manualmente el certificado se presenta a continuación.

# CD/USR/LOCAL/LETSENCRYPT # ./Letsencrypt-Auto certonly --apache-renow-by-default -d your_domain.TLD 

18. Para automatizar este proceso, cree el siguiente script bash proporcionado por Github Erikaheidi, en /usr/local/bin/ directorio con el siguiente contenido. (El script se modifica ligeramente para reflejar nuestro directorio de instalación de LetsEnsenCrypt).

# vi/usr/local/bin/le-renow-centos 

Agregue el siguiente contenido a Le-renow-centro archivo:

!/bin/bash domain = $ 1 le_path = "/usr/local/letsenchrypt" le_conf = "/etc/letsencrypt" exp_limit = 30; get_domain_list () certdomain = $ 1 config_file = "$ le_conf/renovar/$ certdomain.conf "si [[ ! -f $ config_file]; luego echo "[error] El archivo de configuración para el certificado $ certdomain no se encontró."Salir 1; Fi Dominios = $ (Grep-Ally-Matching --Perl-Regex" (?<=domains \= ).*" "$config_file") last_char=$(echo "$domains" | awk 'print substr($0,length,1)') if [ "$last_char" = "," ]; then domains=$(echo "$domains" |awk 'print substr($0, 1, length-1)') fi echo $domains;  if [ -z "$domain" ] ; then echo "[ERROR] you must provide the domain name for the certificate renewal." exit 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." exit 1; fi exp=$(date -d "'openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-'" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain… " if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting renewal request… " domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "$domain_list" echo "Restarting Apache… " /usr/bin/systemctl restart httpd echo "Renewal process finished for domain $domain" exit 0; fi 

19. Permisos de ejecución de subvención para el script, instalar antes de Cristo paquete y ejecute el script para probarlo. Use su nombre de dominio como parámetro posicional para el script. Emite los siguientes comandos para lograr este paso:

# yum install bc # chmod +x/usr/local/bin/le-renow-centos #/usr/local/bin/le-renow-centos su_domain.TLD 

20. Finalmente, utilizando la programación de Linux, agregue un nuevo trabajo cron para ejecutar el script cada dos meses, asegurando que su certificado se actualizará antes de la fecha de vencimiento.

# crontab -e 

Agregue la siguiente línea en la parte inferior del archivo.

0 1 1 */2 */usr/local/bin/le-renow-centos your_domain.tld >>/var/log/your_domain.tld-reno.log 2> y 1 

Eso es todo! Su servidor Apache se ejecuta encima de CentOS/RHEL El sistema ahora sirve contenido SSL utilizando un certificado SSL de Let's Cifryp.