Hola buenos dias.
Hace tiempo que estamos pensando en eliminar el plugin Headers Security Advanced & HSTS e insertar directamente las cabeceras y sus codigos correspondientes en nuestro htaccess, ya que este plugin nos genera problemas a la hora de integrar con Redsys Insite que codigos deberia de insertar en nuestro .htaccess si elimino este plugin Headers Security Advanced & HSTS para mantener el mismo grado de efectividad, seguridad, funcionalidades... y poder integrar Redsys Iniste (muchos de los problemas surgen con la cabecera Content-Security-Policy (CSP) que con el plugin Headers Security Advanced & HSTS no admite inline y consecuentemente genera problemas con Redsys Insite.
Muchas gracias
Saludos
Hola David.
Puedes utilizar lo siguiente:
<IfModule mod_headers.c> # Evita que el sitio se incruste en iframes (clicjacking) Header always set X-Frame-Options "SAMEORIGIN" # Desactiva detección de tipo MIME Header always set X-Content-Type-Options "nosniff" # Protección básica contra ataques XSS Header always set X-XSS-Protection "1; mode=block" # Política de Referrer Header always set Referrer-Policy "strict-origin-when-cross-origin" # Política de permisos Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()" # Política de seguridad de contenido (CSP) adaptada a Analytics y reCAPTCHA Header always set Content-Security-Policy " default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://www.gstatic.com https://www.google.com; style-src 'self' 'unsafe-inline' https:; font-src 'self' https: data:; frame-src https://www.google.com https://www.gstatic.com; connect-src 'self' https://www.google-analytics.com https://www.googletagmanager.com; " # HSTS activo Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" # Evita políticas antiguas permisivas Header always set X-Permitted-Cross-Domain-Policies "none" </IfModule>
Tienes que añadirlo después de RewriteEngine On o al principio del archivo.
Ten en cuenta que tu web es un poco especial por tantos bloqueos que tienes y es posible que alguna de las cabeceras de problemas. Antes de añadirlo realiza una copia de tu archivo .htaccess, puedes bajarlo primero a tu equipo.
Un saludo
Hola buenos dias.
Gracias por tus indicaciones. Desde soporte me indican lo siguiente: En nuestros servidores usamos una combinación de Nginx y Apache. Nginx hace de proxy inverso en este caso, pasando las peticiones dinámicas a apache. Por lo tanto, HSTS lo configuramos en nginx para los dominios que quieras.
Los únicos requisitos son que el dominio tenga ya instalado un certificado y que redirijan ya sus visitas a https. Si nos indicas en qué dominios quieres configurarlo, lo comprobamos y aplicamos la configuración si todo está bien.
Cual seria entonces la mejor opción o lo más recomendable insertar los codigos que me indicas en mi .htaccess o configurar HSTS en nginx? Supongo que insertarlos en .htaccess aporta mayor control y flexibilidad sobre las cabeceras si surgen problemas o incompatibilidades.
Gracias
Saludos
Hola David.
Activar HSTS en el servidor solo aplica la cabecera Strict-Transport-Security, las otras no se añaden automáticamente por activar HSTS en el servidor.
Si lo activas desde el servido tienes que añadir las otras cabeceras:
<IfModule mod_headers.c> # Evita que el sitio se incruste en iframes (clicjacking) Header always set X-Frame-Options "SAMEORIGIN" # Desactiva detección de tipo MIME Header always set X-Content-Type-Options "nosniff" # Protección básica contra ataques XSS Header always set X-XSS-Protection "1; mode=block" # Política de Referrer Header always set Referrer-Policy "strict-origin-when-cross-origin" # Política de permisos (sustituye a Feature-Policy) Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()" # Política de seguridad de contenido (CSP) adaptada a Analytics y reCAPTCHA Header always set Content-Security-Policy " default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://www.gstatic.com https://www.google.com; style-src 'self' 'unsafe-inline' https:; font-src 'self' https: data:; frame-src https://www.google.com https://www.gstatic.com; connect-src 'self' https://www.google-analytics.com https://www.googletagmanager.com; " # Evita políticas antiguas permisivas Header always set X-Permitted-Cross-Domain-Policies "none" </IfModule>
Con esto cubres todas las cabeceras de seguridad necesarias, excepto HSTS, que ya quedará gestionado desde el servidor.
Un saludo