El programa de instalación permite cifrar con Nginx en Ubuntu 16.04

Let's Encrypt es una Autoridad de certificación (CA) que proporciona certificados SSL gratuitos con un cliente automatizado. Al utilizar un certificado SSL Let's Encrypt, puede cifrar el tráfico entre su sitio web y sus visitantes. Todo el proceso es simple y las renovaciones pueden automatizarse. Además, tenga en cuenta que la instalación o renovación de certificados no causa ningún tiempo de inactividad.

En este tutorial, utilizaremos Certbot para obtener, instalar y renovar automáticamente su certificado SSL. Certbot está siendo desarrollado activamente por la Electronic Frontier Foundation (EFF) y es el cliente recomendado para Let's Encrypt.

Prerrequisitos

  • Una instancia de Vultr que ejecuta Ubuntu 16.04
  • Un nombre de dominio registrado que apunta a su servidor
  • Nginx

Instalar Certbot

Para obtener un certificado SSL de Let's Encrypt, debe instalar el cliente Certbot en su servidor.

Agrega el repositorio. Presione la ENTERtecla cuando se le solicite aceptar.

add-apt-repository ppa:certbot/certbot

Actualiza la lista de paquetes.

apt-get update

Proceda instalando Certbot y el paquete Nginx de Certbot.

apt-get -y install python-certbot-nginx

Configurando Nginx

Certbot configura automáticamente SSL para Nginx, pero para hacerlo necesita encontrar el bloque de servidor en su archivo de configuración de Nginx. Lo hace haciendo coincidir la server_namedirectiva en el archivo de configuración con el nombre de dominio para el que solicita un certificado.

Si está utilizando el archivo de configuración predeterminado, /etc/nginx/sites-available/defaultábralo con un editor de texto como nanoy busque la server_namedirectiva. Reemplace el guión bajo, _con sus propios nombres de dominio:

nano /etc/nginx/sites-available/default

Después de editar el archivo de configuración, la server_namedirectiva debería tener el siguiente aspecto. En este ejemplo, supongo que su dominio es example.com y que está solicitando un certificado para example.com y www.example.com.

server_name example.com www.example.com;

Continúe verificando la sintaxis de sus ediciones.

nginx -t

Si la sintaxis es correcta, reinicie Nginx para usar la nueva configuración. Si recibe algún mensaje de error, vuelva a abrir el archivo de configuración y verifique si hay algún error tipográfico, luego intente nuevamente.

systemctl restart nginx

Obtención de un certificado SSL Let's Let's Encrypt

El siguiente comando obtendrá un certificado para usted. Edite su configuración de Nginx para usarla y vuelva a cargar Nginx.

certbot --nginx -d example.com -d www.example.com

También puede solicitar un certificado SSL para dominios adicionales. Simplemente agregue la -dopción " " tantas veces como desee.

certbot --nginx -d example.com -d www.example.com -d example.net -d example.net

En caso de que solo desee obtener el certificado de Let's Encrypt sin instalarlo automáticamente, puede usar el siguiente comando. Esto realiza cambios temporales en su configuración de Nginx para obtener el certificado y los revierte una vez que el certificado ha sido descargado.

certbot --nginx certonly -d example.com -d www.example.com

Si está ejecutando Certbot por primera vez, se le pedirá que ingrese una dirección de correo electrónico y acepte los términos del servicio. Esta dirección de correo electrónico se utilizará para avisos de renovación y seguridad. Una vez que haya proporcionado una dirección de correo electrónico, Certbot solicitará un certificado de Let's Encrypt y ejecutará un desafío para verificar que controle el dominio en cuestión.

Si Certbot puede obtener un certificado SSL, le preguntará cómo desea configurar sus HTTPSajustes. Puede redirigir a los visitantes que visitan su sitio web a través de una conexión no segura o dejarlos acceder a través de la conexión no segura. Por lo general, esto debería estar habilitado porque garantiza que los visitantes solo accedan a la versión de su sitio web protegida por SSL. Seleccione su elección, luego presione ENTER.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Finalmente, Certbot confirmará que el proceso fue exitoso y dónde se almacenan sus certificados. Sus certificados ya están descargados e instalados.

Renovación automatizada

Como Let's Encrypt es una autoridad de certificación gratuita, y para alentar a los usuarios a automatizar el proceso de renovación, los certificados solo son válidos por 90 días. Certbot se encargará de renovar los certificados automáticamente. Lo hace corriendo certbot renewdos veces al día a través de systemd.

Puede verificar que la renovación automática esté funcionando ejecutando este comando.

certbot renew --dry-run

También puede renovar manualmente su certificado en cualquier momento ejecutando el siguiente comando.

certbot renew

Configuración mejorada

Los comandos anteriores obtienen e instalan el certificado SSL con una configuración adecuada para la mayoría de los casos. Si desea implementar medidas de seguridad avanzadas para su sitio web, puede usar el siguiente comando para obtener el certificado.

certbot --nginx --rsa-key-size 4096 --must-staple -d example.com -d www.example.com

El --rsa-key-size 4096utiliza una clave RSA de 4096 bits en lugar de clave de 2048 bits, que es más seguro. La desventaja de esto es que una clave más grande resulta en una ligera sobrecarga de rendimiento. Además, los navegadores y dispositivos más antiguos pueden no admitir claves RSA de 4096 bits.

La --must-staplesuma de la extensión de grapado de OCSP necesidad para el certificado y configura Nginx para OCSP grapado. Esta extensión permite a los navegadores verificar que su certificado no ha sido revocado y que se puede confiar en él. Sin embargo, no todos los navegadores admiten esta función.

Cómo instalar Multicraft en Windows

Introducción Multicraft es un panel de control de administración de servidores de Minecraft que se usa para administrar su servidor de Minecraft. En este tutorial, vamos a instalar

Proteja el acceso SSH usando Spiped en OpenBSD

Dado que el acceso SSH es el punto de entrada más importante para administrar su servidor, se ha convertido en un vector de ataque ampliamente utilizado. Pasos básicos para asegurar SS

Cómo instalar el CMS de octubre 1.0 en un VPS LAMP Debian 9

¿Usando un sistema diferente? October 1.0 CMS es un sistema de gestión de contenido (CMS) simple y confiable, gratuito y de código abierto creado en el marco de Laravel

Cómo instalar XCache en Ubuntu 15.04

XCache es un cacher de código abierto de código abierto para PHP. En este tutorial, explicaré cómo instalar y configurar XCache. Supongo que ya tienes un servicio web

How to Install MongoDB 4.0 on Arch Linux

Prerequisites A Vultr server running up to date Arch Linux (see this article) Sudo access: Commands required to be ran as root are prefixed by #, and one

How to Install RainLoop Webmail on Debian 9

Using a Different System? RainLoop is a simple, modern and fast web-based email client. RainLoop source code is hosted on Github. This guide will show you ho

Configure la seguridad y el servidor de seguridad de ConfigServer (CSF) en CentOS 7

ConfigServer Security & Firewall (CSF) es un firewall de inspección de paquetes con estado (SPI), detección de inicio de sesión / intrusión y aplicación de seguridad para servidores Linux

Soluciones de monitoreo para su VPS

En este artículo, aprenderá sobre una selección de las soluciones de monitoreo disponibles para su servidor Vultr. Dependiendo de su elección de sistema operativo, hay

How to Install Sylius eCommerce Platform on CentOS 7

Using a Different System? Sylius is a modern e-commerce platform for PHP, based on the Symfony Framework. Sylius source code is hosted on GitHub. This guid

Older Posts >