Certificados SSL gratuitos de Let's Encrypt. Ayuda para instalar ssl let s encrypt

En el artículo, consideraremos los pros y los contras de Let's Encrypt gratuito, para quién es adecuado, cómo obtenerlo e instalarlo en un sitio con un panel Plesk 12.5

Vamos a cifrar- proyecto gratuito, automatizado, con una CA abierta (autoridad de certificación - autoridad de certificación).

VENTAJAS PRINCIPALES

está libre: cualquier propietario de un sitio (en particular, un nombre de dominio) puede obtener e instalar un certificado Let's Encrypt TLS de confianza (TLS es el sucesor de SSL);
automatización: todas las funciones de instalación, configuración y actualización se realizan automáticamente;
la seguridad: todos los métodos de encriptación de Let's Encrypt cumplen con los estándares actuales;
transparencia: disponibilidad pública de información sobre la emisión y revocación de cada certificado para cualquier persona;
libre: se utilizará el principio de estándar abierto para protocolos de interacción con CA (autoridad certificadora).

IMPLEMENTACIÓN DE SOFTWARE

La Autoridad de Certificación emite certificados que se generan en el servidor ACME utilizando el protocolo Boulder, escritos en lenguaje GO (disponible en código fuente bajo licencia MPL2).
Este servidor proporciona un protocolo RESTful que opera sobre un canal cifrado TLS.
La parte del cliente del protocolo ACME, es decir. certbot, escrito en Python, también es de código abierto bajo la licencia APACHE. Certbot se instala en el servidor del cliente para crear una solicitud de certificado, verificar la validez del dominio y luego instalar el certificado, y luego configurar el cifrado HTTPS del servidor web.
También se incluye en la función de certbot la renovación del certificado después de la fecha de vencimiento. La instalación del certificado se realiza con un comando después de que se acepta la licencia.
Certbot le permite instalar un certificado con opciones adicionales: grapado OCSP y seguridad de transporte estricta HTTP

INSTALACIÓN DEL CERTIFICADO SSL LET "S ENCRYPT (INSTRUCCIONES)

Considere el uso de un certificado en relación con los servidores utilizados en nuestro alojamiento.
La gran mayoría de nuestros servidores utilizan la versión Plesk 12.5 donde este módulo ya está incluido en el kit de distribución de Plesk 12.5 y su instalación es sencilla y cómoda. Simplemente vaya al panel de bienvenida en la sección "Sitios y dominios", haga clic en el módulo Let's Encrypt,

Seleccione las opciones deseadas y después de hacer clic en el botón "Instalar", la instalación se llevará a cabo en menos de un minuto.

Dado que este certificado es válido por no más de 90 días, se ha creado una tarea cron correspondiente en el panel de bienvenida en la sección Herramientas y configuración - Programador de tareas

Vale la pena señalar que existen algunas restricciones en la generación de certificados:

  • certificados duplicados: no más de 5 por semana;
  • el número de intentos para generar un certificado no más de 5 veces por hora.

SOBRE LAS DESVENTAJAS DE LET'S ENCRYPT

Al final de este artículo, queremos señalar que a pesar de todas las ventajas de este tipo de certificado, existen desventajas que deben tenerse en cuenta al elegir SSL:
  1. El certificado gratuito de Let's Encrypt es a corto plazo y está diseñado para un período no mayor a 90 días, a diferencia del pago, que se puede emitir hasta por 3 años, por supuesto, puede volver a emitir el certificado cada 3 meses, pero asegúrese de cumplir con los plazos.Puede volver a emitir el certificado de tres maneras: manualmente, configurando el programador de tareas cron o automáticamente.

    Si elige el método de actualización manual, luego siga los plazos y vuelva a emitir el certificado a tiempo. De lo contrario, corre el riesgo de recibir una afluencia de usuarios insatisfechos del sitio y su posterior salida.

    programador de tareas cron es una forma de configurar actualizaciones automáticas. El método es bueno para aquellos que tienen habilidades de administración de Linux y saben cómo trabajar con crons. También hay que tener en cuenta que existen errores en el funcionamiento del cron que pueden impedir la reemisión del certificado. Conclusión: todavía tienes que seguir la actualización.

    Actualización automática. Este método asume que acepta la configuración automática proporcionada por la autoridad de certificación. Y aquí debe comprender que de esta manera da su consentimiento al hecho de que la CA puede realizar cambios a su propia discreción en el software y la configuración de su servidor.

  2. No todos los dominios se pueden proteger con Let's Encrypt gratuito, este certificado está diseñado para proteger solo un dominio sin verificación de la empresa, el llamado DV SSL (Domain Validation).

    Entonces, usando Let "s Encrypt, no puede crear los siguientes tipos de certificados:

    - Certificado comodín para proteger subdominios de un dominio específico;
    - Certificados OV SSL (validación de organización), que implican verificar no solo el dominio, sino también la empresa;
    - Certificados EV SSL (validación extendida). Certificado con el máximo grado de protección y barra de direcciones del navegador verde;
    - Certificado multidominio tipo UCC;


  3. Un punto importante: no hay garantías financieras para usar Let "sEncrypt. Si un certificado gratuito es pirateado repentinamente, entonces Compensación monetaria nadie te va a dar.

CONCLUSIÓN

Resumiendo, podemos decir que el Centro de Certificación Let's Encrypt es un proyecto bastante exitoso, cuya popularidad crece cada año entre los usuarios de la red.

Y si necesita un certificado simple para un solo dominio, tiene las habilidades de administración adecuadas, y si no necesita SSL con validación de organización OV o una barra de dirección verde y el nombre de la empresa en el certificado, entonces este certificado puede ser usó.

Sin embargo, recomendamos que las grandes empresas, tiendas en línea, bancos y otros proyectos de comercio electrónico instalen comerciales de Autoridades de certificación conocidas, como GlobalSign, Comodo.
De esta forma te ganas la confianza de los usuarios y demuestras que eres una empresa seria que se preocupa por la seguridad de los datos de los clientes.

  • Cuota:

Recientemente, la preocupación por la seguridad y la privacidad de los usuarios está cobrando impulso. Cuando se diseñaron Internet y el protocolo HTTP, no se pensó en tales conceptos. Por lo tanto, todo el tráfico transmitido entre el servidor web y el usuario a través del protocolo HTTP puede ser visto por cualquier persona que se encuentre en la ruta de este tráfico, como un ISP o piratas informáticos.

Por lo tanto, se inventó el protocolo HTTPS, que le permite encriptar el tráfico y así protegerlo de la intercepción. Los certificados SSL se utilizan para el cifrado. Anteriormente, estos certificados costaban dinero, pero gracias a Let's Encrypt, ahora cualquier sitio web puede instalar un certificado SSL y configurar el cifrado de forma gratuita. En este artículo, veremos cómo obtener un certificado de Let's Encrypt utilizando el cliente oficial de Certbot.

Obtención de un certificado de Let's Encrypt

En general, no tenemos que usar Certbot específicamente, podemos crear un certificado en OpenSSL y luego simplemente firmarlo usando la API ACME de Let's Encrypt, pero necesitamos hacer solicitudes a esta API en formato JSON, lo cual es muy inconveniente para hacerlo desde la línea de comandos, por lo que es mejor usar uno de los clientes como Certbot, y la mayoría de los clientes ACME ya incluyen la generación automática de certificados en OpenSSL.

1. Sintaxis y comandos de Certbot

Antes de comenzar a trabajar, veamos la sintaxis de la utilidad Certbot y sus comandos. Se ven bastante simples:

comando de opción certbot -d dominio

Los comandos se utilizan para decirle a la utilidad qué hacer. Aquí están los principales:

  • correr- se usa de forma predeterminada si no se especifica ningún comando, obtiene e instala el certificado;
  • ciertamente- solo recibe o renueva el certificado, pero no lo instala;
  • nuevo- renueva el certificado;
  • mejorar- agrega configuraciones de seguridad para los certificados existentes;
  • certificados- muestra los certificados instalados;
  • revocar- revoca el certificado;
  • Eliminar- elimina el certificado;
  • Registrarse- crea una cuenta ACME;

Como puede ver, no hay tantos comandos, y ahora definitivamente no se confundirá con ellos, y ahora analicemos las opciones principales:

  • -d- indica un dominio o una lista de dominios separados por comas para los que se deben obtener certificados;
  • --apache- use el complemento de apache para instalar el certificado;
  • --nginx- use el complemento nginx;
  • --ser único- ejecute su propio servidor web para la autenticación al obtener un certificado;
  • --desafíos preferidos- le permite seleccionar el método de autenticación, por defecto http, pero puede seleccionar dns;
  • --servidor- le permite especificar la dirección del servidor ACME, es necesario para los certificados WildCard, ya que solo son compatibles con la segunda versión de ACME;
  • --webroot- coloque los archivos de autenticación en la carpeta del servidor web;
  • -w- especifica la carpeta del servidor web donde se deben colocar los archivos de autenticación;
  • --manual- crear un certificado en modo manual;
  • -norte- ejecutar la utilidad en modo no interactivo;
  • --ejecución en seco- prueba de ejecución sin guardar los cambios en el disco.

Ahora estamos listos para pasar a trabajar con la utilidad. Instalémoslo primero.

2. Instalar Certbot

Primero necesita instalar la utilidad Certbot. eso cliente oficial, y está en los repositorios de la mayoría de las distribuciones. La instalación de Certbot en Ubuntu se realiza desde el PPA:

sudo apt install software-propiedades-común
sudo add-apt-repositorio ppa:certbot/certbot
sudo apt actualizar
sudo apt instalar certbot

Si sabe para qué plataforma se generarán los certificados, puede instalar extensiones separadas para ellos, que le permiten editar automáticamente la configuración. Por ejemplo, puede instalar un módulo para apache o nginx:

sudo apt install python-certbot-apache
sudo apt install python-certbot-nginx

Estos complementos son necesarios si va a utilizar las opciones correspondientes para la instalación automática.

3. Crear un certificado sin instalación

Si necesita un certificado para un servidor web que no es compatible con el programa, deberá instalarlo manualmente. Puede obtener dicho certificado usando el comando certonly:

sudo certbot certonly --webroot -w /var/www/test...test.sitio

Este comando obtiene el certificado para los dominios test.site y www.test.site. Los archivos de confirmación de autenticación se colocarán en el directorio /var/www/example/. También puede usar el servidor web incorporado para la autenticación:

sudo certbot certonly --standalone -d test..test.site

Durante la generación del certificado, la utilidad le pedirá la dirección de correo electrónico de su cuenta ACME, que recibirá notificaciones sobre la necesidad de renovación y otra información:

Luego se le pedirá que confirme que ha leído los términos de uso del servicio, responda PERO:

Solo entonces comenzará el proceso de certificación. Si todo salió bien, su certificado se guardará en /etc/letsencrypt/live/nombre_dominio/, a partir de ahí ya puedes usarlos en tus aplicaciones. Si hay errores, la utilidad lo informará.

4. Crea un certificado para Nginx

No tiene que instalar manualmente los certificados, puede usar uno de los complementos disponibles para actualizar automáticamente la configuración. Por ejemplo, considere usar un complemento para Nginx:

sudo certbot ejecutar --nginx

No es necesario establecer parámetros adicionales, ya que la utilidad leerá la configuración y mostrará una lista de dominios disponibles:

Introduzca el número del dominio deseado o varios números separados por una coma. La utilidad instalará todo lo que se necesita y luego le preguntará si necesita redirigir el tráfico de http a https:

Luego, la utilidad mostrará la misma información que en la versión anterior:

5. Renovación del certificado Let's Encrypt

Para actualizar el certificado de Let's Encrypt, simplemente ejecute el comando cerbot con opción ciertamente. Teniendo en cuenta que el certificado se encuentra en la carpeta certbot y la configuración del servidor web está establecida en esta carpeta, esta operación es suficiente. Si los certificados se copian en otra carpeta, necesitará un script para copiarlos automáticamente después de la actualización.

sudo certbot certonly -d prueba..prueba.sitio

Si el certificado aún no ha caducado y no es necesario renovarlo, la utilidad le preguntará si realmente es necesario hacerlo.

Si desea actualizar el certificado en modo no interactivo, por ejemplo, mediante un script, debe utilizar la opción -norte, también al usar esta opción, debe pasar el complemento que se utilizará para la autenticación:

sudo certbot certonly --nginx -n -d test..test.sitio

Ahora puede agregar este comando al programador cron, por ejemplo, una vez a la semana:

0 0 * * 0 /usr/bin/certbot certonly --nginx -n -d test..test.site

Si desea actualizar los certificados de todos los dominios con un comando en modo no interactivo, simplemente ejecute el comando:

sudo certbot renovar

6. Obtención de un certificado comodín de Let's Encrypt

Los certificados Let's Encrypt Wildcard han aparecido hace relativamente poco tiempo. Le permiten usar un certificado para todos los subdominios de un determinado dominio, por ejemplo * .test.site. Pero también funciona cada vez más difícil: deberá confirmar que este dominio pertenece Para ello, debe agregar un registro TXT a la zona de dominio.

Puede hacerlo manualmente o usar el complemento dns de Certbot para agregarlo automáticamente. Es cierto que el complemento solo es compatible con servicios populares como DigitalOcean, Linode, Cloudflare, etc. En este artículo, consideraremos la versión manual. El comando para generar el certificado se verá así:

sudo certbot certonly --agree-tos -d test..test..api.letsencrypt.org/directory

Deberá permitir la publicación de su dirección IP y luego agregar un registro TXT con el nombre y el valor deseados a su zona de dominio. en mi caso es _acme-challenge.test.sitio con un hash especial:

Ilia

Dmitri, buenas noches! Dime por favor. Solo unos días tratando de resolver el problema con el certificado Lets encrypt. En el alojamiento hosting.energy, al crear el sitio dommeb.com.ua, conecté el Lets encrypt gratuito desde el panel Isp. Todo estuvo bien durante unos días, pasó las pruebas de SSL ssllabs.com/ssltest/analyze.html en A+. Intenté descargar desde el móvil a Android 2.3.6 desde un navegador estándar y Maxton; solo aparecieron advertencias sobre la falta de confiabilidad del certificado, y luego puede hacer clic en Continuar y el sitio estaba disponible.

Hace una semana, noté que al cargar desde un teléfono móvil y probar los redireccionamientos (configuré los redireccionamientos desde http-https en la configuración del dominio en el alojamiento), se agrega a la url: 443 (nombre del puerto SSL). Y el sitio no está disponible al cargar (inscripción de error).

Escribí al alojamiento, el problema se resolvió en unos días. Escribieron "Configuraciones de Nginx fijas con respecto a las redirecciones, un error se deslizó en las configuraciones (probablemente debido al panel de control) y hubo 2 redirecciones".

:443 ya no se agregaba desde el móvil y al probar los redireccionamientos.
Pero el sitio aún no se cargaba, como con estos redireccionamientos dobles: 443 (error en el sitio de Android 2.3.6 no disponible al cargar).

Miré la prueba ssl, también un resultado A +, pero apareció un error en el subpárrafo Handshake Simulation No SNI 2Android 2.3.7 No SNI 2 Server envió una alerta fatal: handshake_failure

Busqué en Google este error:
Aquí talk.plesk.com/threads/https-websites-not-loading-in-ie.338346/ escribe sobre este error y la solución. Pasé toda la información al soporte de hosting.

Mantuve correspondencia con el alojamiento durante varios días, dicen que no cambiaron nada en la configuración de configuración del alojamiento, usan el complemento de certificado estándar de Lets Encrypt. Y no garantizan que LetsEncryt SSL funcione en plataformas heredadas. Ofrecieron una IP dedicada por $ 1.5 por mes.
Aunque hace unos días todo funcionó y no hubo ediciones en ambos sitios (borré todos los datos en los navegadores). Y el propio sitio de alojamiento (también en este certificado, normalmente y ahora se carga desde un teléfono móvil y hasta sin previo aviso)

Sitios en hosting compartido, sin IP dedicada. Un sitio hecho en Opencart con certificado Lets encrypt, todo estaba en orden. La segunda prueba en WordPress: todo también estuvo bien con Android 2.3.6. Iba a cambiar de http a https en el tercer sitio (WordPress), y ya los dos primeros no cargan normalmente en Android 2.3.6…
Me gustaría que todos los usuarios pudieran acceder al sitio normalmente (en último recurso en plataformas más antiguas como Android 2.3.6 para que solo haya una advertencia que se puede omitir)
¿Me pueden decir cuál podría ser la razón?

Decidí mirar los certificados pagados, como este bueno de Comodo namecheap.com/security/ssl-certificates/comodo/positivessl.aspx,
pero leí en su artículo que en la plataforma Android, el certificado de Comodo no era válido. Un poco confundido con esto

Tener SSL ya no es un capricho grandes compañias, a requisito obligatorio para todos. Sin SSL, los sitios pierden posiciones en los resultados de búsqueda, visitantes y dinero. Let's Encrypt en el panel ISPmanager le permite emitir SSL gratis, tanto regular como Wildcard. La solicitud e instalación es automática y no requiere conocimientos técnicos.

Por qué necesita un certificado SSL

Cuando visitas un sitio web, te conectas al servidor que lo aloja. Si la conexión no es segura, los piratas informáticos pueden robar inicios de sesión, contraseñas y números. tarjetas bancarias. Se necesita un certificado SSL para que la conexión sea segura. Con él, los datos que ingresas están encriptados. Incluso si los piratas informáticos los interceptan, no podrán descifrarlos.

Desde 2017, los rastreadores de Google han marcado los sitios sin SSL como inseguros y han bajado sus posiciones en los resultados de búsqueda. Google Chrome y Mozilla Firefox marcan los sitios HTTP como no confiables. Así es como los navegadores advierten a los usuarios que los estafadores pueden robar datos personales y dinero.

Mueva su sitio a HTTPS para mejorar su posición en los motores de búsqueda e inspirar la confianza de los visitantes. Con el módulo Let's Encrypt, no se necesita dinero ni habilidades técnicas para esto.

¿Para quién es Let's Encrypt?

Let's Encrypt lanza certificados SSL de nivel de entrada con validación de dominio (DV). Por lo tanto, Let's Encrypt es excelente para pequeños proyectos en línea donde no se requiere una garantía de seguridad estricta: blogs, sitios de pasatiempos, sitios de tarjetas de presentación. Un candado verde en la línea del navegador es suficiente si los visitantes no ingresan nombres de usuario y contraseñas y no realizan compras.

El certificado DV solo confirma que el dominio realmente le pertenece. Los visitantes del sitio no encontrarán advertencias del navegador sobre la visita a un sitio no verificado. Los estafadores no interceptarán la información del usuario, ya que el certificado proporciona una conexión HTTPS segura.

¡Importante! No recomendamos usar un certificado DV en sitios web de tiendas en línea y portales corporativos donde más de nivel alto confianza del usuario. Al emitir SSL con Validación de Dominio, la CA no verifica la legitimidad del negocio. Por lo tanto, dicho certificado no garantiza a los visitantes que se pueda confiar en el propietario del dominio con los inicios de sesión, las contraseñas y los números de tarjetas bancarias.

Cómo instalar Let's Encrypt

Paso 1.

Para instalar Let's Encrypt, ISPmanager debe tener al menos la versión 5.65.

  • Administrador de ISP abierto,
  • Desde debajo de la cuenta raíz, vaya a la sección Integración → Módulos;
  • Instale el módulo Let's Encrypt.

Ahora puede obtener un certificado SSL de renovación automática válido para su dominio. Para hacer esto, necesita un usuario con derecho a usar SSL y un nombre de dominio válido.

Paso 2

Después de la instalación en la sección Configuración del servidor web → Certificados SSL Prensa Botón Vamos a cifrar para obtener un certificado. Obtenga más información sobre cómo crear un certificado en .

El certificado se genera con éxito si absolutamente todos los dominios y alias especificados (alias) se abren desde el servidor. Si incluso 1 de ellos no se abre, no será posible emitir un certificado.

Sobre el proyecto Let's Encrypt

Let's Encrypt es una autoridad certificadora de confianza no comercial. Se diferencia de otros en que emite certificados SSL de forma gratuita. El proceso de liberación está completamente automatizado.

El proyecto se creó en 2014 para que la mayoría de los sitios de Internet pudieran cambiar a una conexión segura a través de HTTPS. Entre sus principales patrocinadores se encuentran las principales empresas tecnológicas del mundo: Mozilla, Google Chrome, Cisco, Facebook. Los socios de Let's Encrypt son IdenTrust Certification Authority, University of Michigan, Stanford Law School, Linux Foundation.

Principios básicos de Let's Encrypt:

  • Gratuidad. El propietario de cualquier dominio puede obtener SSL de confianza de forma gratuita;
  • Automatización. Let's Encrypt solicita, configura y renueva automáticamente los certificados;
  • La seguridad. Let's Encrypt promueve las mejores prácticas de seguridad tanto en la CA como en el sitio web.

Tenga en cuenta que Let's Encrypt tiene las siguientes limitaciones:

  1. Puede solicitar solo 5 certificados por semana para el dominio de primer nivel y sus subdominios.
  2. El certificado Let's Encrypt es válido por 3 meses. Cada 3 meses, ISPmanager vuelve a emitir certificados automáticamente.
  3. Let's Encrypt no ofrece garantías ni compensación en caso de una violación de datos, ya que es una organización sin fines de lucro.

Lista completa de restricciones

En esta revisión, hablaremos sobre las características de instalar y vincular un certificado TLS/SSL gratuito de Let's Encrypt para un sitio en un servidor web IIS que se ejecuta en Windows Server 2019/2016/2012 R2.

Clientes Let's Encrypt y ACME para Windows

La presencia de un certificado TLS/SSL en el sitio le permite proteger los datos de usuario transmitidos a través de la red de ataques de intermediarios y garantizar la integridad de los datos transmitidos. centro sin fines de lucro Certificación Dejar'scifrar le permite emitir automáticamente certificados TLS criptográficos X.509 gratuitos para el cifrado (HTTPS) a través de la API. Solo se emiten certificados para validación de dominio, con un período de validez de 90 días (hay un límite: 50 certificados para un dominio por semana). Pero puede volver a emitir automáticamente un certificado SSL para su sitio en un horario.

La API para la emisión automática de certificados se llama automatizadoCertificadoadministraciónAmbiente (CUMBRE) API. Para sistemas Windows Actualmente hay 3 implementaciones más populares del cliente API ACME:

  • Utilidad ventanasCUMBRESimple(WACS) - una utilidad de línea de comandos para emitir un certificado de forma interactiva y vincularlo a un sitio específico en su servidor web IIS;
  • Módulo Potencia ShellACMESarp- Biblioteca Powershell con muchos comandos para interactuar con los servidores Let's Encrypt a través de la API ACME;
  • Certificar es un administrador gráfico de certificados SSL para Windows que le permite administrar certificados de forma interactiva a través de la API de ACME.

Cliente WACS para instalar el certificado Let's Encrypt TLS en IIS en Windows Server

La forma más fácil de obtener un certificado SSL de Let's Encrypt es usar la utilidad de la consola Windows ACME Simple (WACS) (anteriormente el proyecto se llamaba LetsEncrypt-Victoria-Simple) . Es un asistente simple que le permite seleccionar uno de los sitios que se ejecutan en IIS y emitir y vincular automáticamente un certificado SSL.

Entonces, supongamos que tenemos un sitio web en IIS implementado en Windows Server 2016. Nuestra tarea es cambiarlo al modo HTTPS instalando un certificado SSL de Let's Encrypt.

Descargue la versión más reciente del cliente WACS desde la página de GitHub del proyecto https://github.com/PKISharp/win-acme/releases (en mi caso es el archivo v2.0.10 - win-acme.v2.0.10.444.zip).

Descomprima el archivo en un directorio en el servidor con IIS: c:\inetpub\letsencrypt

Abra un símbolo del sistema con derechos de administrador, vaya al directorio c:\inetpub\ letsencrypt y ejecute wacs.exe.

Esto iniciará un asistente interactivo para generar un certificado de Let's Encrypt y vincularlo a un sitio de IIS. Para crear rápidamente nuevo certificado Seleccione norte: - Crear nuevos certificados (simple para IIS).

Luego debe seleccionar el tipo de certificado. En nuestro ejemplo, no es necesario utilizar un certificado con alias (varias SAN - Nombre alternativo del sujeto), así que simplemente seleccione el elemento 1. Enlace único de un sitio IIS. Si necesita un certificado Wildcard, seleccione la opción 3.

Especifique su correo electrónico al que se enviarán las notificaciones sobre problemas con la actualización del certificado del sitio y otros sobre colgar (puede especificar varios correos electrónicos separados por comas). Queda por aceptar los términos de uso y Windows ACME Simple se conectará a los servidores de Let's Encrypt e intentará generar automáticamente un nuevo certificado SSL para su sitio.

El proceso de generación e instalación de un certificado SSL de Let's Encrypt para IIS está completamente automatizado.

Por defecto, la validación del dominio se realiza en modo Validación http-01 (Autohospedaje). Para hacer esto, necesita tener una entrada en el DNS del dominio que apunte a su servidor web. Al ejecutar WACS en modo manual, puede seleccionar el tipo de validación: 4 [ http-01] CreartemporariosolicitudenIIS(recomendado). En este caso, se creará una pequeña aplicación en el servidor web IIS a través de la cual los servidores de Let's Encrypt podrán realizar la validación.

Nota. Al realizar la verificación TLS/HTTP, su sitio debe ser accesible desde el exterior por su nombre DNS totalmente calificado mediante los protocolos HTTP (80/TCP) y HTTPS (443/TCP).

La utilidad WACS guarda llave privada certificado (*.pem), el propio certificado y una serie de otros archivos en el directorio C:\Users\%username%\AppData\Roaming\letsencrypt-win-simple. Luego instalará el certificado Let's Encrypt SSL generado en segundo plano y lo vinculará a su sitio IIS. Si el sitio ya tiene instalado un certificado SSL (por ejemplo, ), será reemplazado por uno nuevo.

En el Administrador de IIS, abra el menú Enlace del sitio para su sitio y asegúrese de que utiliza un certificado emitido por Vamos a cifrar la autoridad X3.

En el almacén de certificados de la computadora, puede encontrar el certificado Let's Encrypt for IIS en Alojamiento web -> Certificados.

Windows ACME Simple crea una nueva regla en el Programador de tareas de Windows ( ganar-acme-renovar (acme-v02.api.letsencrypt.org)) para la renovación automática del certificado. El trabajo se ejecuta todos los días y el certificado se renueva cada 60 días. El programador ejecuta el comando:

C:\inetpub\letsencrypt\wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org"

Puede usar el mismo comando para actualizar manualmente el certificado.

Redirigir el tráfico del sitio IIS de HTTP a la dirección HTTPS

Para redirigir todo el tráfico HTTP entrante a un sitio HTTPS, debe instalar el módulo microsoftURLVolver a escribirmódulo(https://www.iis.net/downloads/microsoft/url-rewrite), y asegúrese de que la opción no esté habilitada en la configuración del sitio uso obligatorio SSL (Requerir SSL). Queda por configurar la redirección en el archivo web.config:













También puede configurar la redirección de tráfico a través de la reescritura de URL a través de la GUI del Administrador de IIS. Seleccione Sitios -> nombre de su sitio -> Reescritura de URL.

Crear una nueva regla Agregar regla -> Regla en blanco.

Especifique el nombre de la regla y cambie los valores de los parámetros:

  • URL solicitada -> Coincide con el patrón
  • Usando -> Expresiones regulares
  • Patrón -> (.*)

En el bloque Condiciones, cambie Agrupación lógica -> Hacer coincidir todo y haga clic en Agregar. Especificar

  • Entrada de condición -> (HTTPS)
  • Compruebe si la cadena de entrada -> Coincide con el patrón
  • Patrón -> ^DESACTIVADO$

Ahora, en el bloque de acción, seleccione:

  • Tipo de acción -> Redirigir
  • Redirigir URL -> https://(HTTP_HOST)/(R:1)
  • Tipo de redireccionamiento -> Permanente (301)

Abra su navegador e intente abrir su sitio en la dirección HTTP, debería ser redirigido automáticamente a la URL HTTPS.

Uso de un certificado de Let's Encrypt para servicios de escritorio remoto

Si usa una puerta de enlace de escritorio remoto/acceso web de escritorio remoto para conectar usuarios externos a su red corporativa, puede usar un certificado SSL de Let's Encrypt normal en lugar de un certificado autofirmado normal. Veamos cómo instalar correctamente un certificado Let's Encrypt para servicios de escritorio remoto en Windows Server.

Si la función RDSH también está elevada en el servidor de puerta de enlace de escritorio remoto, debe evitar que los usuarios de lectura accedan al directorio donde almacena WACS (en mi ejemplo, esto es c:\inetpub\letsencrypt) y el directorio del certificado Let's Encrypt (C :\ProgramData\win-acme).

Luego, en el servidor RDP GW, ejecute wacs.exe como se describe anteriormente y seleccione el sitio IIS deseado (generalmente el sitio web predeterminado). Let's Encrypt le emite un nuevo certificado, que se instala para el sitio web, y aparece una tarea en el programador para renovar automáticamente el certificado.

Puede exportar manualmente este certificado y vincularlo a los servicios correctos Enlace RDS sobre SSL. Pero deberá realizar estos pasos manualmente cada 60 días cuando vuelva a emitir su certificado Let's Encrypt.

Necesitamos un script que, inmediatamente después de recibir (renovar) el certificado de Let's Encrypt, lo aplicaría al RD Gateway.

El proyecto win-acme tiene un script de PowerShell listo para usar ImportRDGateway.ps1 ( https://github.com/PKISharp/win-acme/tree/master/dist/Scripts) , que le permite instalar el certificado SSL seleccionado para Servicios de escritorio remoto. La principal desventaja del script es que debe especificar manualmente la huella digital del nuevo certificado:
ImportRDGateway.ps1

Para obtener automáticamente la huella digital del certificado del sitio de IIS especificado, use el script modificado (basado en el estándar ImportRDGateway.ps1).

¡La instrucción y el script de PowerShell modificado fueron enviados por nuestro lector Anton, por lo que le enviamos los rayos de gratitud!

Puede ejecutar este script manualmente:

powershell -Archivo ImportRDGateway_Cert_From_IIS.ps1

Si su RDS Gateway se encuentra en un sitio de IIS estándar "Sitio web predeterminado" con índice 0, puede usar el script sin modificaciones.

Para obtener el ID del sitio en IIS, abra una consola de PowerShell y ejecute:

Administración web del módulo de importación
Get-ChildItem IIS:Sitios

Obtenga una lista como:

La columna ID contiene el índice de su sitio, réstele uno. El índice resultante de su sitio debe especificarse en lugar de 0 en la línea 27 del script de PowerShell:

$NewCertThumbprint = (Get-ChildItem IIS:SSLBindings).Thumbprint

Ahora abra el trabajo del programador win-acme-renew (acme-v02.api.letsencrypt.org) y en la pestaña Acción, agregue un nuevo trabajo que ejecute el script ImportRDGateway_Cert_From_IIS.ps1 después de renovar el certificado.

Para no cambiar los permisos para ejecutar scripts de PowerShell, puede llamar al script con el comando:

PowerShell.exe -ExecutionPolicy Bypass -Archivo c:\inetpub\letsencrypt\ImportRDGateway_Cert_From_IIS.ps1

Ahora, el script para vincular un certificado SSL a los servicios RDS se ejecutará inmediatamente después de la renovación del certificado Let's Encrypt. Al mismo tiempo, el servicio RD Gateway se reinicia automáticamente con el comando:

Cuando se reinicia el servicio TSGateway, todas las sesiones de usuario actuales finalizan, por lo que se recomienda cambiar la frecuencia de inicio del trabajo de actualización de certificados a una vez cada 60 días.

Tenga en cuenta que los certificados de Let's Encrypt en este momento se utilizan ampliamente en los sitios web de muchas grandes empresas y todos los navegadores confían en ellos. Espero que el destino de la autoridad de certificación gratuita Let's Encrypt no sufra el destino de WoSign y StartCom.