¿Cómo ayuda HSTS? Incremento de Seguridad, carga web y SEO

 

El objetivo de esta entrada no será explicar con detalle en cual de los 7 niveles del modelo OSI estamos tratando sino como implementaremos HSTS en nuestro site Worpdress y por qué las WEBS deberían usar HSTS para mejorar su seguridad, tener unos tiempos de carga más rápidos y SEO más solido.

¿Que es HSTS?

Empezando por sus iniciales, HTTP Strict Transport Security o HTTP con Seguridad de Transporte Estricta (HSTS), es aquella política de seguridad que puede evitar ataques, interceptar comunicaciones, cookies entre muchas…

HSTS es un encabezado de respuesta que informa al navegador que solo se puede conectar a un determinado sitio web mediante HTTPS. De manera que HSTS aumenta la velocidad y la seguridad accediendo a todos los recursos por https.

¿Que es HTTPS?: seguir leyendo…

¿Como activar HSTS en Worpdress?

Necesitarás modificar el archivo function.php de tu plantilla instalada. Es recomendable que tengas instalado un Child-Theme de WordPress para que en siguientes actualizaciones de la plantilla no tengas ningún problema ni pierdas la configuración aplicada. Si quieres informarte sobre ¿que es un child theme? y su importancia, así de como crear uno puedes visitar la siguiente entrada de mi blog 

A continuación tienes el código que deberás añadir a tu plantilla:

add_action( 'send_headers''julianmp_strict_transport_security' );
/**
 * Habilitar HTTP Strict Transport Security (HSTS)
 */
function julianmp_strict_transport_security() {
    header( 'Strict-Transport-Security: max-age=31536000; includeSubDomains; preload' );
}
Por mi experiencia según he podido contemplar en diferentes tipos de proyectos, mi recomendación es aplicar la configuración directamente en nuestro servicio web según el hosting/servidor que tengamos contratado.
La ventaja de aplicar esto directamente en la configuración, nos permite que si alguna vez nos encontramos con el caso que queremos cambiar de plantilla o por algún motivo se desactiva, esta configuración dejará de tener efecto. Sin embargo si aplicamos la configuración directamente en nuestro servicio web, no tendremos problemas en esos casos.
A continuación detallo la configuración para aplicar según, si nuestro hosting utiliza servicio web «apache» o «Nginx». Si tenéis dudas, consultar antes de aplicar el siguiente código a vuestro proveedor de servicios, ellos también os pueden ayudar.
Nota: Antes de aplicar cualquier configuración, realiza backup de los archivos. Si no estas seguro mi recomendación es que lo haga una persona que entienda 🙂

¿Como configurar en Apache?

 Será necesario agregar al archivo .htaccess la siguiente línea:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

¿Como configurar en Nginx?

Será necesario agregar al archivo nginx.conf, la siguiente línea:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

¿Como configurar HSTP en un IIS?

Podemos tener también el escenario que nuestro servicio web sea un IIS. No es habitual, pero la configuración seria:

<system.webServer>
<httpProtocol>
<customHeaders>
<add name=»Strict-Transport-Security» value=»max-age=31536000″/>
</customHeaders>
</httpProtocol>
</system.webServer>

En todos los casos el parámetro max-age que le indica al servidor, cuánto tiempo el navegador deberá comunicarse vía HTTPS.

¿Como comprobar que funciona correctamente?

A partir de la siguiente web, podéis comprobar si tenéis aplicada correctamente la configuración o ver si vuestra web esta funcionando con HSTP.

https://hstspreload.org

 

Ejemplo de tener correctamente configurado (en julianmp.info):

Posibles problemas

Si el código introducido no esta correctamente configurado, nos puede salir un Error 500 «Internal Server Error». En estos caso casos te recomendaría restaurar un backup del archivo modificado. Es posible también que tu servicio de hosting no tenga habilitada la funcionalidad, por ello es posible que necesites contactar con ellos previamente.

En el caso de mi web, tuve que activar la configuración en el CDN que tengo instalado. Si queréis saber más sobre posibles problemas con un CDN, me podéis preguntar.

Aquí os facilito una captura de la configuración si tenéis un CDN Cloudflare. Básicamente lo importante es tener el Max-age a 12 meses. Si lo ponéis en el hosting, pero aquí dejáis 6 meses (que recomiendan) no funcionará.

Muchas gracias por tu visita y cualquier duda puedes dejar tu comentario, escribirme directamente en el formulario de contacto.

Ayúdame a compartir 🙂

 

Puedes utilizar mi chatbot (en pruebas) para contactar conmigo.

 

0 estrella1 estrellas (+2 puntuación, 1 votos)
Cargando…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  Acepto la política de privacidad

Información sobre protección de datos

  • Responsable: Julian Mariscal
  • Fin del tratamiento: Controlar el spam, gestión de comentarios
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  • Derechos: Acceso, rectificación, portabilidad, olvido.
  • Contacto: rgpd@julianmp.info.
  • Información adicional: Más información en mi política de privacidad.

Chatbot (En pruebas)
Desarrollado por Julian Mariscal