Instalar Certificado Let's Encrypt SSL Gratuito

¿Qué es un certificado SSL?

Un certificado SSL (Secure Sockets Layer o capa de conexión segura), es un sistema de cifrado que se usa a nivel mundial para la transferencia de datos entre navegador y servidor.

Este cifrado permite encriptar los datos en su transferencia, otorgando una capa extra de seguridad entre emisor y receptor contra ataques de Hackers o robos de datos.

¿Qué es Let’s Encrypt?

Let’s Encrypt se trata de una autoridad de certificación, conocidas con las siglas CA, libre y gratuita impulsada por la Fundación Linux, que permite generar certificados SSL gratuitos y automáticos para nuestros sitios web. El objetivo de la comunidad que está detrás es el de promover que el tráfico de Internet sea seguro.

Detrás de este proyecto se encuentra el apoyo de empresas como Mozilla, Akamai, Google o Facebook. Let’s Encrypt emitió más de 24 millones certificados en su primer año, y la cifra aumenta a diario.

Importante:

Estos certificados son validados para el dominio, no requieren una dirección IP dedicada y son compatibles con todas las soluciones de hosting de ACCROACHCODE.

¿Son menos confiables porque son gratis y los puede usar cualquiera?

Ofrecen la misma seguridad y compatibilidad a nivel técnico que los certificados de pago Standard.La diferencia con algunos certificados de pago es que por ejemplo con un SSL Wildcard puedes utilizar el certificado para tu dominio y todos los subdominios. Con Let's Encrypt debes instalar un certificado independiente para cada subdominio.También existen otros certificados de pago, como los certificados EV, que muestran el nombre de la empresa en la barra de navegación. Los certificados Standard y los de Let's Encrypt no muestran esa información en la barra de navegación.

¿Me va a afectar negativamente a mi web usar uno de estos certificados SSL?


Al contrario. Google y otros buscadores están mejorando el posicionamiento de sitios que utilizan conexiones seguras, siendo Let's Encrypt una autoridad de certificación de confianza para Google y los principales navegadores como Chrome, Firefox y Safari.

¿Tengo que renovar el certificado https?


Los certificados gratuitos de Let's Encrypt se renuevan de forma automática cada 3 meses. No tendrás que estar pendiente de la renovación. Las renovaciones se realizarán siempre que el dominio para el que tienes el certificado esté apuntando a nuestros servidores y el hosting de la web con nosotros.

Observación:

Si Let's Encrypt modifica su política de gratuidad no podremos seguir ofreciéndote o renovando el certificado en las mismas condiciones.

Prerrequisitos para instalar un certificado Let's Encrypt

Hay unos cuantos requerimientos que un dominio debería cumplir para que puedas instalar satisfactoriamente un certificado Let's Encrypt en él.

Instalación de Certificado

SolidCP es una herramienta que permite activar automáticamente el certificado ssl a través de tus certificados Let’s encrypt. Para instalar Let's Encrypt SSL entra en https://hosting.accroachcode/ con tu usuario y contraseña asignado.

Paso 1

Se debe agregar dentro del archivo Web.Config la siguiente regla. 

<rule name=".well-known" enabled="true" stopProcessing="true">
	<match url=".well-known" ignoreCase="true" />
	<action type="None" />
	<conditions>
		<add input="{URL}" pattern=".well-known" />
	</conditions>
</rule>

De tal manera que tu Web.Config quedaría así.

Consideraciones:

Las reglas se configuran después del <system.webServer> y debes agregar <rewrite> <rules> al inicio y al final  </rules></rewrite>

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<system.webServer>
		<rewrite>
			<rules>
				<rule name=".well-known" enabled="true" stopProcessing="true">
					<match url=".well-known" ignoreCase="true" />
					<action type="None" />
					<conditions>
						<add input="{URL}" pattern=".well-known" />
					</conditions>
				</rule>
			</rules>
		</rewrite>
		<directoryBrowse enabled="false" />
		<defaultDocument>
			<files>
				<clear />
				<add value="Default.htm" />
				<add value="Default.asp" />
				<add value="index.htm" />
				<add value="Default.aspx" />
			</files>
		</defaultDocument>
		<httpErrors errorMode="DetailedLocalOnly" existingResponse="Auto" />
	</system.webServer>
</configuration>

Paso 2

Luego de ingresar, solo debes acceder a la sección de Web Sites para su instalación.

Paso 3

Seleccionar el dominio al cual deseas agregar el certificado SSL.

Paso 4

Seleccionar la última pestaña que dice SSL.  

y dar clic en el botón a la izquierda que dice Install Certificate

Luego de esta acción el servidor comenzará la instalación del certificado y le mostrará al final la opción de Save Changes an Exit o Saves Changes. 

Puede escoger Save Changes and Exit en el caso que no realice otra configuración adicional en su Sitio Web.

Configuraciones Adicionales.

Luego de instalar el certificado puedes forzar a que tu sitio web solo sea accedido mediante HTTPS para ello solo debes agregar estas líneas de código en las reglas de tu web.config

<rule name="Force HTTPS" enabled="true">
	<match url="(.*)" ignoreCase="false" />
	<conditions>
		<add input="{HTTPS}" pattern="off" />
	</conditions>
	<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>

Quedaría de la siguiente manera.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<system.webServer>
		<rewrite>
			<rules>
				<rule name=".well-known" enabled="true" stopProcessing="true">
					<match url=".well-known" ignoreCase="true" />
					<action type="None" />
					<conditions>
						<add input="{URL}" pattern=".well-known" />
					</conditions>
				</rule>
				<rule name="Force HTTPS" enabled="true">
					<match url="(.*)" ignoreCase="false" />
					<conditions>
						<add input="{HTTPS}" pattern="off" />
					</conditions>
					<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
				</rule>
			</rules>
		</rewrite>
		<directoryBrowse enabled="false" />
		<defaultDocument>
			<files>
				<clear />
				<add value="Default.htm" />
				<add value="Default.asp" />
				<add value="index.htm" />
				<add value="Default.aspx" />
			</files>
		</defaultDocument>
		<httpErrors errorMode="DetailedLocalOnly" existingResponse="Auto" />
	</system.webServer>
</configuration>

Límites de Let's Encrypt

La instalación de Let's Encrypt tiene varias limitaciones aplicadas y si has alcanzado una de ellas, puede que la instalación de un certificado nuevo no sea satisfactoria. Los límites más frecuentes son:

Puedes comprobar todas las limitaciones del servicio en el sitio web oficial de Let’s Encrypt en el siguiente https://letsencrypt.org/docs/rate-limits/