Javier Jiménez García in programacion web, Desarrolladores, Informática y Tecnología Técnico Informático y Desarrollador de Aplicaciones Web • Oasis Park Fuerteventura Jun 11, 2017 · 1 min read · +100

Cabeceras HTTP para asegurar tu WordPress

Aumentar la seguridad de nuestro WordPress

Cabeceras HTTP para asegurar tu WordPressEstas cabeceras HTTP tienen como objetivo blindar a nuestra web/blog de ciertos ataques que se realizan a diario por todo el mundo.Según un estudio reciente (https://www.1and1.es/digitalguide/hosting/cms/cms-en-comparativa-los-gestores-de-contenido-mas-usados/), en la actualidad hay unos 18 millones de sitios que utilizan WordPress, y los usuarios maliciosos lo saben. Para proteger nuestro WordPress tenemos fantásticos plugins de seguridad, entre los que destacan Wordfence y All In One WP Security & Firewall, indispensables para protegernos, pero el motivo de este artículo es proteger una parte muy importante y que estos plugins no solucionan por medio de cabeceras de seguridad HTTP.

Escanear nuestra web

Para hacer un escaneo de nuestra web y comprobar si tenemos o no estas cabeceras de seguridad visitaremos esta web: https://securityheaders.io/ 

Las cabeceras HTTP que analiza son:

- X-Frame-Options: Nos protege contra ataques clickjacking y prevenir que la página pueda ser abierta en un iframe.

- X-Content-Type-Options: Evita que se carguen archivos .js o .css con un MIME-Type diferente.

- X-XSS-Protection: Evita los ataques XSS.

- Strict-Transport-Security: Para comunicar al servidor que sólo reciba comunicaciones a través de HTTPS.

- Referrer-Policy: Nos ayudan a reducir el rastreo de las páginas web.

- Content-Security-Policy: Para evitar la inyección de código malicioso en nuestra web.

- Public-Key-Pins: Para evitar la suplantación de certificados SSL.

Podéis encontrar más información sobre estas cabeceras en Desarrollowp.

¿Y cómo implementamos toda esta seguridad?

En WordPress existen plugins para ayudarnos, pero la configuración tendremos que hacerla manualmente, por lo que aconsejo implementarlas en el archivo .htaccess de la raíz de nuestra web, añadiendo las siguientes líneas:


<IfModule mod_headers.c>
    Header always append X-Frame-Options SAMEORIGIN
    Header set X-Content-Type-Options nosniff
    Header set X-XSS-Protection "1; mode=block"
    Header set Strict-Transport-Security "max-age=10886400; includeSubDomains; preload"
    Header set Referrer-Policy: no-referrer-when-downgrade
    #Header set Content-Security-Policy "default-src 'self'" (Esta dependerá de la configuración de cada web, mejor leer este artículo: https://scotthelme.co.uk/content-security-policy-an-introduction/  )
</IfModule>


Y para la implementación de Public-Key-Pins hay que seguir el siguiente tutorial: https://scotthelme.co.uk/hpkp-http-public-key-pinning/

En próximos artículos seguiremos con la seguridad de nuestra web, espero que le sirva.

Saludos!!

Javier Jiménez - https://javierjg.es