Cuando piensas a qué deberías dedicarte si quieres administrar exitosamente tu sitio WordPress, seguramente se te ocurran cosas como el diseño, desarrollo de contenidos y trabajo de posicionamiento SEO. Pero hay otra tarea que deberías considerar como una de las prioritarias y más importantes: la seguridad en WordPress.
En los últimos años han crecido de manera importante el número de ataques a sitios de WordPress. Una de las causas de esto es la gran cantidad de productos que se ofrecen. Al ser una plataforma de código abierto, cualquiera puede desarrollar componentes, incluyendo por supuesto algunos maliciosos. La continua instalación de temas, plugins y otros es una puerta abierta a las infecciones.
Si ya has sufrido algún tipo de ataque sabes lo importante que pueden ser los daños a tu sitio, si aún no lo has experimentado, no querrás saberlo. Lo cierto es que toda medida que podamos tomar para reforzar nuestra seguridad, nunca será en vano. Debemos velar y trabajar por la seguridad de nuestro sitio de manera constante y actualizándonos frente a las nuevas estrategias de ataque que van surgiendo.
En este tutorial voy a contarte acerca de las principales medidas que podemos tomar para evitar pasar por esa situación. También otras acciones que nos ayudarán a disminuir el impacto de un ataque en caso de sufrirlo. Voy a sugerirte algunas herramientas que se orientan a la detección de flancos débiles en tu sitio y cómo reforzarlos.
Para estar a salvo hay que estar informados, así que lee cuidadosamente este material y otros que puedas encontrar para saber mejor qué hacer.
Medidas para mejorar la seguridad en WordPress
Vamos a empezar viendo algunas medidas generales que nos servirán como base para tener un sitio seguro y a salvo. Luego trabajaremos específicamente sobre ellas para hacerlo aún más resistente a posibles ataques.
- Hosting para WordPress: La primera barrera de seguridad para tu web se encuentra en tu servicio de alojamiento. Como he hablado en otros artículos y tutoriales, hay una gran oferta de planes de hosting, tanto en cuanto a costos como a calidad. Uno de los factores involucrados es la seguridad justamente. Mientras hay servidores más seguros, que realizan copias de seguridad frecuentes, utilizan técnicas de encriptamiento y demás medidas, hay otros servicios que simplemente no cuentan con ellas. Como te he dicho ya en otras instancias, te sugiero que pruebes con WebEmpresa. También en cuanto a seguridad, sus productos son de gran calidad, implementando muchas de las medidas que acabo de mencionar.
- Temas o Plantillas WordPress: Un segundo paso está en la elección del tema para tu sitio. Hay algunos de calidad, que incluyen en sus prestaciones medidas de seguridad. Otros simplemente puede que no las tengan, con lo cual te pierdes de otro tipo de protección adicional. Mis sugerencias son que explores las opciones de StudioPress y ElegantThemes, proveedores que definitivamente te recomiendo.
- Actualizaciones de WordPress: Hay una acción muy sencilla que puede reforzar de manera sustancial nuestro sitio y es mantener actualizados todos nuestros componentes, como son el tema, los plugins y la propia versión de WordPress que estemos utilizando. Cada actualización que se lanza al mercado incorpora, entre otras cosas, mejoras en las medidas de seguridad teniendo en cuenta nuevas modalidades y estrategias de ataques. Por tanto asegúrate de estar utilizando siempre la última versión disponible para tus componentes.
- Contraseñas: Otra medida muy simple y también efectiva es utilizar inteligentemente tus contraseñas. Sabes que no todas las contraseñas presenta un mismo grado de seguridad, así que elige una robusta y no olvides ir cambiándola periódicamente. Puedo recomendarte la siguiente herramienta que te ayudará en este aspecto: http://www.clavesegura.org/. Hablaremos un poco más acerca de las contraseñas más adelante en esta guía.
- Copias de seguridad: Más allá de todas las medidas que tomemos, aún es posible que suframos un ataque y se causen daños en nuestro sitio. En este punto hay algunas acciones que nos pueden ayudar a mitigar las consecuencias, una de ellas es haber realizado copias de seguridad. Te recomiendo que cuentes con respaldos completos, tanto de archivos como de la base de datos de tu sitio y que éstas se realicen en forma periódica. Hay diferentes formas de hacer esto, puedes utilizar un plugin o también algunos planes de alojamiento lo harán por ti. Más adelante en este tutorial veremos cómo hacerlas y utilizarlas en caso de ser necesarias.
Plugins para mejorar la seguridad en WordPress
Hay una gran variedad de plugins que están orientados a fortalecer y proteger tu sitio WordPress. Voy a comentarte algunos y otros los trataremos con mayor profundidad:
- iThemes Security: ofrece más de 30 medidas diferentes para reforzar tu web. No sólo cubre los flancos débiles sino también detiene los ataques automatizados y refuerza las credenciales de los usuarios. Incluye prestaciones como un registro de todas las acciones tomadas en el sitio, para poder rastrear posibles cambios indeseados y quién los ha realizado. También analiza en busca de malware, fija fecha de vencimiento a las contraseñas, muestra lista de tareas a realizar y más. Cuenta con un plan gratuito y uno pago con más prestaciones.
- Wordfence Security: para comenzar realiza un análisis de infección en el sitio, desde el servidor, comparando los archivos de la base de datos, temas y plugins con originales en busca de ingredientes sospechosos. Incluye soporte para los plugins más populares, un servicio de autentificación reforzado, un firewall, bloqueo de redes maliciosas, análisis de contraseñas y mucho más. El servicio es completamente gratuito aunque se ofrece un servicio de soporte Premium.
- Akismet: está orientado al análisis de los comentarios recibidos en tu blog, una de las principales fuentes de ataques. Cada vez que alguien deja un comentario en una de tus publicaciones, Akismet lo analiza. Durante éste se compara con formatos en su base de datos, buscando coincidencias con tipo SPAM. También muestra las URLs del comentario, revelando enlaces ocultos o rotos y se bloquean los comentarios que ocupan una gran cantidad de espacio para no saturar la web.
Security Ninja
Para comenzar a conocerlo, el Security Ninja nos ofrece dos ventajas principales:
- Permite realizar más de 35 tipos de tests diferentes para poner a prueba nuestra seguridad. Esto nos ayuda a detectar nuestros puntos débiles para trabajar en ellos antes de sufrir ataques.
- Incluye sugerencias y herramientas para reforzar los puntos débiles detectados en las pruebas, ayudándonos a aplicarlas.
El funcionamiento del plugin
Veamos ahora el Security Ninja en acción. Primero debemos instalarlo, para lo cual será necesario comprarlo en la página de CodeCanyon. Su precio es de $11. Luego de descargarlo vamos, desde nuestro Escritorio de WordPress, al menú “Plugins” y “Añadir nuevo”. Seleccionando la ruta de su ubicación en nuestro ordenador comenzará la instalación. Al finalizarla, activamos el plugin.
Hecho esto, en el menú “Herramientas” veremos la opción del Security Ninja, a través de la cual accedemos a su página de configuración. Una de las primeras cosas que encontraremos es el botón para correr las pruebas. Al hacerlo veremos un listado de todos sus ítems y dos posibles resultados: un cuadro verde de OK para los que estén bien y otro rojo para los que necesiten ser reforzados.
Para mejorar los apartados indicados, tenemos otro botón en el listado que es el de “Detalles, Consejos & Ayuda”. Pulsando en ellos accedemos a la información ofrecida. Luego de realizar las acciones podemos volver a correr las pruebas y verificar si ahora tenemos el indicador de OK.
Otras prestaciones
Además de las pruebas y sus resultados, el plugin nos ofrece otras posibilidades para trabajar en la seguridad de nuestro sitio:
- Análisis de los archivos del core de WordPress: similar a las otras pruebas, realiza un estudio que nos devuelve información y sugerencias de acciones a tomar para reforzar la seguridad desde este lugar.
- Configurar los análisis: tenemos la opción de realizar las pruebas manualmente, en el momento que nosotros queramos, o configurarlas para que se lleven a cabo automáticamente. Podemos seleccionar qué habilitaremos, la frecuencia y momento en que se realizarán. Yo te recomiendo hacerlas diariamente. Al concluir las pruebas también podemos configurar cómo queremos ser notificados de los resultados, por ejemplo con un correo electrónico.
- Registro de los eventos ocurridos en nuestro sitio: es una cronología de todo lo que va sucediendo en el blog, las acciones realizadas, el usuario que las hizo, la fecha y la hora en que ocurrieron, así como otra información de lo que se realizó que puede ser de utilidad para detectar algo sospechoso.
Sucuri
Sucuri es otro servicio que te recomiendo fuertemente, ya que es realmente completo y puede utilizarse tanto antes como también después de sufrir un ataque. Sus prestaciones principales son:
Monitoreo
El servicio de Sucuri está permanentemente monitoreando, analizando, buscando en nuestra web, cualquier contenido o código malicioso. Frente a un hallazgo de algo sospechoso, el servicio nos alertará de ello y podremos tomar distintas acciones preventivas. El monitoreo se realiza en dos niveles distintos: en forma remota y a nivel de servidor.
Algunas de las infecciones que el servicio busca son: códigos JavaScript sospechoso, XSS, iFrames, intentos de Phishing, redireccionamientos maliciosos, anomalías de código, descargas no solicitadas, SPAM de blackhat SEO, etc.
Alerta
Una vez que el monitoreo encuentra algo sospechoso, entra en funcionamiento la función de alerta. Esta se nos hace llegar de manera inmediata para no perder tiempo en las acciones a tomar. Ellas incluyen la información necesaria acerca de lo detectado para que podamos decidir qué haremos al respecto. Los mecanismos para hacernos llegar las alertas son varios y personalizables: correo electrónico, Twitter, SMS, Jabber – Chat, Feed RSS.
Eliminación
El servicio de Sucuri también permite eliminar de nuestra web los componentes malignos que sean encontrados, de manera que no quede rastro de ellos y todo continúe funcionando como nosotros queremos. Los mecanismos de eliminación de amenazas son tanto automáticos como manuales. Sucuri cuenta con un equipo de analistas que realizan los retoques necesarios manualmente a la limpieza comenzada en forma automática.
Protección
Se implementan diversas medidas de seguridad para prevenir que los ataques nos alcancen y sean bloqueados antes de que lleguen a nuestra web. Cuenta con un servicio de Firewall para la nube por un costo muy accesible que aplica filtros varios: visitantes, software fuera de fecha, ataques DDoS y hasta acelera los tiempos de carga de nuestro sitio. Por supuesto es compatible con la tecnología de WordPress.
Respaldos
Por si todo lo anterior fuera poco, Sucuri también incluye un servicio de respaldos. Así que si todo lo anterior falla, hay una infección que no puede eliminarse o un ataque provoca pérdidas en nuestro sitio, podremos restaurarlo a partir de una copia de seguridad. Mediante nuestras credenciales FTP / SFTP, se lleva todo nuestro contenido en forma remota a la nube, por lo que estará disponible en cualquier momento en caso de un evento catastrófico.
Como puede verse el servicio es muy completo y cubre una gran variedad de aspectos, así que para estar tranquilos nada mejor que saber que estamos bien preparados.
Otras medidas para prevenir el hackeo
Pues si dije que nada es suficiente cuando hablamos de seguridad, veamos algunas otras medidas adicionales.
Añadir código en el archivo htaccess
Este archivo pertenece a la configuración de WordPress y se utiliza por parte del servidor para gestionar los demás archivos desde su directorio raíz. Por tanto, realizando pequeñas modificaciones podemos cambiar la forma en que se accede a ellos y evitar amenazas que actúan por esa vía.
Cambiar el usuario “admin”
Por defecto, cuando instalamos WordPress, el nombre de usuario que se le asigna al administrador es el de “admin”. Muchos sitios dejan ese nombre tal cual, por lo que los ataques que intentar adivinar el usuario y contraseña de la cuenta ya tienen uno de los dos campos. Así es que con algo tan sencillo como cambiar el nombre de usuario del administrador ya estamos evitando un tipo de ataque muy común.
Utilizar contraseñas fuertes
Acompañando el punto anterior, otra medida muy simple y efectiva a la vez, es la de utilizar contraseñas fuertes. Los tipos de ataque que acabo de mencionarte suelen utilizar robots que van probando combinaciones diferentes de caracteres como contraseña. Si nuestra contraseña es sencilla, corremos mayores riesgos de que pueda ser descubierta. Mi recomendación es que tus contraseñas contengan al menos 8 caracteres, con letras y números, mayúsculas y minúsculas, hasta pueden incluir caracteres especiales. Aquí tienes una herramienta que te ayudará a generar una contraseña segura.
Controlando el SPAM
El SPAM es un contenido indeseado que aparece en tu sitio, que no tiene como fin contribuir al enriquecimiento de tus contenidos sino, generalmente, trabajar como promoción de otros sitios. De forma más sencilla, el SPAM utiliza tu blog para promocionar otros. El SPAM es muy negativo por varias razones, entre las que podemos encontrar que es un contenido que no es de interés para tus lectores, ocupa recursos de tu sitio, es penalizado por motores de búsqueda como Google, es una fuente de potenciales amenazas, por mencionar algunos.
Definitivamente el SPAM es algo a evitar en tu sitio y hay dos medidas principales para controlarlo:
- Ya te hablé acerca del plugin Akismet, especialmente orientado a este fin.
- Puedes implementar un sistema de comentarios externo a tu sitio, de manera que no seas tú quien deba preocuparse por el SPAM, sino un tercero. Un ejemplo de estos servicios podría ser Disqus.
Cómo hacer copias de seguridad en WordPress
Realizar copias de seguridad en WordPress no es algo que podríamos calificar de recomendable, sino definitivamente como obligatorio. En los años que llevo utilizando WordPress he tenido infinidad de problemas como pérdida de datos, fallos en actualizaciones, haber sido víctima de hackeos… vamos, un buena lista que pude solventar sin problemas gracias a las copias de seguridad que realizo diariamente.
Sin duda uno de los mayores miedos que puedes tener si tienes un blog es perder tu contenido. Conozco perfectamente el trabajo, esfuerzo y tiempo que debes dedicarle a tu blog. Es un bien muy preciado como para perderlo de la noche a la mañana.
Frente a eso puedes estar tranquilo, ya que existen varios plugins WordPress que te aseguran la información en caso de pérdida. Así que aquí te voy a mostrar algunas de estas herramientas con las que puedes realizar respaldos, tanto gratuitas como de pago.
Plugins para realizar copias de seguridad en WordPress
- VaultPress, con un costo de $5 mensuales es el servicio de respaldo automático oficial de los desarrolladores de WordPress.
- WP-DBManager, es una herramienta gratuita y muy popular de respaldo de bases de datos. Permite optimizarlas, repararlas, respaldarlas, restablecerlas y más.
- Simple Backup, se promociona como un sistema que realiza los respaldos con sólo un clic. Tal como lo indica su nombre, algo muy sencillo y gratuito.
- Backup Buddy, ofrece diferentes planes que comienzan en los $80 anuales. Es una solución integrada para respaldar, restaurar y migrar. Corre con los servidores Amazon S3 o cuentas FTP. También permite el envío de respaldos por correo electrónico.
- WP-DB-Backup, realiza respaldos de la tabla de base de datos central y también algunas otras.
- Online Backup for WordPress, una potente herramienta que posibilita el respaldo del blog completo en tu correo electrónico, escritorio o el propio servidor del propietario que ofrece 50 Mb de espacio. Es gratuita.
- BackWPup Free, realiza un respaldo automático de tu sitio WordPress, incluyendo la base de datos y archivos. Todo sin costo alguno.
- XCloner, permite hacer una copia de seguridad completa y realizar la restauración posterior.
- myRepono, es un servicio online de pequeño costo para respaldos de archivos de sitios WordPress.
Existen otras muchas herramientas que cumplen esta función, aunque estas son las más destacadas.
En mis proyectos suelo realizar una copia de seguridad diaria (archivos y base de datos) en modo automático con el plugin BackWPup Free, además realizo semanalmente una backup completa desde el cPanel de WebEmpresa.
Qué hacer cuando WordPress ha sido infectado o hackeado
Como te decía anteriormente, toda medida que tomes para reforzar la seguridad de tu sitio vale la pena. Sin embargo, nada te hará 100% inmune y las posibilidades de que sufras un ataque siempre existirán. Vale la pena entonces estar preparado y tener entre tus recursos algunas medidas a tomar cuando lamentablemente lo anterior falló y has sido hackeado.
Ya vimos el uso de Sucuri, que ciertamente puede ayudarnos en esa situación y te recomiendo que lo utilices.
Además de eso te dejo aquí algunas medidas para tomar lo más pronto posible, ya que el tiempo apremia:
- Cambia tus contraseñas, cuantas más mejor. Piensa en la cantidad de ellas que debes utilizar y cómo pueden estar relacionadas unas con otras. ¡Cámbialas todas de ser posible!
- Será útil saber cuándo ocurrió la infección. Algunos servicios como el Google Webmaster Tools pueden ayudarte, además de incluir otras prestaciones.
- Utiliza una copia de respaldo que hayas realizado para restaurar tu sitio. Ya hemos visto cómo hacerlas y que algunos planes de alojamiento las harán por ti automáticamente. Antes de ello verifica que la infección no proviene de tu propio ordenador, de lo contrario volverás a estar en el mismo punto muy pronto.
- Algunos servicios pueden ayudarte a analizar tus copias de seguridad para asegurarte que no estén infectadas, ellos son:
Ahora te toca a ti, ¿qué medidas has implantado para mejorar la seguridad en WordPress? ¿qué te ha parecido esta guía?