¿Cómo implementar el certificado ZeroSSL en Apache y Nginx?

Veamos cómo obtener un certificado SSL / TLS GRATUITO de ZeroSSL e implementarlo en los servidores web Apache y Nginx.


Introducción

Es posible que haya escuchado mucho sobre el término como HTTP y HTTPS. En los primeros días, se definió un protocolo, que se denominó como Protocolo de transferencia de hipertexto (HTTP). Es una forma de comunicarse desde el navegador al servidor web. Cuando ocurre esta comunicación, los datos que viajan en un protocolo HTTP, simplemente viajan en formatos de texto claro. Debido a esto, se ha dado cuenta de que la comunicación HTTP no es segura, y los piratas informáticos pudieron atacar e interceptar los mensajes importantes y sensibles..

Para resolver este problema, el HTTPS El protocolo entró en escena. Es un protocolo seguro, y acrónimo significa Protocolo de transferencia de hipertexto seguro. Simplemente realiza el cifrado de los datos cuando se produce la comunicación, y los datos viajan desde el navegador web al servidor web. De modo que si algún hacker recoge esa información, todo está encriptado.

¿Cómo funciona HTTPS??

El protocolo HTTPS funciona en cualquiera de las dos cosas, es decir, SSL (Secure Socket Layer) o TLS (Transport Layer Security). Ambas herramientas usan PKI (Infraestructura de clave pública). PKI, a su vez, utiliza dos claves, es decir. Claves públicas y privadas. Todo lo que se cifra con la clave pública se puede descifrar con la clave privada y viceversa..

Cuando instalamos un certificado SSL / TLS en nuestro sitio web, el ‘cifrado de datos“Se habilita la función. SSL se utiliza como punto de control para garantizar la seguridad de los datos que se intercambian a través de Internet entre el navegador del usuario y el servidor del sitio web.

Obtener el certificado ZeroSSL

ZeroSSL es una autoridad de certificación (CA) que facilita la instalación de un certificado para que el sitio web sea seguro. Puede obtener hasta 3 certificados con 90 días de validez gratis.

SSL cero

  • Regístrese con ZeroSSL
  • Después de iniciar sesión, aparecerá la página a continuación. Haga clic en ‘Nuevo certificado “.

  • Ingrese la URL que desea proteger y haga clic en ‘Próximo paso.

  • Seleccione certificado de 90 días y Siguiente

  • Continuemos con la opción de generación automática de CSR

  • Continuar con el plan “Gratis”

A continuación, deberá verificar la propiedad del dominio. Hay algunas opciones.

  • DNS: si puede agregar una entrada de registro DNS
  • Correo electrónico: si puede recibir el correo electrónico a [correo electrónico protegido]
  • Carga de archivos: si puede cargar un archivo en la raíz del dominio

Elige lo que funcione para ti. Continuaré con la entrada DNS.

  • Agregué el CNAME y estoy listo para verificar el dominio..

  • Finalmente, una vez verificado, el certificado SSL está listo para descargar.

Aquí están mis certificados descargados.

Es hora de implementarlo.

Implementando en Apache

Lo siguiente, instalaré Apache en Ubuntu.

Inicie sesión en el servidor e instálelo usando el comando apt-get.

sudo apt-get install apache2

Veamos si Apache se está ejecutando usando el comando systemctl.

[correo electrónico protegido]: ~ # systemctl status apache2
● apache2.service: el servidor HTTP Apache
Cargado: cargado (/lib/systemd/system/apache2.service; activado; proveedor preestablecido: activado)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Activo: activo (en ejecución) desde el sábado 2020-05-23 16:15:56 UTC; Hace 3s
Proceso: 7852 ExecStop = / usr / sbin / apachectl stop (código = salido, estado = 0 / ÉXITO)
Proceso: 14179 ExecStart = / usr / sbin / apachectl start (código = salido, estado = 0 / ÉXITO)
PID principal: 14196 (apache2)
Tareas: 55 (límite: 2362)
CGroup: /system.slice/apache2.service
14196 / usr / sbin / apache2 -k start
14199 / usr / sbin / apache2 -k start
20014200 / usr / sbin / apache2 -k start

23 de mayo 16:15:56 geekflare-lab systemd [1]: Inicio del servidor HTTP Apache…
23 de mayo 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: No se pudo determinar de manera confiable el nombre de dominio completo del servidor, usando 127.0.1.1. Establecer el “Servir
23 de mayo 16:15:56 geekflare-lab systemd [1]: inició el servidor HTTP Apache.

Genial, se está ejecutando.

Mi dominio (lab.geekflare.com) ya está apuntando a este servidor Apache.

Pero como puede ver, no está asegurado y, por lo tanto, configuraremos el certificado que obtuvimos de ZeroSSL.

  • Creemos un directorio llamado sslCA en / etc para almacenar los archivos de certificado.

cd / etc
mkdir sslCA

  • Transfiera los archivos a la carpeta recién creada en el servidor

[correo electrónico protegido]: / etc / sslCA # ll
total 20
drwxr-xr-x 2 root root 4096 18 de mayo 12:13 ./
drwxr-xr-x 92 root root 4096 22 de mayo 06:07 ../
-rw-r – r– 1 raíz raíz 2430 18 de mayo 05:37 ca_bundle.crt
-rw-r – r– 1 raíz raíz 2292 18 de mayo 05:37 certificate.crt
-rw-r – r– 1 raíz raíz 1702 18 de mayo 05:37 private.key

  • Habilitar módulo SSL

sudo a2enmod SSL

  • Tendremos que reiniciar el servidor web para que los cambios puedan ser reconocidos.

servicio sudo apache2 reiniciar

  • El siguiente paso es configurar los archivos de certificado en el archivo de configuración SSL de Apache.

cd / etc / apache2 / mods-available

  • El nombre del archivo es ssl.conf. Necesitamos agregar lo siguiente en la directiva.

SSLEngine on
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Guarde el archivo y salga: wq!

Después de realizar el reinicio, el SSL se habilitará en el sitio. Vamos a acceder al sitio usando https: //

Y, como puedes ver, “La conexión es segura “. Significa que nuestro certificado SSL se ha aplicado con éxito a nuestro servidor web.

Implementando en Nginx

Nginx se encuentra en los repositorios predeterminados de Ubuntu, por lo que es posible instalarlo desde aquí utilizando el sistema de empaquetado apropiado.

  • El siguiente comando se utiliza para instalar el “Nginx“.

sudo apt install nginx

  • Después de que la instalación se realice correctamente, podemos iniciar Nginx usando el siguiente comando.

systemctl start nginx

  • Verifique el estado de Nginx.

[correo electrónico protegido]: ~ # systemctl status nginx
● nginx.service: un servidor web de alto rendimiento y un servidor proxy inverso
Cargado: cargado (/lib/systemd/system/nginx.service; activado; proveedor preestablecido: activado)
Activo: activo (en ejecución) desde el martes 2020-05-19 06:54:00 UTC; Hace 4 días
Documentos: man: nginx (8)
Proceso: 8634 ExecStop = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid (código = salido, estado = 0 / ÉXITO)
Proceso: 8661 ExecStart = / usr / sbin / nginx -g daemon on; master_process on; (código = salido, estado = 0 / ÉXITO)
Proceso: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g daemon on; master_process on; (código = salido, estado = 0 / ÉXITO)
PID principal: 8664 (nginx)
Tareas: 2 (límite: 2362)
CGroup: /system.slice/nginx.service
648664 nginx: proceso maestro / usr / sbin / nginx -g daemon on; master_process on;
708707 nginx: proceso de trabajo

19 de mayo 06:54:00 geekflare-lab systemd [1]: Inicio de un servidor web de alto rendimiento y un servidor proxy inverso…
19 de mayo 06:54:00 geekflare-lab systemd [1]: nginx.service: Error al analizar el PID del archivo /run/nginx.pid: argumento no válido
19 de mayo 06:54:00 geekflare-lab systemd [1]: Iniciado Un servidor web de alto rendimiento y un servidor proxy inverso.

  • Como se esperaba, el navegador mostrará la advertencia ya que una conexión a este sitio no es segura.

Implementemos rápidamente el certificado para hacer que el sitio sea seguro usando HTTPS.

  • Creemos un archivo example.com.conf en la ubicación /etc/nginx/conf.d. El contenido del archivo se verá como a continuación.

servidor {
escuchar 443 SSL default_server;
escuchar [::]: 443 SSL default_server;
nombre_servidor lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Ahora es necesario agregar un nombre de archivo de certificado en el archivo nginx.conf que se encuentra en el directorio “/ etc / nginx”.
  • Agregue lo siguiente en la directiva http

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Reinicie Nginx para verificar los cambios.

systemctl restart nginx

Y aquí vamos.

¿Interesado en aprender Nginx? Mira esto curso de fundamentos.

Prueba de la configuración SSL / TLS

La configuración predeterminada puede ser vulnerable, y sugiero encarecidamente probando tu sitio después de implementar el certificado. Hay una serie de herramientas en línea que puede consultar aquí..

Conclusión

Espero que esto te dé una idea de obtener un certificado de ZeroSSL e implementarlo en los dos servidores web más populares.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map