1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Gestion de HSTS de un sitio web/alojamiento
Esta guía explica cómo desactivar o configurar HSTS para un sitio web.
Prólogo
- Cuando HSTS está activado para un sitio web, el servidor indica al visitante del sitio (si su navegador web es compatible) que reemplace todos los enlaces no seguros por enlaces seguros.
- Ejemplo:
http://www.exemple.com/une/page/
se reemplaza automáticamente porhttps://www.exemple.com/une/page/
. - Después de activar un certificado SSL en un sitio web, el HSTS se configura de la siguiente manera:
max-age=16000000
.
Desactivar HSTS…
… con un CMS (WordPress, Joomla, etc.)
Incluir la siguiente línea en todas las páginas generadas por el CMS:
header( 'Strict-Transport-Security: max-age=0;' );
Para WordPress, por ejemplo, es posible agregar esta directiva en el archivo functions.php
de tu tema:
add_action( 'send_headers', 'add_header_xua' );
function add_header_xua() {
header( 'Strict-Transport-Security: max-age=0;' );
}
Más detalles sobre WordPress
… con un sitio PHP
Incluir la siguiente línea en todas las páginas php:
header( 'Strict-Transport-Security: max-age=0;' );
Para hacer esto sin tener que modificar cada página php de un sitio, es posible utilizar la directiva auto_prepend_file
en el archivo .user.ini
del sitio en cuestión:
auto_prepend_file=/home/clients/xxxx/web/hsts_disable.php
... con el archivo hsts_disable.php
siguiente:
header( 'Strict-Transport-Security: max-age=0;' );
… con un sitio de contenido estático (no PHP)
Incluir este encabezado en un archivo .htaccess
:
# BEGIN DISABLE HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=0; includeSubDomains;"
</IfModule>
# END DISABLE HSTS
Personalizar el HSTS
El valor predeterminado puede modificarse en sus archivos php de su sitio web con la siguiente directiva:
header( 'Strict-Transport-Security: max-age=X; includeSubdomains; preload' );
(X
siendo el número de segundos deseado).
Activar HSTS para todos los subdominios alojados
includeSubDomains;
está activado por defecto y, como su nombre indica, incluye los subdominios en las "Strict Transport Security".
Cuando el visitante va a un subdominio no seguro, el navegador redirigirá automáticamente a HTTPS y provocará un error de seguridad.
Si no se desea este comportamiento, hay que eliminar esta cabecera.
Borrar la caché HSTS del navegador…
… en Chrome
- En Chrome, escribe chrome://net-internals/#hsts
- Introduzca el nombre de dominio en el campo de texto de la sección "Delete domain security policies".
- Haga clic en el botón Delete.
- Introduzca el nombre de dominio en el campo de texto de la sección "Query HSTS".
- Haga clic en el botón Query.
- La respuesta debe ser "
Not found
" (no encontrado).
… en Safari
- Con Safari, empiece por cerrar el navegador.
- Elimine el archivo
~/Library/Cookies/HSTS.plist
. - Vuelva a abrir Safari.
… en Firefox
- Con Firefox, cierre todas las pestañas.
- Abra el menú de Firefox y haga clic en Historial/Ver historial.
- Busca la página de la que deseas eliminar las preferencias HSTS.
- Haga clic derecho en una de las entradas correspondientes.
- Selecciona Olvidar este sitio.