En los viejos tiempos, era bastante normal que los sitios web sirvieran contenido sobre el protocolo HTTP tradicional, ya que la seguridad no era un gran problema. Sin embargo, hoy en día debido al aumento de los delitos cibernéticos, como identificar los robos, los robos de tarjetas de crédito, aliberarse, es realmente importante asegurar el canal a través del cual se comunica con el servidor. Let's CiCrypt es una autoridad de certificado que proporciona certificados SSL/TLS de forma gratuita. Los certificados emitidos por ellos son válidos por 3 meses, lo que significa 90 días en comparación con un año o más por las autoridades de certificado de grado comercial. Sin embargo, proporciona la misma protección que los certificados pagados; Por lo tanto, a menudo es elegido por muchos bloggers y pequeños propietarios de sitios web contra cibercriminales. Este artículo tiene la intención de demostrar cómo asegurar las gotas de DigitalOcean con Let's CiCrypt.
Requisitos
Esta guía usa Ubuntu 16.04 como el sistema operativo en el que se ejecuta el servidor web. Sin embargo, los mismos pasos se pueden usar para cualquier otra versión de Ubuntu, siempre y cuando no haya diferencia en la configuración. Esta guía supone que el usuario ya tiene un servidor web instalado y es NGINX. Como el cliente SSH, se usa masilla y como se recomienda el editor de archivos Nano.
Solución
- Se puede acceder al servidor web creado en las gotas a través del protocolo SSH. Descargue e instale Putty desde su sitio web oficial. La aplicación es completamente gratuita.
sudo apt-get instalación masilla
- Después de descargar masilla, adelante y descargue el nano. El propósito de la masilla es acceder a la consola Linux a escribir comandos de shell, mientras que Nano se usa para editar archivos internos como el archivo Nginx predeterminado.
sudo apt-get install nano
- Iniciar la masilla y navegar a la pestaña Sesión.
- En el campo Nombre de host, escriba la dirección IP de la gota de DigitalOcean donde está instalada el servidor web. La dirección IP de las gotas se puede encontrar en https: // nube.Digitalocean.com/gotas. En el campo portuario, escriba 22.
- Después de enviar todos los campos requeridos como se vio anteriormente, presione bien para aplicar los cambios e iniciar sesión en la gota. Al iniciar sesión en el sistema, le preguntará al nombre de usuario y la contraseña de la gota. Tanto el nombre de usuario como la contraseña se envían por correo electrónico al correo electrónico registrado en Digitalocean al crear la gota.
- Esta guía utiliza CERTBOT, una herramienta de terceros para automatizar todo el proceso de recuperación y renovación de los certificados digitales. CertBot tiene su propio sitio web desde donde los comandos que se utilizarán se pueden generar con facilidad. Según CertBot, los comandos correctos para instalar CertBot en Ubuntu son estos. Primero, actualiza la información del paquete en el repositorio local, luego instala un paquete común de propiedades de software que proporciona algunos scripts útiles para manejar el paquete personal logra (PPA), luego instala CertBot, luego actualiza nuevamente el repositorio local, luego finalmente instala el paquete de python certbot nginx. Asegúrese de que todos estos paquetes estén instalados correctamente antes de dirigirse al siguiente paso.
$ sudo apt-get actualización
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository PPA: certbot/certbot
$ sudo apt-get actualización
$ sudo apt-get install python-certbot-nginx
- Navegue al sitio web desde donde se compró el dominio. Esta guía usa Porkbun como registrador de dominio, luego agregue el registro A al dominio. El tipo es un registro, el host está en blanco si la IP está asociada con el dominio raíz, de lo contrario, use el nombre del subdominio sin el dominio raíz, por ejemplo, si es nucuta.com, solo usa www. Como el tipo de respuesta, la dirección IP de la gota.
- De la misma manera, redirige el tráfico www al dominio de la raíz como siguiendo. El tipo es "cname", el host es "www", la respuesta es "nucuta.com ”o tu dominio. Este paso es importante ya que redirige todo el tráfico www al dominio de la raíz.
- Use el siguiente comando en Putty para acceder al archivo predeterminado de Nginx. El archivo predeterminado de forma predeterminada utiliza un bloque de servidor donde se encuentra el dominio principal. Nano Editor es muy recomendable, ya que es bastante conveniente de usar en comparación con otros.
sudo nano/etc/nginx/sites disponible/predeterminado
- En el archivo predeterminado, navegue al servidor bloque y redirige el tráfico HTTP a HTTPS, y en el otro bloque de servidor donde se maneja el tráfico seguro, cambie el Nombre de dominio Server_Name, por ejemplo,
server_name nucuta.com www.nucuta.comunicarse
- Escriba el siguiente comando para reiniciar el servidor web nginx. Cada vez que se realizó un cambio en el archivo predeterminado, todo el servidor NGINX debe reiniciarse para que los nuevos cambios tengan algún efecto.
sudo systemctl recargar nginx
- Por defecto, el firewall bloquea todo el tráfico, excepto al puerto 80 y 22. El HTTPS usa el puerto 443; Por lo tanto, debe abrirse manualmente para acceder al servidor web desde el lado del cliente. Abrir el puerto depende del firewall.
En CSF (firewall de servidor configurado)
- Abre el archivo de configuración de CSF escribiendo el siguiente comando.
nano/etc/CSF/CSF.confusión
- Agregue los siguientes puertos a TCP dentro y fuera.
Tcp_in = "20,21,22,25,53,80,443"
Tcp_out = "20,21,22,25,53,80,443"
- Reiniciar el CSF escribiendo
CSF -R
En USF (firewall sin complicaciones)
- Escriba los siguientes dos comandos para agregar HTTPS a la lista de excepciones. El paquete "Nginx Full" tiene puertos HTTP y HTTPS; por lo tanto, agregar el paquete completo permite entrar y salir del tráfico.
sudo UFW Permitir 'Nginx Full'
sudo ufw eliminar permitido 'nginx http'
- Escriba el siguiente comando para ver el estado
estado de UFW
- Consulte el puerto 443 desde un sitio web externo para asegurarse de que se abra con seguridad. Si el puerto está abierto, dirá "el puerto 443 está abierto"
- Ahora use el certbot para recuperar el certificado SSL al dominio. Se requiere el parámetro D para especificar el dominio. Vamos a encrypt lanza un certificado tanto para raíz como para el subdominio www. Tener solo una para cualquiera de las versiones emitirá una advertencia en el navegador si un visitante accede a la otra versión; Por lo tanto, es importante obtener el certificado para ambas versiones.
sudo certbot -nginx -d nucuta.com -d www.nucuta.comunicarse
- CERTBOT solicitará redirigir todo el tráfico HTTP a HTTPS, pero no es necesario, ya que ya está hecho en uno de los pasos anteriores.
- Ahora navegue al sitio web de SSL Lab y verifique la calidad o cualquier otro problema del certificado y su configuración. https: // www.ssllabs.com/ssltest/
- Si la configuración actual no está lo suficientemente asegurada, navegue al generador de configuración de Mozilla SSL y genere la configuración de su servidor web. https: // mozilla.github.IO/Servidor-Side-TLS/SSL-Config-Generator/. Dado que aquí usa NGINX, asegúrese de usar NGINX como servidor web. Ofrece tres opciones, intermedio, viejo y moderno. La opción antigua hace que el sitio web sea compatible con prácticamente todos los navegadores, incluidos los navegadores súper antiguos como IE 6, mientras que la opción intermedia lo hace ideal para usuarios promedio, la opción moderna genera la configuración requerida para la máxima seguridad, pero como un intercambio del sitio web no funcionará correctamente en los navegadores más antiguos. Por lo tanto, es muy recomendable para sitios web donde la seguridad es una gran preocupación.
- Navegue a su sitio web y haga clic derecho en el icono de bloqueo, luego la opción "Certificado" para ver el certificado.
- Si muestra una fecha futura después de una opción válida, lo que significa que se completó el proceso de adquisición del certificado. Sin embargo, es importante redirigir el tráfico a la versión relevante del dominio, por ejemplo, el tráfico HTTP y WWW puede redirigir el dominio de la raíz HTTPS como se ve en esta guía. El certificado será renovado automáticamente por CERTBOT; Por lo tanto, está disponible para siempre para el propietario del sitio web de forma gratuita.