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
- 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.
- 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.
- Inicie Putty y vaya a la pestaña Sesión.
- 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.
- 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.
- 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 install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
- 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.
- 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.
- 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.
- 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
- 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.
- 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)
- Abre el archivo de configuración CSF escribiendo el siguiente comando.
- Agregue los siguientes puertos a TCP In y Out.
TCP_OUT = "20,21,22,25,53,80,443"- Reinicie el CSF escribiendo
csf -r
En USF (cortafuegos 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 que el tráfico entre y salga.
sudo ufw eliminar permitir 'Nginx HTTP'- Escriba el siguiente comando para ver el estado
estado de ufw
- 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"
- 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
- 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.
- 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 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.
- Navegue a su sitio web y haga clic derecho en el icono de candado, luego en la opción "Certificado" para ver el certificado.
- 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.