¿Por qué tener certificado SSL?
Solo por aclarar un pequeño problema de semántica técnica, SSL (Secure Socket Layer) es el antiguo estándar de transmisión de datos seguros y está en desuso, sustituido por el TLS (Transport Layer Security). Básicamente, el cifrado en el nuevo estándar está en otra capa del modelo OSI, pero esto no nos importa demasiado ahora para el objetivo de este texto. Seguiremos viendo y escuchando el término SSL para representar ambos, por lo que en este texto SSL significa tal el uno como el otro.
También es importante entender que SSL sólo es efectivo para asegurar el transporte de datos, no hace nada para proteger el sitio web. Si tienes otros problemas de seguridad, SSL no los resolverá por arte de magia. Es crucial no tener una falsa sensación de seguridad simplemente instalando SSL en un sitio web.
Cada vez más sitios usan SSL, y no sólo en algunas páginas, sino en todo el sitio web. El uso de SSL se ha más que duplicado en los últimos 4 años, como se muestra en este cuadro de los ratios de Mozilla Telemetry SSL:
¿Por qué todos los sitios web deberían usar SSL en 2018?
- Necesitarás SSL si aceptas tarjetas de crédito en línea y debes cumplir con el estándar PCI; si realizas cobros en línea, ni siquiera es opcional.
- Proporciona una sensación de confianza a tus visitantes porque verán un candado verde al lado de la dirección de tu sitio web.
- Elimina la sensación de peligro, pues los navegadores modernos como Chrome agregarán un icono "No seguro" a la izquierda de la dirección del sitio web en cuanto entre en un formulario. Esto puede ocurrir con cualquier formulario, incluso sólo con un campo de búsqueda. Puede asustar a tus usuarios y alejarlos de tu sitio web.
- Puede ser beneficioso para SEO. Aunque los algoritmos de búsqueda son secretos muy bien guardados, muchos expertos de SEO han notado una pequeña preferencia para los sitios que usan SSL, por lo que puede ser parte de la fórmula que usan los motores de búsqueda para clasificar los sitios web.
- La razón principal: ¡ahora es gratuito! Así que, ¿por qué no?
Tipos de certificados SSL
En el aspecto técnico de asegurar la transmisión de datos, la única especificación técnica es la longitud de la clave, cuanto más larga es la clave, más tiempo se necesita para descifrarla (recuerda que todo se puede descifrar, solo lleva mucho tiempo). A medida que aumenta la potencia de cálculo, necesitaremos claves más largas porque pueden romperse más rápidamente. Una clave de 2048 bits es bastante estándar actualmente y se tardaría al menos 1200 años en descifrar una determinada clave. Claro que esto puede cambiar rápidamente con los ordenadores Quantum. El caso es que cualquiera de estos tipos hará el mismo trabajo desde el punto de vista estrictamente técnico, lo que cambia es la forma en que los usuarios ven el certificado.
- Los certificados DV (Verificación del Dominio) solo verifican que la persona que solicitó el certificado tenga control sobre el nombre de dominio del sitio web. Estos certificados están disponibles de forma gratuita o con una tarifa muy pequeña. Por lo general, se obtienen en minutos u horas y solo requieren que demuestres (al subir un archivo pequeño, modificando el registro DNS o utilizando herramientas automatizadas) que puedes controlar el nombre de dominio. En la mayoría de los navegadores, esto mostrará un candado verde al lado de la url del sitio web.
- Los certificados OV (Verificación de la Organización) también verifican la organización (empresa) detrás del sitio web. La verificación se realiza mediante la verificación de registros gubernamentales públicos para la dirección de la empresa y la información de contacto. Estos certificados cuestan algo de dinero. Por lo general, se obtienen en unos días y su empresa debe estar registrada para que el emisor del certificado pueda verificarlo. En la mayoría de los navegadores, se mostrará un candado verde y en los detalles del certificado se mostrará la dirección de la organización y la información de contacto.
- Los certificados EV (Verificación Extendida) van un paso más allá y el emisor realizará una pequeña auditoría de la empresa y sus propietarios. Son los más caros, lógicamente. En la mayoría de los navegadores, se mostrará una barra de dirección verde o una insignia de bloqueo más grande con el nombre de la compañía al lado del candado.
¿Cómo conseguir un certificado SSL?
La obtención e instalación de un certificado SSL variará dependiendo de si tiene acceso de administrador al servidor Windows que aloja tu sitio web o si usas una cuenta de alojamiento compartido. Si alojas tu sitio web con recursos de terceros, simplemente sigue sus instrucciones. Si lo alojas tú mismo, o tienes acceso de escritorio directo o remoto al servidor, entonces recomendamos usar https://certifytheweb.com/: su software es gratuito para pequeña escala, y muy barato para quien necesite administrar muchos sitios. Esto está muy bien para obtener uno o más certificados https://letsencrypt.org/. Esos son certificados DV (Dominio Validado) gratuitos que son perfectos para sitios web públicos que no tienen comercio electrónico o estándares de seguridad muy altos para mantener. Visite su sitio web para obtener más detalles, pero básicamente selecciona el sitio, solicita un certificado y el software se encarga de configurar todo para usted en IIS. Si necesita un certificado OV o EV, el emisor le proporcionará instrucciones para instalarlo en IIS.
Activando SSL en DNN
Una vez que tienes tu certificado, debes hacer que DNN lo use, en Configuración -> Seguridad -> Más y activar SSL
A menos que tengas diferentes URL para http y https, o necesidades especiales, todo lo demás puede dejarse en blanco. Ahora puedes acceder a tu sitio web con http: // o https: //. En cada página, podrás habilitar la opción Seguro y la página siempre se mostrará con https; pero esto llevaría mucho tiempo si debes editar las páginas una por una. Para evitarte este trabajo, que sería enorme en webs grandes, puedes marchar la opción "Forzar SSL (SSL Enforced)" y obligarás a que todas las páginas del web deban servirse mediante tráfico seguro.
Otra posibilidad es que IIS se encargue de esto por nosotros:
Forzando SSL para todo el sitio web
Esta técnica utiliza las reglas de reescritura de IIS para crear un redireccionamiento 301 para cualquier recurso al que acceda mediante http para ser servido por https. Una redirección 301 notificará a los indexadores de los motores de búsqueda que el recurso se ha movido permanentemente a https, lo que ayudará con sus esfuerzos de SEO. Aquí van las instrucciones paso a paso:
- Abrir IIS, navegar hasta tu sitio web y doble-click en URL Rewrite
- Pulsa en Add Rule(s)... y, en la nueva ventana, elije blank rule, y acepta.
- En la ventana de nueva regla, escribe lo siguiente en la sección Match URL:
- Name: lo que quieras, sugiero https-redirect
- Requested URL: Matches the Pattern
- Using: Regular Expression
- Pattern: (.*)
- Ignore case: marcado
- En la sección Conditions, pulsa añadir y escribe lo siguiente:
- Condition input: {HTTPS}
- Check if input string: Matches the Pattern
- Pattern: off
- Ignore case: checked
- En la sección action escribe lo siguiente:
- Action type: Redirect
- Redirect URL: https://{HTTP_HOST}/{R:1}
- Append query string: checked
- Redirect type: Permanent (301)
- Así debería quedar todo:
- Pulsa aplicar, a la derecha, y habrás terminado; navega a tu web usando http y deberías ser automáticamente redirigido a la versión https version de cualquier página o recurso.
Este artículo es una versión traducida y corregida del original de Daniel Valadas.