14 Pasos para Proteger WordPress: Seguridad anti-hackers

09, agosto 2017

1. No utilices el usuario admin para acceder  a WordPress

Otra de las decisiones que tenemos que tomar durante la instalación de WordPress es el nombre del primer usuario para acceder a la administración de nuestra web, usuario que por defecto tendrá permisos totales de gestión de la misma.

Durante años WordPress ha ofrecido un nombre de usuario por defecto que, por supuesto, no debes utilizar. 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 adminAdminroot, etc., ya que son los primeros que comprobará un hacker que quiera tomar posesión de tu web.

2. Utiliza una contraseña fuerte

Sé que es difícil de conseguir que me hagas caso con este truco tan básico, pero es fundamental que seas consciente de que cuanto más fácil de recordar (para ti) sea una contraseña, también será más fácil que los sistemas automáticos de acceso por fuerza bruta de los atacantes la consigan.

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.

Actualmente es innecesario utilizar contraseñas fáciles, pues todos los navegadores ofrecen la posibilidad de recordarlas por ti en tu ordenador. Así que usa siempre contraseñas seguras, que contengan letras en minúsculas, mayúsculas, números y caracteres especiales.

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:

3. Usa siempre la última versión de WordPress

Si hay algo peligroso es trabajar en red con software obsoleto o no suficientemente actualizado. Los hackers suelen atacar principalmente sitios con versiones antiguas, no actualizadas, pues suelen ser más vulnerables al no incorporar la suficiente protección a tipos de ataque conocidos.

Afortunadamente, WordPress ofrece un sistema de actualizaciones automáticas, tanto para el mismo núcleo de WordPress como para plugins y temas.

Por defecto, no deberás preocuparte de las actualizaciones de mantenimiento y seguridad de WordPress, pues las hace sin tu intervención. Simplemente te avisará cuando se haya actualizado. Pero sí deberás realizar, aunque sea con un simple clic, las actualizaciones a las versiones denominadas “mayores”.

Por ejemplo, no hace falta tu intervención para actualizar de la versión 4.3.1 a la 4.3.2, WordPress las actualiza por ti. Pero sí desde la 4.3.x a la 4.4, aunque el proceso sea tan rápido y tan sencillo como pulsar un botón.

4. Actualiza los plugins instalados

WordPress es seguro, y es normal que así sea porque hay una gran comunidad que se ocupa de su mantenimiento, desarrollo y crecimiento, pero no pasa lo mismo con los plugins.

Por muy utilizado que sea un plugin, muchas veces detrás hay un único programador que, por razones obvias, no dispone de los recursos ni el tiempo necesarios para tener siempre su plugin al día.

Es por ese motivo que 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.

5. Actualiza el tema activo

Igualmente importante es usar siempre una versión actualizada 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.

Si usas un tema del directorio oficial, de nuevo, WordPress te avisará de las actualizaciones. Y si utilizas un plugin que hayas adquirido en otro sitio deberás estar pendiente de las noticias de su creador para actualizarlo cuando haya novedades.

6. No utilices plugins o temas obsoletos

Una de las más importantes fuentes de vulnerabilidad son los plugins y temas obsoletos o abandonados por sus desarrolladores. 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.

7. Borra los plugins y temas que no utilices

En línea con la acción anterior, es un peligro tener instalados plugins y temas inactivos, por la sencilla razón de que les prestaremos menos atención al no estar activos. No solo ocupan espacio en tu alojamiento sino que suponen una vía de entrada a posibles vulnerabilidades en tu web.

El único tema activo que deberías dejar instalado es el último tema por defecto de WordPress disponible (ahora mismo Twenty Fifteen), que supone una regla de protección adicional para tu web, ya que si WordPress detecta un problema en tu tema activo y no puede cargarlo intentará activar automáticamente el tema por defecto si lo encuentra instalado.

 

8. Protege el archivo de configuración de WordPress

El archivo de configuración de WordPress, el fichero 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:

  1. Moverlo a una carpeta superior, de manera que si está situado en la ruta …/public_html/midominio.es/ lo muevas a la carpeta …/public_html/.
  2. Protegerlo contra escritura cambiando los permisos a 444.
  3. Añade las siguientes reglas al fichero de Apache .htaccess para evitar accesos no deseados:
    <Files wp-config.php>
    order allow,deny
    deny from all
    </Files>

9. Protege la carpeta de archivos subidos

La carpeta uploads, situada en la ruta tusitio.es/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 fichero oculto de configuración de Apache .htaccess, situado en la carpeta donde instalaste WordPress:

<Files ~ ".*\..*">
	Order Allow,Deny
	Deny from all
</Files>
<FilesMatch "\.(jpg|jpeg|jpe|gif|png|bmp|tif|tiff|doc|pdf|rtf|xls|numbers|odt|pages|key|zip|rar)$">
	Order Deny,Allow
	Allow from all
</FilesMatch>

10. Instala un plugin de seguridad

Muchas de las medidas de protección que podemos aplicar a nuestra instalación de WordPress vienen incluidas en plugins especializados en asegurar WordPress.

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.

En nuestro caso utilizamos la versión gratuita de:

11. 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.

       

12. 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 fichero del servidor Apache que aplica reglas a cualquier aplicación instalada en tu alojamiento, en nuestro caso WordPress, pudiendo aplicar medidas de 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>



El archivo .htaccess en algunos CPANEL, puede no estar disponible, en nuestro caso tuvimos que editar los archivos vía FTP, 
todos los proveedores de hosting te proveen una cuenta ftp para poder subir/descargar archivos a tu servidor de alojamiento.

13. Protégete del spam

Una de las tareas habituales de cualquier administrador de un gestor de contenidos, como WordPress, es controlar el spam en los comentarios. Primero, porque es fuente de distracciones y enlaces no deseados en los formularios de comentarios. Y segundo, porque algunos hackers utilizan estos formularios para inyectar código que podría comprometer la seguridad de tu instalación de WordPress.

Para ello podemos, y debemos, aplicar diferentes estrategias:

Y, por supuesto, y sin necesidad de instalar nada, aplicar reglas de control de spam desde los Ajustes -> Comentarios de tu instalación de WordPress:

  • Aprobando manualmente todos los comentarios.
  • Añadiendo reglas para marcar como spam automáticamente comentarios no deseados.

14. Comprueba los cambios en los archivos de tu instalación de WordPress

Debes tener presente que la seguridad debe ser una preocupación permanente y activa. Pero, afortunadamente, WordPress nos ayuda a automatizar muchas de estas tareas y de manera totalmente gratuita casi siempre.

Y un modo estupendo de vigilar nuestra instalación de WordPress es utilizando plugins como iThemes Security o WordFence, vistos anteriormente. Estos plugins vigilarán por nosotros la integridad y posibles cambios de los archivos de nuestra instalación de WordPress, tratando de evitar modificaciones y, cuando no sea posible, avisándonos de estos cambios para que podamos revertirlos y así permanecer seguros.





 


Sección de comentarios: