Vamos a cifrar

Configurar Let's Encrypt en Digital Ocean Droplet

Configurar Let's Encrypt en Digital Ocean Droplet
En los viejos tiempos, era bastante normal que los sitios web ofrecieran contenido a través del 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 robos de identidad, robos de tarjetas de crédito, escuchas, es muy importante asegurar el canal a través del cual se comunica con el servidor. Let's encrypt es una autoridad certificadora que proporciona certificados SSL / TLS de forma gratuita. Los certificados emitidos por ellos tienen una validez de 3 meses, es decir, 90 días en comparación con un año o más por las autoridades de certificación de grado comercial. Sin embargo, brinda la misma protección que los certificados pagados; por lo tanto, a menudo es elegido por muchos blogueros y pequeños propietarios de sitios web contra los ciberdelincuentes. Este artículo tiene la intención de demostrar cómo proteger las gotas de DigitalOcean con Let's encrypt.

Requisitos

Esta guía usa Ubuntu 16.04 como el sistema operativo en el que se ejecuta el servidor web. Sin embargo, se pueden usar los mismos pasos para cualquier otra versión de Ubuntu, siempre que no haya diferencia en la configuración. Esta guía asume que el usuario ya tiene un servidor web instalado, y es Nginx. Como cliente SSH, se usa Putty, y como editor de archivos se recomienda Nano.

Solución

  1. Se puede acceder al servidor web creado en los Droplets a través del protocolo SSH. Descarga e instala Putty desde su sitio web oficial. La aplicación es completamente gratuita.
sudo apt-get install putty
  1. Después de descargar Putty, continúe y descargue el Nano. El propósito de Putty es acceder a la consola de Linux para escribir comandos de shell, mientras que Nano se usa para editar archivos internos como el archivo predeterminado de Nginx.
sudo apt-get install nano
  1. Inicie Putty y vaya a la pestaña Sesión.
  1. En el campo Nombre de host, escriba la dirección IP de la gota de DigitalOcean donde está instalado el servidor web. La dirección IP de los Droplets se puede encontrar en https: // nube.digitalocean.com / gotitas. En el campo del puerto, escriba 22.
  1. Después de enviar todos los campos obligatorios como se ve arriba, presione OK para aplicar los cambios e iniciar sesión en el Droplet. Al iniciar sesión en el sistema, le pedirá el nombre de usuario y la contraseña del Droplet. 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 el Droplet.
  1. Esta guía utiliza Certbot, una herramienta de terceros para automatizar todo el proceso de obtención y renovación de certificados digitales. Certbot tiene su propio sitio web desde donde se pueden generar fácilmente los comandos a utilizar. 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 el paquete común de propiedades de software que proporciona algunos scripts útiles para manejar los logros de paquetes personales (PPA), luego instala certbot, luego actualiza nuevamente el repositorio local, luego finalmente instala el paquete python certbot nginx. Asegúrese de que todos estos paquetes estén instalados correctamente antes de continuar con el siguiente paso.
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
  1. Navega al sitio web desde donde se compró el dominio. Esta guía utiliza a Porkbun como registrador de dominios, luego agrega 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 respuesta, escriba la dirección IP del Droplet.
  1. De la misma manera, redirija el tráfico WWW al dominio raíz de la siguiente manera. 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 raíz.
  1. 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 cómodo de usar en comparación con otros.
sudo nano / etc / nginx / sites-available / default
  1. En el archivo predeterminado, navegue al bloque del servidor y redirija el tráfico HTTP a HTTP, y en el otro bloque del servidor donde se maneja el tráfico seguro, cambie el nombre_servidor a nombre de dominio, por ejemplo
nombre_servidor nucuta.com www.nucuta.com
  1. Escriba el siguiente comando para reiniciar el servidor web Nginx. Siempre 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
  1. De forma predeterminada, el Firewall bloquea todo el tráfico excepto al puerto 80 y 22. HTTPS usa el puerto 443; por lo tanto, debe abrirse manualmente para acceder al servidor web desde el lado del cliente. La apertura del puerto depende del Firewall.

    En CSF (servidor de seguridad configurado del servidor)

    1. Abre el archivo de configuración CSF escribiendo el siguiente comando.
    nano / etc / csf / csf.conf
    1. Agregue los siguientes puertos a TCP In y Out.
    TCP_IN = "20,21,22,25,53,80,443"
    TCP_OUT = "20,21,22,25,53,80,443"
    1. Reinicie el CSF escribiendo csf -r

    En USF (cortafuegos sin complicaciones)

    1. 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 que el tráfico entre y salga.
    sudo ufw permite 'Nginx completo'
    sudo ufw eliminar permitir 'Nginx HTTP'
    1. Escriba el siguiente comando para ver el estado
  2. estado de ufw
  1. Verifique 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"
  1. Ahora use el Certbot para recuperar el certificado SSL en el dominio. Se requiere el parámetro D para especificar el dominio. Encriptemos las versiones de un certificado tanto para la raíz como para el subdominio www. Tener solo una para cada versión 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.com
  1. Certbot le pedirá que redirija todo el tráfico HTTP a HTTPS, pero no es necesario, ya que ya lo hizo en uno de los pasos anteriores.
  1. 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 /
  1. Si la configuración actual no es lo suficientemente segura, navegue hasta el generador de configuración SSL de Mozilla y genere la configuración para su servidor web. https: // mozilla.github.io / server-side-tls / ssl-config-generator /. Dado que aquí usa Nginx, asegúrese de usar Nginx como servidor web. Ofrece tres opciones, intermedio, antiguo y moderno. La opción anterior 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 compensación, el sitio web no funcionará correctamente en navegadores antiguos. Por lo tanto, es muy recomendable para sitios web donde la seguridad es una preocupación importante.
  1. Navegue a su sitio web y haga clic derecho en el icono de candado, luego en la opción "Certificado" para ver el certificado.
  1. Si muestra una fecha futura después de TO en la opción válida desde, lo que significa que el proceso de adquisición del certificado se completó. Sin embargo, es importante redirigir el tráfico a la versión relevante del dominio; por ejemplo, el tráfico HTTP y WWW se puede redirigir al dominio raíz HTTPS como se ve en esta guía. Certbot renovará automáticamente el certificado; por lo tanto, está siempre disponible para el propietario del sitio web de forma gratuita.
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...