Cabeceras de Seguridad
¿Qué son las cabeceras de seguridad?
Las Cabeceras de seguridad son parámetros que se envían entre el cliente y el servidor para proporcionar información esencial sobre la transacción que se esté llevando a entre ambos.
Además, estas cabeceras de seguridad siempre utilizan la sintaxis «header: set» y a continuación veremos cuáles son las cabeceras de respuesta más importantes enfocándonos en la seguridad.
¿Cómo las cabeceras de seguridad nos ayudan a incrementar la seguridad de nuestra web?
Si bien sabemos, la seguridad al 100% no la podemos lograr, pero lo que sí podemos hacer es añadir capas de seguridad lo más posible para reducir algún riesgo.
Hoy en día gestionar los riesgos y reducirlos es importante. Es por eso que en este blog enseñaremos sobre las cabeceras de seguridad y cómo pueden ayudarnos a mejorar la seguridad de un sitio wordpress.
¿Cómo medimos nuestro nivel de seguridad nuestro wordpress?
Podemos Evaluar rápida y fácilmente la seguridad de sus encabezados de respuesta HTTP en el siguiente enlace SecurityHeader.com
¿Cuáles son las cabeceras de seguridad más importante para tu sitio de wordpress?
- HTTP Strict Transport Security (HSTS)
- X-XSS-Protection
- X-Content-Type-Options
- X-Frame-Options
- Content-Security-Policy
- Public Key Pinning Extension for HTTP
- X-Permitted-Cross-Domain-Policies
- Referrer-Policy
- Expect-CT
- Feature-Policy
HTTP Strict Transport Security (HSTS)
Esta cabecera nos permite indicar a un navegador que siempre se utilice el protocolo HTTPS para establecer la comunicación entre el cliente y servidor (en lugar de HTTP). Esto significa que cualquier marcador, enlace, recurso o dirección forzará a los usuarios a hacer uso de HTTPS, inclusive si el propio usuario especifica el uso de HTTP.
X-XSS-Protection
Se utiliza para configurar la protección contra ataques del tipo Cross-Site Scripting (XSS).
H2- X-Content-Type-Options
Sólo tiene un valor válido nosniff. Impide que Google Chrome e Internet Explorer intenten detectar el tipo de contenido de una respuesta distinta de la que el servidor declara.
X-Frame-Options
Protege a los visitantes de ataques del tipo Clickjacking.
Este es un código malintencionado podría cargar un iFrame malicioso en su su servidor y establecer el sitio legítimo como fuente, de esta manera, podría obligar al usuario a hacer clic en partes de la aplicación sin ser consciente de ello.
Content Security Policy
El encabezado CSP (Content Security Policy) permite definir una lista blanca de fuentes de contenido aprobadas para su sitio. Al restringir los activos que un navegador puede cargar para su sitio, como JS y CSS, CSP puede actuar como una contramedida efectiva para los ataques XSS.
HTTP Public-Key-Pins
HTTP Public Key Pinning (HPKP) es un mecanismo de seguridad que permite a los sitios web HTTPS desconfiar en la identidad por parte de usuarios malintencionados que utilizan certificados emitidos por CAs que no son de confianza o fraudulentas.
X-Permitted-Cross-Domain-Policies
Un archivo de política entre dominios es un documento XML que otorga a un cliente web, como Adobe Flash Player o Adobe Acrobat (aunque no necesariamente se limita a estos), permiso para manejar datos a través de dominios.
Cuando los clientes solicitan contenido alojado en un dominio de origen particular y ese contenido realiza solicitudes dirigidas a un dominio diferente al suyo, el dominio remoto debe alojar un archivo de política de dominio cruzado que otorgue acceso al dominio de origen, permitiendo que el cliente continúe la transacción.
Normalmente, una meta política se declara en el archivo de política maestra.
Aquellos que no pueden escribir en el directorio raíz, también pueden declarar una meta política utilizando el encabezado de respuesta HTTP X-Permitted-Cross-Domain-Policies.
Referrer-Policy
El encabezado HTTP de la Política de referencia regula qué información de referencia, enviada en el encabezado Referer, debe incluirse con las solicitudes realizadas.
Expect-CT
Un servidor utiliza el encabezado Expect-CT para indicar que los navegadores deben evaluar las conexiones al host que emite el encabezado para el cumplimiento de la transparencia del certificado.
Feature-Policy
El encabezado Feature-Policy permite a los desarrolladores habilitar y deshabilitar selectivamente el uso de varias funciones del navegador y API.
¿Cómo deberia agregar las cabeceras de seguridad en .htacccess de mi wordpress?
El código que debemos implementar para la seguridad de nuestro sitio web en wordpress es:
# Security Headers
<IfModule mod_headers.c>
Header set X-XSS-Protection “1; mode=block”
Header set X-Frame-Options “SAMEORIGIN”
Header set X-Content-Type-Options “nosniff”
Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains”
header always set Expect-CT “max-age=604800”
# Header set Content-Security-Policy …
Header always set Content-Security-Policy “upgrade-insecure-requests”
Header set Referrer-Policy “same-origin”
Header set Permissions-Policy “accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()”
</IfModule>
Conclusión, Con los cambios que hacemos en el .htaccess bajo los parametros que agregamos vamos incorporar algunas configuraciones que nos ayuden a mejorar la seguridad de nuestro sitio web en wordpress.