Pasos para Proteger WordPress

Al ser el gestor de contenidos más utilizado (CMS) en el mundo es bastante común que recibas ataques y es una lucha constante contra elementos que quieren entrar en tu web.

Si tienes todas las opciones marcadas por defecto podrías tener algún problema de seguridad que te deje sin página web o que que recibas ataques de hackers, fuerza bruta, robots o que incluya código malicioso.

Los usuarios maliciosos están en constante innovación y se descubren fallos en plugins con frecuencia; sin embargo puedes hacer muchas cosas para minimizar el riesgo.

Reconocerlo y saberlo es el primer paso para mejorar la seguridad de WordPress.

Aquí estamos nosotros para ayudarte, pero ten en cuenta que la seguridad requiere un trabajo constante y no puedes bajar la guardia.

 

¿WordPress es inseguro?

WordPress no es menos seguro que cualquier otro gestor de contenidos.

Dependiendo de cómo mimemos y usemos el WordPress, lo mantendremos más o menos alejado de los malos.

 

¿Á que se refiere a los problemas de seguridad?

  • Bots (programas automáticos) que buscan vulnerabilidades en tu web.
  • Crackers, personas con algunos conocimientos de los sistemas, buscando entrar también.
  • Ese compañero de trabajo al que le duele tu éxito, y ha averiguado en Google como usar WPScan o Exploits.
  • El diseñador poco profesional que te hizo la web, y esta resentido porque has contratado a otro mejor.

Y no te creas que por estar empezando, no recibes ataques. Te sorprenderías con la rapidez con la que tu blog comienza a recibir estas visitas no deseadas. Y de hecho, los blogs novatos son los más vulnerables.

 

¿Que ataques puedes recibir o para qué?

  • Ataques de fuerza bruta o de diccionario para averiguar tu contraseña.
  • Ataques de Psicología Social (el típico email de hemos detectado un problema con su cuenta, envíe usuario y contraseña, o la llamada averiguando detalles nuestros).
  • Aprovechamiento de vulnerabilidades XSS, MySQL exploits, o fallos en código php. Muy técnico. Un rollo. Pero quédate con la idea que la tecnología que usamos puede tener fallos, y hay que aplicarle parches para cerrar esos agujeros de seguridad.
  • Ataques DDoS, o de denegación de servicio. Esto es que recibes tantas peticiones, que te echan el servidor abajo.
  • Spam SEO: Llenan tus artículos de enlaces ocultos, para posicionar webs fraudulentas, y a ti te tocará estar en listas negras.

 

El eslabón más débil de la cadena somos nosotros

 

1. Cuidado con tu conexión a Internet

¿Cómo te conectas a internet? Es mejor que trabajes conectado por cable ethernet en lugar de wifi.

Si te conectas por wifi, comprueba que utilizas seguridad WPA-2 y que has cambiado la contraseña de acceso a la administración del router que viene por defecto. ¡Utiliza una contraseña segura!

Si estás usando WPS en tu conexión wifi, desactívalo, ya que teniéndolo activo es muy fácil que te roben la contraseña de tu conexión.

Evita conectarte a tu WordPress desde equipos externos poco fiables.

 

2. Wifi gratis: alto precio en seguridad

Desaconsejamos la conexión desde wifis abiertas o públicas, ya que no son seguras. En el caso de que sea imprescindible usarlas, comprueba que tienes tu equipo protegido con un antivirus y firewall actualizados.

El motivo de esto es que es muy sencillo para alguien, “sniffar” o extraer toda la información que circula por esa red, para después analizarla tranquilamente. Esta recomendación es sobre todo importante si el panel de admin de tu WordPress no usa https. Es un consejo básico para mejorar la seguridad.

Cuando se trata de wifis abiertas o públicas, es necesario tener mucho cuidado, porque la persona que creó la red puede configurar el "firewall"para reenviar el tráfico de datos. Este truco puede facilitar la obtención de contraseñas y datos de su navegación. Después de conseguir su información, el individuo que ofrecía falsas WiFi puede almacenar los datos para su uso posterior.

Cualquiera que conozca un poco acerca de las redes inalámbricas sabe que hay algunos tipos de seguridad que impiden la conexión intrusos de la red. El uso de protocolos de seguridad (WEP, WPA y WPA2), routers y puntos de acceso aseguran que las máquinas autenticados son parte de la red.

Pero incluso si el router que gestiona las conexiones tienen un "firewall" (que ayuda a prevenir problemas de ataques externos), no impide la conexión directa entre los participantes de los dispositivos de red. Básicamente, al router, todos los dispositivos conectados son amigos y no realiza ninguna acción si un PC tratar de ponerse en contacto con otra.

Cuando estés fuera de casa o de la oficina, siempre es preferible que te conectes desde la conexión 3G de tu teléfono móvil que usar una conexión wifi cuya seguridad desconoces.

 

3. ¿Proxy? No, gracias.

No navegues nunca a través de un proxy, y menos si se trata de un proxy gratuito. En internet hay muchos sitios donde aconsejan un proxy para navegar de forma anónima. No debes confundir anónimo con seguro.

Si navegas a través de un proxy todo tu tráfico pasa por un servidor de alguien a quien no conoces. Muchos de esos proxy se anuncian precisamente para espiar el tráfico que pasa por ellos y poder robar datos privados.

 

4. Tu ordenador y sistemas siempre seguros

Muchos usuarios maliciosos encuentran una puerta de entrada cuando los usuarios se conectan a la administración de WordPress desde un equipo hackeado. Cuando el usuario introduce las claves de acceso los atacantes capturan esos datos (keylogger ) y entonces ya no habrá medida de seguridad posible que evite un desastre.

Por lo tanto, es una parte imprescindible que le des vitaminas a tu ordenador, para protegerlo de virus, y malware.

Consejos aplicables a todos los sistemas (ordenadores o móviles):

  • No instales aplicaciones de procedencia sospechosa. Unos euros ahorrados por usar una app pirata te pueden costar caros. Ni instales apps gratuitas “extrañas” en tu equipo de trabajo”. No descargues de Softonic (curiosamente, la versión gratuita de avast te manda descargarla de softonic…).
  • Usa solo en general herramientas probadas y con buena reputación, que tengan reviews de bloggers independientes.
  • No abras adjuntos de correos electrónicos de desconocidos. Y de conocidos si no esperas nada, observalo con precaución.
  • Solo usa tus claves en webs que tu mismo hayas escrito la url.

 

Navegador actualizados 

Mantén actualizado también el sistema operativo y también tu navegador, puedes elegir el navegador que más te guste pero asegúrate de que estás utilizando la última versión

Antivirus y firewall

Debes contar con un buen antivirus y un firewall actualizados, ya que tener un antivirus con una base de datos de virus antigua es casi lo mismo que no tener ninguno.

Mantén activadas las opciones de firewall y análisis de seguridad por defecto del antivirus y ejecuta semanalmente una exploración completa de tu equipo.

 

Cuidando de tu WordPress

 

5. SSL para encriptar datos

Es muy aconsejable instalar un certificado SSL en tu web y acceder vía HTTPS porque así los datos viajarán encriptados por la red.

 

Cuando navegas con HTTPS toda la información se envía de forma cifrada al servidor, de modo que si hay un usuario conectado a la misma red que tú que esté intentando robar tus credenciales de acceso, solo verá una serie de caracteres sin ningún sentido.

Tienes más información al respecto en el artículo ¿Que es un certificado SSL?.

 

6. No utilices el usuario admin para acceder  a WordPress

Así que en el momento de elegir el nombre de tu primer usuario para acceder a WordPress no elijas aquellos nombres comunes para esta tarea, como admin, Admin, root, etc porque si un hacker quiere entrar en la administración de tu web lo primero que hará será probar a utilizar el usuario admin, root, etc.

Lo mejor es que crees un nuevo usuario con privilegios de administrador. Una vez hecho esto, cierra la sesión y vuelve a conectarte con el nuevo usuario que has creado y asegúrate de reasignar las entradas y páginas que estaban asignadas al usuario principal a otro usuario existente.

Con este cambio, un usuario malicioso no solo tendrá que saber la contraseña de un usuario administrador, sino también su nombre.

 

7. Utiliza una contraseña fuerte

WordPress, en sus últimas versiones, incorpora un generador de contraseñas seguras y te “sugiere” utilizarlas. Ésta será siempre la mejor opción. Puedes, no obstante, saltarte esa recomendación y poner una contraseña sencilla, e insegura, pero estarías cometiendo el principal y más importante error de seguridad de todos los posibles.

Una buena contraseña debe contener mayúsculas, minúsculas, números y caracteres especiales (como una coma, una arroba o un guión).

La longitud de la contraseña también es un factor importante a tener en cuenta. Lo recomendable es que tenga una longitud de 12 caracteres o mayor.

En caso de tener muchos usuarios registrados puedes incluso forzar el cambio de contraseñas para que sean todas seguras, incluida la de los administradores. Por ejemplo:

 

Al elegir una contraseña, evite:

  • Pequeños cambios a su nombre real, nombre de usuario, nombre de su empresa o el nombre de su sitio web.
  • Sólo utilizar una palabra del diccionario, en cualquier idioma.
  • Contraseñas cortas
  • contraseñas que tienen sólo letras o sólo números (una combinación de ambos es lo ideal).

 

Ejemplo de una instalación a través del Softaculous:

8. Limita los intentos de acceso

La mayoría de los actuales ataques contra sitios WordPress se realizan mediante intentos masivos de acceso a través de la pantalla de login (bruteforce), así que es imprescindible proteger el acceso interno a tu WordPress.

Para ello, podemos aplicar distintas medidas de seguridad:

 

Plugin para evitar intentos de acceso masivos

Instala algún plugin para evitar intentos de acceso masivos como Loginizer para que bloqueen este tipo de ataques.

Si hacer la instalación del wordpress a través del Softaculous, ya es apresentada la opción para instala.

 

Captcha

Añade un sistema de comprobación humana como reCaptcha, que evita accesos indeseados de máquinas automatizadas que intenten obtener acceso a tu sitio.

 

Inhabilitar el registro de usuarios

Inhabilitar el registro de usuarios, evitando de este modo que usuarios con malas intenciones aprovechen posibles vulnerabilidades para obtener permisos extra en tu instalación y la posibilidad de realizar cambios en la misma.

La solución es simple e inmediata, dentro del Escritorio (al que accedéis vía /wp-admin/), os dirigís a Ajustes, Generales y activáis o desactiváis el checkbox de: Cualquiera puede registrarse.

 

 

Pero si por algún motivo permites los registros de usuarios en tu WordPress debes protegerte contra los conocidos como sploggers, usuarios que se registran masivamente en webs para intentar acceder a su configuración, añadir comentarios spam o incluso inyectar malware.

Si lo que tenéis es problema con usuarios que se registran y en realidad son robots o personas spammers, puede utilizar el plugin WangGuard para detectar y eliminar esta amenaza.

 

9. No utilices el prefijo wp_ para la base de datos

Por defecto el prefijo ofrecido es wp_, de manera que tus tablas quedarán tal que wp_options, wp_comments, wp_posts, etc.

Esto hace que sea más fácil para los usuarios maliciosos planificar un ataque masivo al dirigirse al prefijo por defecto de las tablas de la base de datos.

Si ya lo tienes instalado, puedes cambiar el prefijo fácilmente con el plugin Change DB Prefix.

Recuerda hacer una copia de seguridad de la base de datos antes de realizar ningún cambio.

 

 

10. Activa la actualización automática en tu WordPress

Manteniendo esta opción activada, nos aseguraremos de que las actualizaciones de seguridad se instalarán tan pronto como estén disponibles.

Puedes configurar las actualizaciones automáticas  del núcleo de WordPress en el momento de la instalación a través del Softaculous o desde el archivo wp-config.php. Tan solo debes añadir las siguientes líneas para cada una de las configuraciones:

//Todas las actualizaciones del núcleo desactivadas
define( 'WP_AUTO_UPDATE_CORE', false );
//Todas las actualizaciones del núcleo activadas
define( 'WP_AUTO_UPDATE_CORE', true );
//Sólo actualizaciones menores del núcleo activadas
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

 

No utilices plugins o temas obsoletos

Revisa frecuentemente la página del programador de tu tema y plugins para comprobar si ha actualizado recientemente su producto y, en caso contrario,busca una alternativa que te ofrezca las mismas prestaciones.

Si utilizas temas y plugins del directorio oficial de WordPress encontrarás toda la información disponible, como la fecha de la última actualización y la compatibilidad con las últimas versiones de WordPress.

Además, el directorio oficial de WordPress retira automáticamente plugins y temas que no se hayan actualizado durante más de dos años, lo que supone una garantía adicional.

En caso de utilizar temas y plugins descargados de otros sitios deberás comprobarlo en su propia web e instalar manualmente cualquier actualización.

 

11. Actualiza los plugins instalados

La principal vía de entrada de ataques a una instalación WordPress es en su mayoría a través de plugins sin actualizar.

WordPress nos ofrece un sistema de aviso y actualizaciones automáticas de los plugins instalados, así que cuando veas que alguno necesita actualizarse no te lo pienses.

En caso de no utilizar plugins del directorio oficial es posible que WordPress no identifique automáticamente si hay actualizaciones disponibles. En ese caso deberás estar pendiente de la web del desarrollador.

 

12. Actualiza el tema activo

Puedes utilizar tanto temas gratuitos como temas de pago, pero asegúrate siempre de utilizar la última versión disponible del tema activo, pues los hackers saben que no se suelen cambiar muy a menudo, lo que les da tiempo para aprender de su código e inventarse modos de hacerte la vida más complicada e incluso meterte en problemas.

 

13. Borra los plugins y temas que no utilices

Utiliza solo los plugins que vayas a necesitar: no es una buena idea instalar plugins en grandes cantidades ya que cada uno podría ser una puerta de entrada para hackear tu WordPress y solo ocupan espacio en tu alojamiento .

Quédate solo con los plugins imprescindibles y si has instalado un plugin que ya no utilizas... ¡desinstálalo!.

 

14. Descarga plugins y temas de sitios seguros

También es importante que utilices plugins fiables. Lo ideal es que utilices el propio buscador de plugins que tienes en la administración de WordPress o que los descargues de la página oficial de plugins.

https://es.wordpress.org/plugins/

https://es.wordpress.org/themes/

Si se trata de un plugin de pago asegúrate de que lo descargas desde la página de sus desarrolladores.

Por supuesto, nunca descargues plugins y temas de las redes P2P como Torrent o eMule, un gestor de descargas o una página sospechosa tipo "super-plugins-depago-gratis", suelen estar todos infectados de virus y malware.

Fíjate en el número de descargas del plugin (cuantas más mejor) y en la última fecha de actualización (si es de hace 2 años sospecha).

Si quieres probar un plugin haz un clon de tu web y pruébalo en ese clon, nunca en la web real que tienes publicada.

 

15. Instala un plugin de seguridad

Este tipo de plugins te ayudarán a aumentar la seguridad de distintas formas. La mayoría de ellos contienen ajustes para evitar ataques de fuerza bruta, inyecciones de código y modificaciones de archivos de sistema, incluyendo sistemas de aviso para que estés informado de cualquier posible ataque en curso.

Los más recomendables son los siguientes:

 

Una opción interesante de Wordfence es la verificación de archivos básicos de WordPress para comprobar si han sido modificados.

Ten precaución a la hora de configurar este tipo de plugins, ya que podrías bloquear tu propio acceso con estas herramientas.

Antes de instalar algún plugin de este tipo, haz una copia de seguridad. Así podrás volver al estado anterior en caso de problemas.

Ten presente que instalar todos los plugins de seguridad que encuentres no va a hacer que tu WordPress sea más seguro y es posible que tenga comportamientos inesperados provocados por haber varios plugins modificando archivos claves para el funcionamiento de tu WordPress, como puede ser el archivo .htaccess. 

 

16. Realiza backups periódicos y automatizados

Es una buena idea que hagamos copias periódicas de nuestra web.

Tendrás que hacer las copias con más o menos frecuencia en función de la cantidad de información que vayas añadiendo.

Es importante realizar copias de seguridad antes de realizar acciones como la actualización de plugins o WordPress, la instalación de nuevos plugins, cambios en la base de datos, etc...

A veces se producen resultados no deseados y si la última copia es reciente no perderás trabajo previo.

Es importante que realicemos las copias de seguridad en un almacenamiento externo como Dropbox o cuentas FTP externas, o bien que nos descarguemos las copias que realizamos, ya que si alguien nos borra todos los datos de la web también perderemos la propia copia de seguridad.

Existen plugins para Wordpress que nos permitirán hacer esta tarea de forma automática como BackWPup, que te permite programar distintas tareas de copia de seguridad.

Para evitar problemas de espacio en tu cuenta de hosting elimina las copias de seguridad tras descargarlas.

  

17. Modifica la url de login de tu WordPress

En webs realizadas con WordPress el acceso a la administración se realiza por defecto en la url http://midominio.com/wp-admino http://midominio.com/wp-login.php

Los atacantes son conscientes de este acceso y tratan de explotar el acceso mediante lanzar ataques de fuerza bruta.

Modificando esta url de acceso a la administración evitarás esos intentos de acceso por fuerza bruta.

 

18. Protege el archivo wp-login.php

Si no permites registro y acceso de usuarios en el frontal del WordPress es recomendable que protejas el acceso al wp-login.php o permitas únicamente el acceso desde IPs autorizadas ( si te conectas con IPs fijas).

¡Ojo! Esto solo debes hacerlo si los visitantes de tu web no necesitan identificarse como usuario.

Por ejemplo, en una tienda online no deberás proteger el archivo wp-login.php.

 

19. Protege el archivo de configuración de WordPress

El archivo de configuración de WordPress, el archivo wp-config.php, contiene información muy sensible sobre tu servidor:

  • Nombre de la base de datos
  • Usuario de la base de datos
  • Contraseña de la base de datos
  • Prefijo de las tablas de la base de datos.

Por este motivo es vital protegerlo de miradas ajenas y, por supuesto, de modificaciones no deseadas.

Para ello puedes realizar las siguientes acciones:

 

Evitar que desde la administración de Wordpress se pueda modificar el código de archivos

Puedes añadir la siguiente línea al archivo wp-config.php

define(‘DISALLOW_FILE_EDIT’, true);

Puedes deshabilitar la instalación de temas y plantillas. 

Puedes añadir la siguiente línea al archivo wp-config.php

define(‘DISALLOW_FILE_MODS’,true)

Puedes protegerlo contra escritura 

Debe cambiar los permisos a 440.

Puedes evitar accesos no deseados

Puedes añadir la siguiente línea al archivo .htaccess

<Files wp-config.php>
order allow,deny
deny from all
</Files>

 

20. Protege el archivo .htaccess

Hemos visto varias acciones que podemos realizar desde el archivo de Apache .htaccess, pero por el mismo motivo es igualmente importante proteger este mismo archivo.

El archivo .htaccess es un archivo del servidor Apache que aplica reglas a cualquier aplicación instalada en tu alojamiento, en nuestro caso WordPress, pudiendo aplicar medidas de seguridad y seguridad, entre otras.

Para proteger también el archivo .htaccess de accesos no deseados puedes incluir las siguientes líneas en el mismo archivo:

<files .htaccess>
order allow,deny
deny from all
</files>

 

21. Protege la carpeta de wp-includes

Una segunda capa de protección se puede añadir en las partes donde las secuencias de comandos en general no deben ser accesibles por cualquier usuario. Una forma de hacer esto es usar mod_rewrite para bloquear los scripts en el archivo .htaccess.

# Block the include-only files.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
# BEGIN WordPress

 

Tenga en cuenta que esto no debería funcionar bien en las instalaciones de varios sitios, así como RewriteRule ^ wp-includes / [^ /] + \ php $ -. [F, L] impediría el archivo MS-files.php gestiona imágenes. Elimine esta línea permitirá la operación, dando un poco menos seguridad.

 

22. Protege la carpeta de archivos subidos

La carpeta uploads, situada en la ruta ../public_html/wp-content/uploads donde se suben las imágenes y documentos que adjuntas a tus publicaciones en WordPress, es la más susceptible de ataques.De modo que es importantísimo protegerla para evitar que se ejecuten desde la misma virus o scripts maliciosos.

WordPress no permite por defecto la subida de archivos ejecutables a esta carpeta pero hay técnicas que utilizan los hackers para saltarse esta regla. Así que debemos aplicar protección extra, definiendo expresamente qué extensiones de archivo se podrán subir a la misma.

Para ello, añadiremos las siguientes líneas de código al archivo oculto de configuración de Apache .htaccess:

<Files ~ ".*\..*">
	Order Allow,Deny
	Deny from all
</Files>
<FilesMatch "\.(jpg|jpeg|jpe|gif|png|bmp|tif|tiff)$">
	Order Deny,Allow
	Allow from all
</FilesMatch>

 

Para evitar que algunos códigos maliciosos se intenten esconder bajo nombres como xxxxxx.php.jpg, también se puede bloquear por estructura:

<FilesMatch "\.(php|php\.)(.+)(\w|\d)$"> 
      Order Allow,Deny 
      Deny from all 
</FilesMatch>

 

 

23. Utiliza permisos de archivos y carpetas seguros

Por defecto, WordPress aplica permisos de lectura y escritura a archivos y carpetas que, en ocasiones, pueden modificarse, bien automáticamente por algunos plugins, bien manualmente al subir tú mismo archivos desde las utilidades de cPanel o, incluso, mediante clientes FTP.

Los permisos por defecto que deben tener archivos y carpetas en WordPress son los siguientes:

  • Archivos: 644
  • Carpetas: 755

Si algún archivo o carpeta tiene más permisos sería una posible fuente de vulnerabilidades. Deberás cambiarlos a los permisos por defecto desde el administrador de archivos de cPanel o tu cliente FTP favorito.

 

 

24. Evita la vulnerabilidad pingback

Hay una vulnerabilidad concreta, denominada como vulnerabilidad pingback, que merece una mención especial porque, aunque de fácil solución, dejaría inactivas funciones importantes de WordPress como la gestión remota, el uso de aplicaciones móviles o incluso el sistema de pingbacks y trackbacks.

Está relacionada con el protocolo XML-RPC, que es el que permite que WordPress se conecte, por ejemplo, con la aplicación WordPress para iOS o Android, así como editores offline y algunos sistemas de sindicación de contenidos, por lo que en principio inactivar este protocolo no parece recomendable.

Lo malo es que es una vía abierta de posibles inyecciones de código por parte de atacantes.

No obstante, si tuvieses claro que nunca vas a utilizar este tipo de aplicaciones puedes evitarlo de tres modos:

Borrar el archivo de la instalación de WordPress denominado xml-rpc.php

El único problema es que cuando actualices WordPress se volverá a crear

Añadir estas líneas al ya conocido archivo .htaccess

# proteger xmlrpc
<Files xmlrpc.php>
	Order Deny,Allow
	Deny from all
</Files>

Añadir estas líneas al archivo functions.php

add_filter('xmlrpc_enabled', '__return_false');

  

25. Agrega una cabecera X-Content-Type , X-Frame-Options y X-XSS-Protection

La mejor forma de añadir esta cabecera sería añadiendo unas líneas de código al archivos functions.php del tema de WordPress.

Este archivo se encuentra en la ruta wp-content/themes/NOMBRE_TEMA, en donde NOMBRE_TEMA es el nombre del tema que tenemos activado. En primer lugar, haremos una copia de seguridad del archivo functions.php. Después lo editamos y añadimos el siguiente código al final del mismo:

 

X-Content-Type

Con esta cabecera evitarás que haya usuarios que intenten suplantar archivos css o js por ejecutables.

 

add_action( 'send_headers', 'add_header_xcontenttype' );
function add_header_xcontenttype() {
header( 'X-Content-Type-Options: nosniff' );
}

 

Existen otras alternativas como hacer usando el fichero .htaccess, añadiendo el siguiente código:

Header set X-Content-Type-Options nosniff

 

X-Frame-Options

Añadiendo esta cabecera evitaremos que nuestra web cargue en un frame o iframe (marcos).

Con ello, evitaremos también ataques de tipo clickjacking y no podrán suplantar nuestra web cargándola desde una ubicación externa.

Si permites esto, podría estar tu contenido en otro dominio y tener problemas con Google si lo considera contenido duplicado.

add_action( 'send_headers', 'add_header_xframeoptions' );
function add_header_xframeoptions() {
header( 'X-Frame-Options: SAMEORIGIN' );
}

 

Estos son los valores que acepta:

La página no podrá ser mostrada en un frame/iframe

DENY

 

Solo podrá ser mostrada en un frame/iframe desde su propio dominio.

SAMEORIGIN

 

Solo podrá ser mostrada en un frame/iframe desde las url’s indicadas.

ALLOW-FROM uri

 

Existen otras alternativas como hacer usando el fichero .htaccess, añadiendo el siguiente código:

Header always append X-Frame-Options SAMEORIGIN

 

X-XSS-Protection

Si queremos añadir otras cabeceras de seguridad a partir de cambios en el archivo functions.php, podemos hacerlo usando una única función, en lugar de añadir cada cabecera en una función distinta, aunque el funcionamiento sea similar. En el siguiente código de ejemplo, que habría que colocar al final del archivo functions.php, se añaden las cabeceras X-Content-Type-Options, X-Frame-Options y X-XSS-Protection:

add_action( 'send_headers', 'add_header_seguridad' );
function add_header_seguridad() {
header( 'X-Content-Type-Options: nosniff' );
header( 'X-Frame-Options: SAMEORIGIN' );
header( 'X-XSS-Protection: 1;mode=block' );
}

 

26. Evita la vulnerabilidad del formularios

Es habitual que se utilicen los formularios de la web para hacer SPAM usando bots. Para prevenirlo debes proteger la creación de comentarios con un Captcha .

  

27. Archivos que comprometen la seguridad de WordPress

Existen diversos archivos que pueden comprometer la seguridad de WordPress. Por un lado, hay algunos archivos que se añaden con la instalación de WordPress, que son meramente informativos, pero cuya información puede ser útil para los atacantes. 

En la raíz de la web solo deberíamos tener archivos con extensión php y el archivo .htaccess. El resto de archivos, con extensiones txt o html deberían ser eliminados, a menos que los hayamos añadido nosotros para algún cometido en particular, o se hayan instalado con algún plugin (normalmente ningún plugin debería dejar archivos en la raíz, pero puede que haya excepciones).

Los archivos que deberíamos eliminar son los siguientes (puede que no lo tengas todos):

  • license.txt
  • licencia.txt
  • readme.html

Si, por seguridad, no los quieres eliminar, puedes crear un directorio nuevo donde mover estos archivos o también puedes renombrarlos.

También se ha de tener en cuenta que cada vez que actualicemos WordPress a una nueva versión es posible que estos archivos eliminados se vuelvan a añadir, por lo que deberemos estar atentos, una vez finalizada la actualización, si es necesario volver a borrar los ficheros sobrantes.

 

28. Ocultar la versión de WordPress

Cada versión de WordPress tiene una serie de vulnerabilidades conocidas que los usuarios maliciosos intentan aprovechar. Ocultar la versión de WordPress que estás utilizando hará que no sea tan fácil identificar esas vulnerabilidades.

La encargada de mostrar la versión de tu WordPress en tu web es la función wp_head(), que incluye una llamada a la función wp_generator().

Para ocultar esa información, tienes que incluir la siguiente línea en el archivo functions.php de tu WordPress:

remove_action('wp_head', 'wp_generator');

 

29. Audita tu WordPress

Utiliza herramientas para verificar distintos apartados importantes de la seguridad de tu WordPress.

Una forma gratuita de análisis de seguridad para WordPress es wpdoctor.es.

Con wpdoctor podrás comprobar de forma automática si estás al día en muchos de los puntos tratados en esta guía:

  • Te avisa si no estás utilizando la última versión de WordPress y de sus plugins más importantes.
  • Comprueba si el acceso al administrador está protegido contra ataques de fuerza bruta.
  • Te muestra la información que se puede recolectar de tu instalación y te indica cómo ocultarla.

Puedes comprobar la salud de tu WordPress directamente en Google Console (antes Webmaster Tools):

https://www.google.com/webmasters/tools/security-issues