Forzar redirección web HTTPS con IIS

En breve el navegador Chrome de Google mostrará las webs sin certificados mensajes de advertencia, además de relegarlos en su motor de búsqueda… para forzar desde Internet Information Server la redirección de toda las URLs debemos añadir en el archivo web.config:

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

 

Utilidades gratuitas para facilitar la emisión e instalación de certificados sobre IIS:

 

Certificados SSL

Cuando visitamos un sitio web y nos aparece en el navegador el prefijo https:// nos indica que:

  • Existe un certificado no caducado: los certificados caducan cada cierto tiempo o son revocados/cancelados en la lista de comprobación de sus emisores.
  • Existe un certificado digital emitido para este sitio: la dirección URL de la web coincide la del certificado.
  • Existe un certificado emitido por una entidad de confianza: confiamos en un emisor y sus listas.

¿Quiere decir que el sitio web es seguro? No. La lista de entidades emisoras de certificados de confianza es diferente para Microsoft, Firefox, Apple… con sus correspondientes almacenes. Es perfectamente posible que recibamos con Chrome un aviso de seguridad y con Firefox no, teniendo instalados ambos en el mismo equipo.

Las entidades de certificación a su vez puedes emitir certificados intermedios a otras entidades, y esta emitir los suyos. Algo así como diría Groucho Marx: «la parte contratante de la primera parte será considerada como la parte contratante de la primera parte»

Dado que se emiten y cancelan millones de certificados cada día, tanto Microsoft como Apple van introduciendo las actualizaciones de entidades automáticamente en sus sistemas operativos, y las entidades, con sus certificados de sitios e intermedios.

En la mayoría de casos este funcionamiento predeterminado facilita el uso general y acceso a sitios web, aunque podemos hacerlo de forma manual y desactivar esta opción en Windows:

Si pese a ello seguimos pensando que todo esta bien, tenemos la falsa idea de seguridad con el candado de nuestro navegador, pongamos otro ejemplo; hemos visto que la lista de entidades de certificación es difícil de gestionar tanto para empresas como usuarios finales, sería posible con un ataque main-in-the-middle con un certificado válido interceptar el tráfico SSL: sí.

 

Lecturas recomendadas:

Medias verdades sobre httpS

¿Habéis recibido algún mensaje de este tipo a traves de la red social o correo?

«Cuando estéis en Facebook, mirad la dirección que os aparece arriba. Si veis http: en vez de https:, entonces es que no tenéis una conexión segura y vuestra cuenta puede ser hackeada. Id a Cuenta/Configuración de Cuenta/Seguridad de Cuenta y clickar en Cambiar. Marcad al menos la primera opción, sino Facebook opta por la configuración no segura.» 

httpS en el navegador

Intentaremos aclarar un poco el tema… utilizar HTTPS garantiza hasta cierto punto que la comunicación entre 2 puntos (tu ordenador y una página web por ejemplo) se realiza de forma segura y no hay nadie escuchando por el camino (por lo menos a día de hoy y con la capacidad de los procesadores actuales)

Que la comunicación entre las partes sea seguro no quiere decir que la información enviada de esta forma sea fiable y/o legítima. Un ejemplo, si existe un virus en tu ordenador que abre webs, envía datos… y lo hace por httpS esta información no es más fiable por ello.


Transmisión de archivos

Para una comunicación más segura ambas partes deberían identificarse primero, mediante certificados por ejemplo, para asegurar que cada u

no es quien dice ser. Por ejemplo, si yo utilizo mi DNI electrónico para ver mis puntos en la Dirección General de Tráfico (DGT) utilizo el certificado de mi DNI para validarme frente a otra entidad también certificada.

    Esta nota solo intenta arrogar un poco de luz sobre estos tipos de bulos no pretende ser una guía sobre encriptación, SSL, XSS, capas…