Cuando termines este artículo, te garantizo que tu sitio de WordPress será inmune a hackeos y exploits.
Espera, no puedo garantizar eso. Deja que lo diga de otra forma: quedarás equipado con el conocimiento necesario para mantener tu web relativamente segura.
No existe la seguridad infalible. Puedes tomar medidas concretas para reducir enormemente la probabilidad de que tu web sea víctima de un hackeo o un ataque.
Anteriormente escribí un pequeño artículo sobre cómo se comprometen las webs de WordPress y por qué deberías invertir en buenas prácticas de seguridad. Puedes leerlo aquí o te daré un pequeño resumen de las vulnerabilidades de WordPress antes de comentar las medidas concretas para reforzar tu web de WordPress.
WordPress en sí mismo tiene pocas vulnerabilidades y, cuando se descubren, se parchean rápidamente con una actualización. Pero cuando tienes en cuenta las prácticas de seguridad de tu proveedor de hosting (o la falta de ellas) y el software de terceros que normalmente se ejecuta en las webs de WordPress, es más probable que tu web se convierta en víctima de un hackeo por culpa de los errores de otros.
El 51 % de todas las webs hackeadas en 2024 fueron comprometidas por los temas o plugins que ejecutaban. El 41 % fueron explotadas porque eligieron el proveedor de hosting equivocado y, como resultado, sus sitios fueron hackeados.
Gestionar un sitio de WordPress básico y mantenerlo seguro no es demasiado difícil. Pero cuando añades una mezcla de software de terceros y tienes que mantener tu dominio con el host adecuado, se vuelve un poco más complicado.
He leído muchos artículos de blog de emprendedores web exitosos que eran esencialmente hombres y mujeres de negocios que llevaron su empresa a internet. Y cuando sus proyectos online tuvieron éxito, se convirtieron en objetivos. Aunque no es necesario que tu web tenga éxito o siquiera algo de tráfico para convertirse en un objetivo.
Las personas que hackean webs usan herramientas automatizadas para rastrear cientos y miles de webs en busca de vulnerabilidades. Tu web puede ser una de esas cientos. Así que, aunque tu web no sea popular, aún podrías ser un objetivo.
Ahora bien, muchos emprendedores web conocen los estándares y medidas de seguridad necesarios para mantener seguras sus webs y negocios online. Pero lo genial de WordPress y de la web hoy en día es que ya no necesitas ser un experto técnico ni un desarrollador web para crear una web. Y crear una web no es nada difícil, es muy fácil, e incluso escribí un artículo al respecto en Colorlib (para quienes buscan un poco de ayuda al crear su primera web de WordPress).
Crear una web no es demasiado difícil, hacerla popular es algo más complicado. Pero hacerla segura, especialmente para emprendedores web poco duchos en tecnología cuya preocupación principal gira en torno a un producto/servicio no basado en la web, es más bien un reto.
Y claro, podrían contratar a un desarrollador web para que les ayude. Pero la razón por la que hay muchos negocios web de pequeña escala prosperando está sin duda directamente relacionada con su capacidad para mantener bajos los costes. Y contratar a un desarrollador web que cobra 100 $ la hora no entra dentro de sus posibilidades económicas.
Un profesional de la seguridad web siempre es la opción preferida pero, por desgracia, no todo el mundo tiene los ingresos de negocio necesarios para permitirse ese gasto. Y quizá eso esté bien, o quizá no. Pero el hecho crucial es que debemos reconocer que hasta los negocios de pequeña escala recopilan información personal sensible, incluyendo cosas como tu dirección de residencia, los datos de tu tarjeta de crédito, números de teléfono y correos electrónicos.
No solo está en riesgo la información de tu cliente por prácticas de seguridad posiblemente negligentes, sino también el propio negocio que has construido o en el que invertirás mucho tiempo. Construir un negocio online es una empresa bastante desalentadora; tu éxito depende de varios factores, entre ellos la reputación de marca y lo que Google opine de tu web. Y créeme, nadie tendrá una visión favorable de tus negocios o servicios si tu web se cae o es víctima de un ataque/hackeo.
Dado todo eso y lo que está en juego, ¿qué pasos puedes dar "tú" como emprendedor web para hacer segura tu web?
Este artículo va dirigido principalmente a personas cuya ocupación principal no es gestionar un negocio online. Va dirigido a personas de distintos ámbitos de la vida que inician negocios que dependen parcial o fuertemente de una presencia online. Y como WP y WordPress mueven más del 65 % de la web y es el CMS de elección para el emprendedor web poco ducho en tecnología, me centraré en armarte con el conocimiento para mantener tu web de WordPress segura y protegida.
#1. Elige el proveedor de hosting adecuado
La mayor parte de las vulnerabilidades existen por problemas creados en el extremo del servidor de tu web. Este hecho me resultó bastante asombroso: tu servicio de hosting es potencialmente la mayor fuente de vulnerabilidades de tu web.
Y con un host de terceros no puedes hacer mucho retocando para proteger tu web.
Así que lo siguiente mejor que puedes hacer: elegir el proveedor de hosting adecuado.
Demasiados proveedores de hosting ejecutan sus sistemas con software obsoleto o software que actualmente no recibe mantenimiento. El problema con el software que ya no recibe mantenimiento es que, aunque pudo no haber vulnerabilidades en el pasado, no existe garantía de seguridad futura. Y si se detecta una vulnerabilidad, lo cual es casi seguro, puede que ya no se parchee porque el equipo central no mantiene activamente las versiones más antiguas del software.
Cuando hablo de software, me refiero a cualquier cosa que se ejecute en tu servidor para mantener tu sitio en línea y funcional.
- Apache
- PHP
- MySQL
- MariaDB
- PostgreSQL
- PHPMyAdmin
- Certificados SSL
Incluso si actualizan su software con un pequeño retraso cuando se publican los parches, la ventana de oportunidad para que los hackers exploten vulnerabilidades que solo han sido parcheadas en actualizaciones recientes se amplía y pone en riesgo tu web.
El hosting compartido, que es la opción de hosting de la mayoría de los negocios online recién iniciados, tiene un par de problemas:
- Los ataques DOS sobre cualquier IP de un servidor pueden afectar a todas las webs alojadas en ese servidor en particular.
- Las direcciones IP compartidas son un gran problema. Las direcciones IP vecinas a la tuya afectan a tu web; si una IP compartida entra en una lista negra, tu sitio sufre las consecuencias.
- Siempre existe la posibilidad de que algún software cargado en un servidor compartido pueda comprometer todo el servidor, aunque los proveedores de hosting compartido sí toman medidas para evitar que esto ocurra.
Mi elección para hosting compartido:
- Hosting compartido – Phluit – Ofrecen aislamiento de cuentas, que te protege frente a webs del mismo servidor que puedan ser vulnerables. Actualizaciones automáticas del núcleo de WP y de los plugins, certificado SSL gratuito y copias de seguridad diarias en el plan Grow Big y superiores, protección contra spam con un sistema de filtrado, un firewall, sistemas de prevención de intrusiones y monitorización en vivo. Usar un sistema CDN como CloudFlare protegerá tu web frente a ataques DDoS.
Phluit ha tenido un buen historial de respuesta rápida e incisiva ante vulnerabilidades expuestas en el pasado. En 2013, cuando se perpetraron ataques de fuerza bruta desde más de 90.000 direcciones IP, Phluit impidió que las peticiones llegaran a sus servidores.
Los ataques de fuerza bruta pueden saturar el servidor con carga pero, si no puedes enviar un número suficiente de peticiones al servidor, no puedes afectarlo. Durante el ataque, se realizaron más de 15 millones de intentos en menos de 12 horas contra webs de sus servidores y, aun así, ninguno de sus servidores sufrió problemas de rendimiento.
De hecho, tras algo de fuerza bruta interna sobre las webs de sus propios clientes para encontrar contraseñas débiles, hallaron muchas webs en sus servidores con contraseñas débiles e inseguras. Lo siguieron imponiendo contraseñas fuertes y se informó a sus clientes por correo. Parece que se preocupan por su seguridad y por garantizar el rendimiento de sus entornos de servidor compartido incluso bajo ataque. No se puede decir lo mismo de algunas de las mayores empresas de hosting compartido.
Si quieres opciones alternativas a Phluit para hosting compartido, he listado unas cuantas en un artículo anterior.
Sin embargo, supongamos que no quieres preocuparte por la seguridad de WordPress ni por nada remotamente técnico sobre crear, mantener y hacer crecer una web. En ese caso, te irá mejor con un host de WordPress gestionado. Yo prefiero el hosting gestionado, pero los costes son considerablemente más altos.
El precio del hosting gestionado de un mes también te compra hosting compartido durante 8 meses. Si gestionas una empresa con poco efectivo, esto tiene un efecto monumental en la sostenibilidad de tu negocio. Pero cualquiera sería un necio si descartara los beneficios de un host de WordPress gestionado, si puede permitírselo.
Medidas de seguridad de WPEngine:
- Protección contra escritura en disco; cualquier código malicioso que cree vulnerabilidades explotables queda muy limitado por las restricciones de escritura en disco. Usar plugins y temas con vulnerabilidades es de repente más seguro, dado que ya no pueden escribir código en tu servidor que haga vulnerable tu WP tan fácilmente.
- Los privilegios de escritura en disco para los usuarios que han iniciado sesión en su escritorio de WP se extienden a funciones estándar como escribir y editar entradas, añadir nuevas hojas de estilo a los temas y activar/desactivar plugins.
- Para eliminar y escribir archivos nuevos necesitas haber iniciado sesión mediante un cliente SFTP.
- No se permite añadir código PHP genérico.
- No se pueden añadir a WordPress scripts con vulnerabilidades conocidas que comprometan WP.
- Ciertos plugins pueden ser rechazados e incluso desactivados, si sus escáneres detectan algo en el código del plugin que deje tu web menos segura.
- Los planes básicos de WPEngine aún implican algo de uso compartido de servidor. En cualquier plan de hosting dedicado, el host proporciona un servidor entero totalmente dedicado a aportar recursos solo para tu web.
- Copias de seguridad mediante Amazon S3, y tú no tienes acceso a ellas. No podrías comprometer tus copias de seguridad, ni aunque lo intentaras. Siempre existe una póliza de seguro para tu sitio.
- El acceso físico a los servidores está limitado solo al personal esencial. Sus centros de datos suenan como Fort Knox con solo leer sobre ellos.
- Se especializan en WP y conocen todos los entresijos de crear un sitio de WordPress seguro.
- La recuperación en caso de una cuenta hackeada es fácil y está asegurada de forma gratuita.
- Auditorías de código periódicas del proveedor de soluciones de seguridad para WP: Sucuri.
Piensa en WPEngine así: te cuesta un dineral, pero mucho menos de lo que puede costarte una web hackeada. Hace mucho más fácil racionalizar los costes.
Por favor, no pases por alto que tu web no solo será más segura con WPEngine, sino que con toda probabilidad será mucho más rápida. Hasta webs como Colorlib, que usan un servidor privado virtual, encuentran difícil igualar la velocidad de una web gestionada por WPEngine.
Si aún tienes dudas y no puedes elegir entre un host compartido y un host de WP gestionado, ese es un tema enorme. Por favor, lee un artículo que escribí hace tiempo. Con suerte responderá a todas tus preguntas sobre la idoneidad de un plan de hosting para tu web.
#2. Usa software de terceros de confianza: temas y plugins premium
Los plugins y los temas siempre son sospechosos; sé escéptico, especialmente cuando reciben poco mantenimiento y rara vez se actualizan. Puedes tomar numerosas medidas discriminando plugins según sus fallos de seguridad, pero siempre vale la pena registrar las acciones de tus plugins con WP Security Audit Log.
Un registro de seguridad es muy útil para que los profesionales del desarrollo web y de la seguridad lleven un control de los cambios en múltiples sitios cuando atienden las necesidades de sus clientes. Cada acción de cada usuario puede quedar registrada con el plugin. El registro también ayuda a vigilar el comportamiento de plugins, temas y otro software de terceros. Este plugin quizá no prevenga un problema de seguridad, pero si algo sale mal, te resultará fácil rastrear el origen del problema.
Otra buena práctica es que un experto en seguridad audite el plugin. Si no puedes permitírtelo, busca los sellos de confianza de Sucuri (Sucuri es un proveedor líder de soluciones de seguridad para usuarios de WordPress) en los plugins. Muchos plugins/temas envían voluntariamente sus productos para auditorías de código.
Elegant Themes ha auditado su tema estrella Divi. Elegant Themes es una de las mayores casas de temas del nicho de WP, si no la mayor, y aun así auditan su tema estrella en busca de problemas de seguridad.
Aléjate de los plugins y temas gratuitos que no tengan un gran número de descargas. A veces, los plugins con recuentos de descargas y valoraciones desmesuradamente altos atraen a muchos más malhechores. La protección por número no aplica. Más gente usando un plugin lo convierte en un objetivo mayor pero, al mismo tiempo, tener miles de usuarios probablemente ayudará a identificar y proteger frente a exploits de día cero mediante actualizaciones rápidas.
Usar plugins y temas premium no significa que se pueda garantizar la seguridad de tu sitio. Pero puedes estar seguro de que, si se descubre algún exploit de día cero, la respuesta suele ser rápida. Las casas de temas y los desarrolladores de plugins tienen mucho en juego con sus productos; lo último que quieren es la apariencia de vulnerabilidad.
Cíñete a los plugins listados en el directorio de WordPress.org para plugins gratuitos. Valoraciones más altas y un mayor número de descargas hacen que el plugin sea una apuesta más segura. Revisa el historial de los plugins creados por el mismo autor en el pasado, un buen indicador del pedigrí del programador. También verás que ciertos autores ponen especial cuidado en garantizar la seguridad de su plugin/tema.
La fecha de última actualización es otro factor a tener en cuenta. Asegurarte de que la última versión del plugin es compatible con la última versión de WordPress es otro punto esencial que marcar en la lista antes de instalar y activar un plugin.
Como habrás adivinado, lo que vale para los plugins también vale para los temas. Hay algunas cosas que recordar al usar plugins y temas.
- Los plugins premium son mejores en el sentido de que sus equipos probablemente responderán a cualquier vulnerabilidad de seguridad mucho más rápido que los plugins gratuitos.
- Usa WP Security Audit Log y controla todo lo que se ejecuta bajo el capó de tu web.
- Sin duda hay seguridad en el número, porque es mucho más probable que una amenaza de seguridad se reporte y se gestione. Pero no puedo evitar sentir que es un arma de doble filo: los plugins/temas con grandes recuentos de descargas también son mucho más propensos a convertirse en objetivos de hackers.
- El directorio de plugins de WP.org puede manipularse para dar valoraciones excelentes a plugins con menor número de descargas y valoraciones.
- Revisa al autor del plugin, su historial y sus productos anteriores. Si han tenido problemas de seguridad en el pasado, no indica necesariamente que sus plugins/temas sean malos, pero no es una buena señal.
- Discrimina los plugins/temas sin piedad, lee reseñas, especialmente las que dan malas valoraciones al producto (asegúrate de investigar por qué esos productos fueron mal valorados) en mercados como Envato, incluso para plugins premium. Lee las secciones de comentarios de las reseñas de producto de plugins y temas. Cuando escribo reseñas sobre productos concretos de WordPress o creo un artículo de lista de temas, siempre miro la sección de comentarios en busca de quejas de usuarios que hayan descargado/comprado el producto. Este ejercicio siempre es fructífero, casi siempre aprenderás algo sobre el producto que pretendes comprar o descargar.
- Si el plugin/tema ha tenido su código auditado por Sucuri u otro proveedor reputado de soluciones de seguridad para WP, aumenta la probabilidad de que el producto sea bastante sólido en cuanto a seguridad.
- Puedes protegerte contra plugins maliciosos con plugins de seguridad como Wordfence o iThemes Security. Además, puedes usar la función escaneo gratuito de sitios de Sucuri, que revisa tu código de WP en busca de scripts maliciosos.
Ninguno de los pasos anteriores garantiza que nunca descargues un plugin o tema malo, pero sí reduce las probabilidades de que te afecten problemas de seguridad.
Ahora, suponiendo que usas el host, el tema y los plugins adecuados, describiré y explicaré las medidas de seguridad necesarias que debes tomar para hacer segura tu web.
Al describir las medidas de seguridad individuales, ten en cuenta que recomiendo plugins independientes diseñados para aplicaciones de seguridad concretas.
Más adelante en este artículo hablaré de Wordfence, un plugin de seguridad freemium completo, y de las soluciones de seguridad de Sucuri. Debes saber que ambos cumplen casi todas las funciones de seguridad que quizá se hayan comentado antes en el artículo y, en algunos casos, más.
Así que, a menos que quieras conocer en detalle las medidas de seguridad individuales, puedes saltar a la última parte donde hablo de las funciones de un plugin de seguridad y de proveedores de soluciones de seguridad como Sucuri.
Pero si eres un usuario primerizo de WordPress, te recomiendo encarecidamente que leas todo el artículo para entender plenamente la importancia de cada medida de seguridad distinta.
#3. Protege tu página de inicio de sesión
La página de inicio de sesión de WordPress es un objetivo prioritario para los ataques de fuerza bruta. Tu página de login es una parte vulnerable de tu web si no adoptas las medidas de seguridad apropiadas para entorpecer a los atacantes.
Hablaré de la importancia de mantener una página de inicio de sesión fuerte y segura con múltiples medidas de seguridad que hacen seguro tu sitio y protegen frente a ataques de fuerza bruta.
Contraseñas fuertes y nombre de usuario inusual
Admin no es un buen nombre de usuario. WordPress solía tener admin como nombre de usuario predeterminado de la cuenta de administrador principal. Hoy, sin embargo, cuando instalas WordPress puedes elegir un nombre de usuario diferente. Pero cuando la gente empieza a usar WordPress, especialmente por primera vez, muchos se ciñen a admin como nombre de usuario. "admin" es un nombre de usuario extremadamente predecible y hace que tu sitio sea mucho más fácil de vulnerar.
También puedes probar el plugin Admin Renamer Extended, que puede cambiar tu nombre de usuario.
En cuanto a las contraseñas, elegir una cadena de caracteres inusual y aleatoria ayudará a crear la primera línea de defensa contra quienes pretenden dañar tu web o hacerse con la información sensible almacenada en los servidores de tu sitio.
Una lista de las 5 contraseñas más comunes según recopilación de SpashData.
- 123456
- password
- 12345
- 12345678
- qwerty
Un adolescente de trece años muy motivado puede adivinar admin y 123456. Con contraseñas como las de arriba, tu sitio está perdido, especialmente si recibes algo de tráfico decente.
Las mejores contraseñas son una mezcla de mayúsculas y minúsculas con signos de puntuación y caracteres especiales. Preferiblemente, usa algo que no tenga ningún significado y asegúrate de que tenga al menos más de 10 caracteres. No hay una razón particular para los 10 caracteres, pero recuerda que resulta exponencialmente más difícil descifrarlas si las contraseñas son más largas.
Es más difícil de adivinar si tu contraseña no tiene sentido y no hay una razón lógica ni sentimental detrás de ella. Recuerda cómo Sherlock adivina la contraseña del móvil de Irene Adler: "I AM _ _ _ _ LOCKED". ¡Hasta Sherlock tendría dificultades para adivinar una contraseña que no puede razonarse!
Si te cuesta decidir qué contraseña usar, prueba herramientas como Strong Password Generator o Secure Password Generator; ambas son herramientas online disponibles gratuitamente para dar con una buena contraseña para el login de administrador de tu web.
Los plugins de seguridad también imponen contraseñas fuertes para el administrador y todos los usuarios. Esto es importante; aunque tus usuarios no tengan estatus de administrador ni los privilegios que lo acompañan, alguien con acceso a una cuenta de nivel editor comprometida en WordPress podría hacer bastante travesura.
Otro buen consejo a recordar siempre: cambia tus contraseñas con frecuencia. Si te cuesta recordar todas tus contraseñas, usa un gestor de contraseñas. Puedes probar One Password, Last Pass, KeePass o DashLane para almacenar todas tus contraseñas de forma segura.
En lo que respecta a nombres de usuario y contraseñas, cuanto menos sentido tengan y más aleatorios sean, mejor será la seguridad que puedan ofrecer a tu web.
Limita el número de intentos de inicio de sesión
Los ataques de fuerza bruta apuntan a las páginas de login de las webs de WordPress. Por si no lo sabes, la mayoría de los ataques de fuerza bruta consisten en probar distintas combinaciones alfanuméricas para descifrar la contraseña del sitio para un nombre de usuario concreto.
Aunque supongas que un ataque de fuerza bruta no tiene éxito, debes reconocer que consume enormes cantidades de memoria y potencia de procesamiento del servidor. Esto casi con seguridad ralentizará tu web y la dejará arrastrándose. Muchos hosts también ofrecen protección contra ataques de fuerza bruta. Esto se debe a que tu sitio consumiendo una cantidad indebida de recursos en un servidor compartido podría afectar a todos.
Pero la técnica más sencilla para ahuyentar los ataques de fuerza bruta es limitar el número de intentos de inicio de sesión. Si alguien no puede golpear repetidamente tu servidor con múltiples combinaciones de usuario y contraseña, entonces un ataque de fuerza bruta no funcionará.
Login Lockdown, Login Security Solution y Brute Force Login Protection apuntan todos a impedir el acceso a tu web mediante intentos de hackeo por fuerza bruta. Brute Protect ha sido adquirido por el equipo de Automattic y ahora forma parte de Jetpack, y ofrece protección contra ataques de fuerza bruta.
Casi todos los plugins de protección de login tienen una interfaz similar.
Estos plugins funcionan rastreando las direcciones IP que intentan repetidamente iniciar sesión y fallan. Tras múltiples intentos fallidos de inicio de sesión, se impide a esas IP concretas acceder a la página de login de tu sitio.
Login Security Solution fuerza una autenticación por correo de WordPress y un cambio de contraseña por correo, si determina que el usuario actualmente conectado es bastante sospechoso.
El plugin puede imponer contraseñas fuertes y obligar a cambiarlas con frecuencia a los usuarios. Además, los intentos de hackeo se rastrean por rangos de IP que intentan repetidamente obtener acceso de forma ilegítima. Se les bloquea durante periodos más largos para disuadirles de intentar vulnerar tu web.
Autenticación de inicio de sesión en dos pasos
Autenticar un inicio de sesión añade una capa extra de seguridad, junto con una contraseña fuerte, un nombre de usuario inusual y un número limitado de intentos fallidos de inicio de sesión.
El proceso de autenticación de inicio de sesión en dos pasos hace que tu sitio sea más que doblemente seguro. Iniciar sesión en tu sitio de WordPress requiere un código de autenticación que solo puede recibirse mediante un mensaje al móvil. Es bastante improbable que un hacker robe tu móvil como preparación; tu web seguirá protegida frente a la fuerza bruta y otras técnicas de hackeo que dependen de superar la página de login de tu web.
Google Authenticator es un plugin útil que depende de una app instalada en tu Android/iPhone/Blackberry que te proporciona el código de autenticación necesario para iniciar sesión con éxito en tu web. Puedes habilitar esta app solo para el nivel de privilegio de administrador o emplearla usuario por usuario.
El siguiente plugin me gusta mucho; pretenden enviar a las personas que intentan iniciar sesión sin el código de autenticación a una redirección con una URL personalizable. Stealth Login Page también bloquea por completo a los bots.
El intento de inicio de sesión se rechaza si un usuario no cumple con la secuencia completa de login. Otra técnica que puede usarse para bloquear bots es usar captcha en las páginas de login; puedes usar Login No Captcha reCaptcha para impedir que los bots inicien sesión.
Cambia la URL de tu página de inicio de sesión de WordPress
Hemos hablado de limitar los intentos de inicio de sesión, autenticar los logins y la importancia de usar una contraseña fuerte y un nombre de usuario inusual.
Ahora vamos a ocultar o cambiar la página de login; este tipo de modificaciones de seguridad también se conocen como seguridad por oscuridad. Sé que esto parece un poco exagerado. Pero quédate conmigo, porque este paso no es más difícil que las medidas de seguridad sugeridas anteriormente para proteger tu página de login.
Los ataques de fuerza bruta solo son efectivos si pueden encontrar la página de login. Dejar tu página de login sin cambios permite que posibles hackers encuentren tus páginas de login.
Intentemos ocultarles la página de login. Puedes hacerlo cambiando la URL de la página de login con WPS Hide Login. El plugin no cambia nada, simplemente intercepta las peticiones de página y hace inaccesibles el directorio wp-admin y las páginas wp-login.php. Tendrás que recordar la nueva página de login tal como la fijaste durante la activación del plugin.
Otras opciones alternativas para cambiar la URL de tu página de login incluyen otros dos plugins, Protect Your Admin y Rename wp-login.php.
SSL
Aunque menciono SSL dentro de la protección de tu página de login, SSL es una función extremadamente importante y necesaria de cualquier página en la que manejes información sensible. Y esto incluye cada página en muchas webs, ya que hay formularios de suscripción al blog en todas las páginas web.
Si tú o tus visitantes/clientes alguna vez compartís información privada sensible como direcciones, datos de tarjeta de crédito o incluso compartís vuestros correos electrónicos, entonces les debes proteger su información.
SSL es una capa extra de protección (Secure Socket Layer) que convierte el http en https y hace mucho más segura toda la información compartida.
Así se ve la página de edición de entradas en la que trabajo para Colorlib con SSL. ¿Ves el "https:" de color verde en la barra de URL?
SSL es algo que codifica tu información en algo que no puede leerse como el texto plano. Así que cuando la información viaja entre tus servidores y cualquier navegador, cualquiera que obtenga acceso a ella no puede darle ningún sentido. Hay una clave privada y una clave pública. Una vez que SSL hace que la información que fluye sea rara e ilegible, necesitamos volver a darle sentido en el extremo del navegador. Aquí es donde entra la clave privada para volver a hacer las cosas legibles. El mecanismo en juego es muy similar a una cerradura y llave matemática.
SiteGround, nuestro host compartido recomendado, proporciona protección SSL gratuita. También puedes comprar un certificado SSL a una autoridad de certificación. Si ejecutas plugins de seguridad como Wordfence, se puede habilitar SSL.
Recomendaría SSL en todo el sitio; muchas webs de WordPress, ColorLib incluida, usan SSL en todo el sitio. Deberías forzar SSL para las páginas de login como mínimo indispensable, si no SSL en todo el sitio.
Navegadores como Chrome bloquean el acceso a webs con certificados SSL malos/caducados.
Quizá tengas que averiguar si tu CDN entrega contenido con facilidad sobre SSL y, a veces, las redes publicitarias pueden presentar problemas al servir sobre SSL. Añadir SSL en todo el sitio puede presentar dificultades significativas; deberías leer este artículo muy esclarecedor sobre las dificultades de habilitar SSL en todo el sitio.
Si usas SSL en tus webs, Google te da un pequeño impulso (1 %) en tu posicionamiento de búsqueda. Este hecho, en sí mismo, debería justificar el uso de SSL. ¿Por qué? Como la mayoría de los profesionales del desarrollo web, Google entiende la importancia de garantizar la seguridad de los datos de tu lector/visitante.
El plugin de seguridad Wordfence también puede imponer SSL en tu pantalla de login. También se espera que los certificados de seguridad se pongan a disposición gratuitamente.
Lee más sobre la administración sobre SSL en WordPress.org.
#4. Proteger tu núcleo de WP, la base de datos y usar los permisos de archivo correctos
En muchas de estas medidas de seguridad modificaremos tu núcleo de WP y tendrás que estar familiarizado con cómo usar un cliente FTP para hacer cambios y subirlos. Y como la mayoría de estos consejos de seguridad implican cambiar o modificar tu núcleo de WP, podría llegar a romper tu web. Haz una copia de seguridad de tu núcleo de WordPress y de todo su contenido antes de continuar; un error puede deshacerse fácilmente con una copia de seguridad.
Claves de seguridad de WordPress
WordPress usa cookies para identificar y verificar a los usuarios conectados para comentar y hacer cambios desde el escritorio de WP.
Estas cookies contienen información de inicio de sesión y tus datos de autenticación. La contraseña se aplica con hash, lo que significa que se aplica una fórmula matemática para hacerla ilegible y no puede leerse sin aplicar de nuevo las matemáticas para hacerla legible.
Podemos añadir una capa extra de protección alrededor de esta cookie con las claves de seguridad de WP. Estas variables aleatorias mejoran la seguridad de la información almacenada en una cookie de usuario. Hay 4 claves, a saber: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY y NONCE_KEY.
Una contraseña no cifrada como WordPress o 12345 puede descifrarse fácilmente, si alguien puede reconstruir la cookie de autenticación. Pero cifrar con las claves de seguridad de WP hace esto mucho más difícil.
¿Cómo añades las claves de seguridad de WP?
- Abre el archivo wp-config.php.
- Busca "authentication unique keys and salts".
- Usa una herramienta online de generación automática de claves.
- Copia las claves de la herramienta online y reemplaza el conjunto de claves existente, sobrescribiéndolo en wp-config.php.
- Guárdalo.
- Puedes repetir el mismo proceso más o menos cada mes.
Recuerda que, cada vez que cambies las claves de seguridad, los usuarios cerrarán sesión y tendrán que volver a iniciar sesión en sus cuentas.
iThemes Security proporciona las herramientas necesarias para hacer esto desde el escritorio de WP. Y también te enviarán un recordatorio cada mes para cambiar tus claves de seguridad.
Protege con contraseña tus directorios de WP
Esto puede hacerse desde tu cPanel o el panel de cualquier host web. En el cPanel, abre Seguridad > Proteger directorios con contraseña. Encontrarás una lista de todas las carpetas de tu sitio. Empieza con una carpeta importante como wp-admin.
Encontrarás un cuadro de diálogo que pide crear un usuario proporcionando un nombre de usuario y una contraseña. Ahora crea el nuevo usuario. Después de esto, si necesitas acceder a la carpeta wp-admin de tu web, hay que introducir el nombre de usuario y la contraseña para acceder a la web.
Esto añade una capa extra de protección basada en contraseña a las partes más importantes de tu web.
Usa FTP seguro (SFTP)
Se requiere un sistema de transferencia de archivos para llevar los datos de tu web a tu host cuando añades nuevos cambios que te gustaría incorporar. Con un protocolo de transferencia de archivos normal o un FTP, alguien puede interceptar y encontrar vulnerabilidades para explotar tu web, lo que aumenta el riesgo.
Necesitarás el cliente adecuado para usar una conexión SFTP y subir archivos nuevos y código modificado. Puedes usar FileZilla para empezar.
Además, necesitarás algunos datos concretos sobre tu cuenta de hosting. Por lo general, cada host proporcionará información específica para ayudarte a configurar un protocolo de transferencia de archivos seguro. Normalmente tendrás una clave SSH que el host genera; esta clave hay que añadirla a tu cliente SFTP como FileZilla y, a partir de ahí, es sencillo configurar una conexión segura para la transferencia de archivos.
Usar los permisos de archivo correctos
El acceso a tus archivos necesita tener los permisos adecuados. Es posible escribir en tu WordPress desde el servidor web. El problema surge cuando compartes ese entorno con múltiples webs que también pueden tener sus webs en un servidor compartido.
Por lo general, las carpetas de WordPress y los archivos de WordPress tienen permisos específicos en distintos hosts. Con acceso shell puedes ejecutar los siguientes dos comandos para mantener tus carpetas y archivos de WordPress seguros y accesibles solo para el usuario correcto.
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;
Proteger WordPress usando .htaccess
Al editar el archivo .htaccess, añade el código antes de # BEGIN WordPress o después de # END WordPress. WordPress puede sobrescribir cualquier código añadido entre estas dos almohadillas y no querríamos que ningún protocolo de seguridad nuevo que hayamos añadido desapareciera. Así que, cuando añadas cualquier código al archivo .htaccess, recuerda mantenerte fuera de la sección que empieza con # BEGIN y termina con # END.
wp-includes contiene archivos que no son necesarios para ningún usuario, pero contiene archivos necesarios para ejecutar WP. Podemos protegerlo impidiendo el acceso y añadiendo algo de texto al archivo .htaccess. Teniendo en cuenta que hay que mantenerse fuera del código entre almohadillas.
Añade este pequeño fragmento de código al archivo .htaccess.
# Block the include-only files. <IfModule mod_rewrite.c> 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] </IfModule> # BEGIN WordPress <-- Always add code outside, before this line in your .htaccess file -->
Esto no funcionaría para los multisitios de WP. Elimina esta línea – RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]; esto ofrecerá menos seguridad, pero funcionará para multisitio.
Tu archivo wp-config.php contiene información sensible sobre tus datos de conexión y las claves de seguridad de WP comentadas antes. Modificar tu .htaccess protegerá tu web frente a hackers y spammers y reforzará significativamente la protección de tu web.
Este proceso implica mover tu archivo .htaccess fuera de tu instalación de WP a una ubicación accesible solo con un cliente FTP, cPanel o desde el servidor web.
Añade esto al principio de tu archivo .htaccess.
<files wp-config.php> order allow,deny deny from all </files>
Esto impedirá el acceso a cualquiera que navegue buscando el archivo wp-config.php y solo se permitirá el acceso desde el espacio del servidor web.
Toda esta protección añadida es estupenda, pero recuerda que todo esto se logró desde tu archivo .htaccess. Si alguien puede acceder a tu archivo .htaccess, toda tu seguridad añadida no sirve de nada.
Añade lo siguiente al principio de tu archivo .htaccess. Impedirá el acceso a tu archivo .htaccess.
<files .htaccess> order allow,deny deny from all </files>
Puedes añadir más modificaciones al archivo .htaccess, si quieres.
Podrías restringir archivos, por tipos de archivo y extensión. Este trozo de código no solo restringirá el acceso a tu wp-config, sino que impedirá el acceso a ini.php y a tus archivos de registro.
<FilesMatch "^(wp-config\.php|php\.ini|php5\.ini|install\.php|php\.info|readme\.html|bb-config\.php|\.htaccess|\.htpasswd|readme\.txt|timthumb\.php|error_log|error\.log|PHP_errors\.log|\.svn)"> Deny from all </FilesMatch> #Code courtesy - WPWhiteSecurity
A continuación, podemos deshabilitar la navegación por el contenido del directorio de WP.
Options All -Indexes
Aparte de eso, podemos añadir algunos otros cambios para mejorar la seguridad cambiando el archivo .htaccess en WordPress.
- Bloquea IPs y rangos de IP. Puedes limitar el acceso a tus páginas de login por rango de IP; lo habría cubierto en la sección de Login, pero los plugins de protección de la página de login ya bloquean los rangos de IP que intentan acceder a las páginas de login mediante técnicas de fuerza bruta.
- Mantén a raya a los bots malos.
- Evita el hotlinking.
Esto es bastante extenso y estamos empezando a desviarnos del tema. Si quieres hacer también lo demás, para lo cual no he presentado el código aquí, puedes usar este trozo de código personalizado de WP White Security.
Por favor, recuerda llevar un registro de qué archivos has movido al directorio raíz de WP. Tendrás que ser consciente de dónde está cada archivo/carpeta, para no solo poder editarlos, sino también asegurarte de no crear múltiples copias en distintas ubicaciones, lo que de nuevo pone en peligro el sentido de todo el ejercicio.
Desactiva el informe de errores de PHP y la ejecución de PHP
Las ejecuciones de PHP deben mantenerse al mínimo. ¿Por qué? Un buen ejemplo de hackeo sería el hackeo de Mailpoet Newsletter, que podía usarse para añadir archivos que se ejecutan desde la carpeta wp-content/uploads.
Podemos negar a PHP cualquier margen de ejecución en WordPress para prevenir tales vulnerabilidades. Añade este fragmento de código al archivo .htaccess.
Este código detecta los archivos PHP y deniega el acceso. Necesitas añadirlo a las siguientes carpetas de wp.
- wp-includes
- wp-content/uploads
- wp-content
Tendrás que crear un .htaccess en las demás carpetas. Por defecto, puede estar disponible en el directorio raíz pero, para prevenir la ejecución de PHP, hay que crear el archivo .htaccess y añadirlo a las carpetas mencionadas. Las tres carpetas mencionadas son principalmente carpetas donde se sube contenido y son especialmente vulnerables a un script PHP que puede causar muchos problemas.
El informe de errores de PHP es una señal para todos los hackers que buscan vulnerabilidades de que hay algo que no funciona en tu web.
Añadir estas dos líneas de código a tu archivo wp-config.php debería resolver el problema.
error_reporting(0); @ini_set(‘display_errors’, 0);
Aunque, tras haber leído múltiples hilos y debates sobre el informe de errores de PHP, puede que no funcione. En cuyo caso, tu mejor opción es contactar con tu host web y pedirle instrucciones sobre cómo lograr lo mismo.
Cambia el prefijo de tabla wp_
Todas las tablas de WordPress empiezan con un prefijo wp_. Cambia este prefijo de tabla wp en toda tu web y ponle más difícil a un hacker infiltrarse en tu web.
En tu wp-config.php, encontrarás esta línea de código.
$table_prefix = 'wp_';
Cámbiala por algo completamente aleatorio,
$table_prefix = 'jrbf_';
Ahora cada tabla como wp_posts, wp_users, etc. cambiará a jrbf_posts, jrbf_users y así sucesivamente.
Casi todos los plugins de seguridad hacen esto por ti y, además, cambiar los prefijos de tabla de wp puede llevar tiempo. Puedes hacerlo con PHPMyAdmin u otros gestores de bases de datos, pero yo preferiría usar un plugin de seguridad como iThemes Security para lograrlo.
De forma similar, puedes ir un paso más allá cambiando el nombre de tu base de datos de WordPress. De este modo, no solo cambias el prefijo, sino que también cambiarás los nombres de lo que sigue al prefijo. Esto hará casi imposible que los hackers adivinen aleatoriamente el nombre de tu base de datos, y no puedes acceder a lo que no puedes encontrar.
Desactiva XMLRPC
Por lo general, los ataques DDOS apuntan a todas las páginas web de las webs de WordPress de forma indiscriminada. Pero esta parte concreta de WordPress puede convertirse en objetivo de ataques DDOS. Me explico: XMLRPC se usa para pingbacks y trackbacks. Pero en el pasado se ha explotado para lanzar ataques DDOS sobre webs.
Puedes usar un plugin como Disable XMLPRC. Pero no lo necesitarás si usas plugins de seguridad o un plugin de protección de login. Por lo general, ofrecen protección contra esta vulnerabilidad en particular.
#5. Plugin de seguridad – Wordfence/iThemes Security/Sucuri
Un plugin de seguridad eficaz es absolutamente esencial para garantizar la seguridad de tu sitio de WordPress, al menos para los poco duchos en tecnología. Los plugins de seguridad realizan las diversas funciones, muchas de las cuales ya se han comentado aquí; todas estas medidas de seguridad añadidas se suman para construir una fortaleza alrededor de tu web y su contenido.
Wordfence realiza muchas funciones cruciales para la seguridad de un sitio impulsado por WordPress:
- Bloqueo en tiempo real de atacantes, bloqueando redes maliciosas enteras y ciertos países.
- Limitar rastreadores, bots y scrapers.
- Bloquear a usuarios que infringen tus reglas de seguridad.
- Autenticación de dos factores mediante SMS, que mejora enormemente la seguridad en las páginas de login.
- Imposición de contraseñas fuertes para todos los usuarios (no administradores).
- Protección contra ataques de fuerza bruta.
- Escanear el sitio en busca de scripts maliciosos, puertas traseras y URLs de phishing en tu sitio que se hacen pasar por comentarios en tu web.
- Comparar los archivos del núcleo del plugin/tema con los archivos del mismo listados en el directorio de WordPress.org.
- Ejecutar heurísticas para troyanos, scripts sospechosos y otras actividades que potencialmente ponen en peligro la seguridad de tu sitio.
- Firewall para bloquear falsos bots de Google enviados por hackers para escanear en busca de vulnerabilidades.
- Conciencia en tiempo real y monitorización en vivo del acceso al contenido para mejorar la conciencia situacional.
- Geolocalización hasta el nivel de ciudad de las amenazas a tu web para averiguar el punto de origen de las amenazas a la seguridad del sitio.
- Monitorizar el DNS en busca de acceso no autorizado.
- Vigila el consumo de espacio en disco para prevenir y reaccionar ante ataques de denegación de servicio.
- Es compatible con multisitio.
- Sistema de caché Falcon para reducir la carga del servidor.
- Compatibilidad total con IPv6 para búsquedas WHOIS, ubicación y funciones de seguridad.
Algunas funciones están restringidas a la versión premium del plugin. La versión premium del plugin tiene un precio de 3,25 $/mes.
Dicho esto, la versión gratuita de este plugin es un defensor de sitios muy capaz para tu web de WordPress. Y no deberías tener demasiado recelo con la versión gratuita del plugin, dado que tiene una valoración de 4,9 sobre cinco y se ha descargado casi un millón de veces.
Los plugins de seguridad requieren configuración y esto puede ser un proceso elaborado y largo. Con Wordfence, al menos puedes personalizar todos tus ajustes de seguridad desde Opciones, bajo WordFence, en el menú de tu sitio de WordPress.
Otras opciones que puedes considerar, si aún no te has decidido por un plugin de seguridad para tu sitio de WordPress.
No creo que Wordfence sea el mejor sistema de seguridad global que existe. Quiero decir que hay mejores proveedores de soluciones de seguridad/servicios de hosting gestionado que ofrecen mejores soluciones de seguridad globales para sitios de WordPress. Pero cuando se trata de plugins de seguridad sencillos que imponen una buena protección y buenos protocolos de seguridad, Wordfence es sin duda uno de los mejores. El segundo puesto no muy lejano probablemente iría para iThemes Security.
En las próximas semanas, probablemente escribiré un artículo sobre todas las soluciones de seguridad disponibles para WordPress, así que permanece atento a Colorlib 🙂 Pero ahora mismo, nos quedaremos con Wordfence como el plugin de seguridad recomendado.
#6. ¡Actualiza! ¡Actualiza! ¡Actualiza! Y no solo tu WordPress
Hay cientos de vulnerabilidades de WordPress en las versiones anteriores/no actuales.
Las webs tienden a ser lentas a la hora de actualizar su plataforma WordPress. Por ejemplo, en febrero de 2024, solo el 7,4 % de las webs se habían actualizado a WordPress 5.9, a pesar de haber sido publicado más de dos meses antes de febrero.
Siempre que se descubre una vulnerabilidad de software, normalmente se reporta al proveedor del software. El proveedor del software entonces modifica el software y añade algo de protección o simplemente elimina algo de código innecesario. Esto se publica como una actualización de software o un parche. Este es el mejor caso pero, si alguien con intenciones menos que nobles descubre una vulnerabilidad en cualquier software basado o no en la web, entonces es probable que la explote al máximo.
En julio de 2021, Mail Poet Newsletters, antes conocido como Wysija Newsletters, un plugin que se había descargado más de 2 millones de veces, fue comprometido, como resultado de lo cual 50.000 webs quedaron vulnerables a un ataque. Un ataque automatizado en el que una puerta trasera PHP inyectada permitiría el eventual control del sitio por parte del hacker.
En septiembre de 2024, más de 100.000 webs fueron comprometidas por el plugin Revolution Slider, objetivo de la campaña SoakSoak.ru. Este malware en particular inyectaba JavaScript en el archivo wp template-loader.php. Mil temas se vieron afectados al haberse vendido con este plugin como complemento a través de Envato y otros mercados de WordPress.
Incluí la vulnerabilidad XSS en WP Super Cache, un plugin, en mi recopilación de los 6 mejores plugins de caché. La lista de vulnerabilidades en plugins gratuitos de primer nivel es bastante preocupante. Pero hay muchos pasos que puedes dar para reducir tus probabilidades de usar un trozo de código, tema o plugin vulnerable en tu web.
Debes saber que la mayoría de los plugins con vulnerabilidades han sido parcheados. Pero necesitas mantenerte totalmente actualizado en todo momento. Actualizar tu sitio a las últimas versiones es una parte extremadamente importante de tu estrategia de defensa del sitio. Todas las medidas de seguridad mencionadas antes son inútiles, a menos que actualices cuando estén disponibles las actualizaciones de WordPress y de otro software de terceros.
Habilita las actualizaciones automáticas para tu WordPress, plugins y temas.
No querrás que la página de actualizaciones de tu web se parezca a esta página de un sitio de prueba.
WordPress introdujo las actualizaciones automáticas en segundo plano con el lanzamiento de la versión 3.7 de WordPress.
Puedes habilitar las actualizaciones automáticas para WP haciendo un cambio en la constante WP_AUTO_UPDATE_CORE. Este cambio hay que hacerlo en el archivo wp-config.php.
define( 'WP_AUTO_UPDATE_CORE', true );
Esto garantizará que todas las actualizaciones, mayores o menores, se actualicen tan pronto como estén disponibles.
Cambia la constante de actualización del núcleo a "false" y deshabilitarás todas las actualizaciones. Cambiarla a "minor" habilitará las actualizaciones automáticas para cambios menores, que normalmente incluyen parches de seguridad.
Puedes actualizar plugins y temas de la misma manera, editando el filtro auto_update$type.
Para actualizaciones automáticas de plugins,
add_filter( 'auto_update_plugin', '__return_true' );
Y para habilitar las actualizaciones automáticas de temas,
add_filter( 'auto_update_theme', '__return_true' );
Si no disfrutas trasteando con código, puedes usar un plugin para ayudarte. Tienes otra opción en forma de plugin cuando se trata de garantizar la actualización fluida de tu WP y de todos los temas/plugins de tu sitio. Advanced Automatic Updates te permite habilitar las actualizaciones mayores y las actualizaciones menores/de seguridad de forma individual. Y el plugin también ofrece soluciones de actualización automática para temas y plugins.
Para soluciones de actualización en multisitio, si necesitas ayuda para gestionar las actualizaciones con plugins y temas de WordPress, puedes probar Easy Updates Manager. También hay un servicio premium ofrecido por WP Updates que proporciona soluciones de actualización automática para plugins y temas premium.
Usar plugins como ManageWP o un host de WP gestionado como WPEngine también ayudará a resolver problemas con la actualización de tu WordPress y del software de terceros que usas en tu web.
Actualizar el núcleo de WordPress automáticamente se vuelve problemático cuando las cosas empiezan a romperse. Esto puede ocurrir bien por código personalizado que se borra durante una actualización o bien por problemas de compatibilidad que surgen con software de terceros (plugins y temas). Esta es una razón que puede hacerte dudar; quizá habilitar las actualizaciones menores sea una mejor idea.
Si tienes problemas con tus actualizaciones automáticas de WordPress, te recomendaría que pruebes Background Update Tester. El plugin busca y explica cualquier problema de compatibilidad.
Haz siempre una copia de seguridad antes de actualizar. ¡Siempre! Esto para proteger tu web contra que las cosas salgan terriblemente mal, en cuyo caso acabas haciendo un desastre en tu web. Una buena práctica a seguir, para protegerte de que las actualizaciones automáticas causen estragos por problemas de compatibilidad con plugins, temas y a veces código personalizado en tu núcleo de WP.
#7. Algunas cosas más sobre la seguridad de WP: firewalls, registros de auditoría y escáneres de malware
No he hablado de firewalls para WordPress. Un buen firewall logrará mucho y mitigará las formas más comunes de ataque a tus webs.
- Mitigar los efectos de un ataque DDoS.
- Los ataques de fuerza bruta se detienen en seco.
- Proteger contra vulnerabilidades de software.
- Detener ataques de inyección de código como los ataques SQL o XSS.
- Parchear y defender frente a vulnerabilidades de día cero.
Solo para ilustrarlo, aquí tienes una instantánea de lo que hace el firewall de Sucuri por una web de WordPress.
Firewall no es el término que Sucuri usa para describir su sistema de protección; se refieren a él como el CloudProxy, que es una combinación de un firewall de aplicaciones web y un sistema de detección de intrusiones. Todo el tráfico malicioso se filtra y la actividad anómala se monitoriza.
Los firewalls tradicionalmente se desarrollaron para monitorizar conexiones; sin embargo, el CloudProxy de Sucuri no solo mantendrá fuera a los malos, sino que también creará parches virtuales frente a vulnerabilidades. Una vez que una petición de un visitante pasa por el firewall, llega al sistema de prevención y detección de intrusiones, donde el sistema criba las peticiones en busca de posibles patrones de ataque.
Creo que la función de parcheo virtual para protegerte contra vulnerabilidades es un activo muy eficaz e inestimable para cualquier web con demasiada personalización (significa que mucho puede salir mal cuando surgen problemas de compatibilidad). Siempre es mejor aplicar la actualización a WordPress en un área de pruebas y comprobar si tu web funciona con fluidez. Y si lo hace, puedes poner en producción la versión actualizada de tu web. Pero en el ínterin, tu web está realmente en peligro. Protegerse contra exploits de día cero solo es posible mediante actualizaciones para corregir vulnerabilidades; sin embargo, esto no tiene por qué ser así usando Sucuri CloudProxy.
Y aparte de eso, también mantienen registros de toda la actividad en tu web y buscan posibles señales de travesura.
Piensa en el firewall como una última medida; es el muro que un hacker necesita romper para acceder al contenido sensible de tu web. Las buenas prácticas están en gran parte diseñadas para que no necesites usar tanto el firewall.
El software de escaneo de malware o webs como Sucuri SiteCheck pueden escanear tus webs en busca de vulnerabilidades y posibles agujeros de seguridad. Los plugins de seguridad también tienen software de escaneo de malware para rastrear cualquier cambio que parezca anormal y sea fuente de posibles problemas de seguridad.
También había mencionado antes WP Security Audit Log, al afirmar que es un plugin necesario para rastrear todos los cambios en tu web. Me gustaría reiterar ese punto: es un plugin extremadamente útil no solo para rastrear los cambios efectuados por temas y plugins, sino también las acciones de otros usuarios. Es muy importante que uses WP Security Audit Log o ejecutes algún otro plugin de registro de datos para llevar el control de todos los cambios.
El registro también es una función clave del sistema de protección de Sucuri. A pesar de sus intentos excesivamente celosos de garantizar la seguridad, a veces ocurren cosas malas y las webs son hackeadas. Cuando eso pasa, su sistema de registro es muy útil para ayudar a sacar las webs del atolladero.
Los firewalls, los escáneres de malware y los registros de auditoría son muy útiles frente a amenazas que no pueden predecirse y frente a exploits de día cero. No son sustitutos de las buenas prácticas de seguridad de WordPress.
#8. Ocultar tu versión de WordPress: ¿es necesario?
He leído en algunas webs que ocultar tu versión de WordPress añadirá seguridad frente a hackers maliciosos. El problema es que hay una suposición de que el conocimiento de las vulnerabilidades asociadas a un WordPress en particular hace más probable que alguien las explote. Esto no es necesariamente cierto. Por lo general, la gente que roba información de las webs usa herramientas automatizadas para escanear webs en busca de vulnerabilidades conocidas. Y si tu versión de WordPress es vulnerable, entonces lo sabrán. No es como si los hackers revisaran un sitio cada vez y los ordenaran por versión de WordPress.
Como se dijo antes, actualiza tu WordPress, temas y plugins tan pronto como sea posible. Los hackers no discriminan entre sitios que muestran la versión de WordPress y webs que no.
En el improbable caso de que un hacker visite manualmente cada web y compruebe la versión de WordPress y luego intente encontrar vulnerabilidades, quizá te resulte fructífero ocultar tu versión de WordPress.
#9. Copia de seguridad: la última línea de la seguridad de la web
Siempre debes estar preparado para la eventualidad de que tu sitio de WordPress, a pesar de todas tus medidas de seguridad, sea comprometido. Si eso ocurre, necesitas intervenir y arreglar las cosas. Ahora bien, hay múltiples formas de lograr la recuperación del sitio. Las copias de seguridad con restauraciones de un clic son una solución fácil para una web comprometida, suponiendo que el agujero de seguridad o la vulnerabilidad ya se hayan corregido.
Las copias de seguridad automáticas son una parte necesaria y esencial del arsenal de seguridad de toda web de WordPress. Piensa en los plugins de seguridad como tu espada y en la copia de seguridad como tu escudo. Si tu ofensiva te falla, tu escudo, en este caso las copias de seguridad, se convierte en tu última línea de defensa.
Recuerda que estoy asumiendo que solo tu WordPress está comprometido y no tu servidor, que es un asunto completamente distinto. Pero la mayoría de los proveedores de hosting tienen un fuerte equipo de seguridad protegiendo sus servidores frente a elementos maliciosos constantemente y especialmente durante ataques globales. Escribí un artículo hace unas semanas sobre los distintos proveedores de servicios de hosting compartido, por si te interesa.
Copias de seguridad: si decides que te gustaría un plugin gratuito sin pagar un céntimo por servicios de copia de seguridad, entonces diría que puedes empezar con Updraft Plus, que es un plugin freemium.
Con este plugin puedes hacer copias de seguridad y guardar una copia de tu web en el almacenamiento proporcionado por varios servicios distintos. Incluye Google Drive, Amazon S3, Dropbox, Rackspace Cloud, FTP y SFTP y correo electrónico. También debes tener en cuenta que el plugin gratuito solo permite la copia de seguridad en una única ubicación. Necesitarás un complemento premium, si deseas utilizar el plugin para guardar tu web en varios lugares.
Este plugin, como la mayoría de los proveedores de copias de seguridad de WordPress, guarda todo, incluyendo tu contenido, la configuración de temas y plugins, y también puede ejecutar una copia de seguridad de la base de datos de WordPress separada de tus copias de seguridad normales.
Si te gustaría usar un servicio premium de copias de seguridad de WordPress, te recomendaría que echaras un vistazo a BackUp Buddy, VaultPress o BlogVault (he trabajado con ellos en el pasado y tienen un servicio estupendo).
Mantén disponible más de una copia de tu web y ten siempre una en una unidad física que no dependa de una conexión a internet. Las copias de seguridad son una buena idea incluso desde un punto de vista no relacionado con la seguridad. Cuando experimentas con temas y plugins, cuando actualizas temas, plugins o tu WordPress, siempre existe la posibilidad de que surja un problema de compatibilidad y rompa tu web.
Y por mi experiencia con las copias de seguridad automáticas, necesitas ir eliminando copias de las copias de seguridad de forma coherente con la frecuencia con la que vas añadiendo contenido nuevo y vas haciendo copias de seguridad.
Cuando se trata de mi PC, siempre prefiero soluciones de copia de seguridad que ofrezcan copias incrementales/diferenciales en lugar de copias completas, pero también ten en cuenta que con las primeras la reconstitución para la restauración lleva más tiempo. Lo mismo aplica sin duda a un sistema de copias de seguridad de WordPress. Aunque, a menos que tu proveedor de copias de seguridad cobre un extra con restricciones estrictas sobre los límites de almacenamiento de datos, no deberías preocuparte por ello.
Conclusión
No puedo evitarlo, esta cita de la saga de Harry Potter parece tan apropiada.
"¡Vigilancia constante!" – Ojoloco Moody
Moody es un cazador de magos tenebrosos en la saga, por si te lo preguntabas.
Como ya he mencionado antes, no existe la seguridad infalible en la web. Puedes tomar numerosas medidas de seguridad y aun así tener tu web hackeada. Pero garantizar que tu web funcione con SSL, que tus páginas de login estén reforzadas, que tus contraseñas y nombres de usuario sean notablemente poco familiares, que tu web esté totalmente actualizada y protegida frente a amenazas conocidas y con copias de seguridad completas a diario, mejora enormemente las probabilidades a tu favor.
Si quieres un WordPress completamente libre de hackeos/exploits, seguir todas las medidas de seguridad anteriores garantizará que tu web tenga una seguridad hermética. Pero incluso entonces, no puedes protegerte contra exploits de día cero o un hacker astuto empeñado en romper tu web, aunque esto es un evento muy improbable.
Piénsalo así. Si mi web es hackeada, ¿cuánto negocio e ingresos perderé? ¿Pondré en riesgo la información de mi cliente? ¿Me hará eso responsable de demandas? Cuando llegas al punto en que ves que los costes de tener tu web hackeada son razonablemente altos, entonces te sugeriría que uses o bien un servicio de hosting de WordPress gestionado o bien un portero web realmente grande en forma de los servicios de seguridad de Sucuri.
Tu web no necesita ser necesariamente popular para convertirse en objetivo. Y nunca se convertirá en una web de alto tráfico si cae continuamente víctima de hackeos y ataques.
Como he dicho antes sobre el hosting: si estás razonablemente seguro de tu capacidad para crear una web que genere ingresos que paguen los costes de los mejores servicios de hosting/seguridad, entonces ve a por lo mejor. Si puedes permitirte los mejores servicios de hosting/seguridad web, valdrá la pena a largo plazo, suponiendo que no seas desarrollador web de profesión.
Si no puedes permitirte el mejor hosting web gestionado ni una seguridad de primera, entonces pon en marcha las medidas de seguridad anteriores. Lo más probable es que tu web esté segura.
Si tienes alguna idea adicional sobre la seguridad de WordPress o ideas distintas sobre cómo proteger tu web de WordPress, me encantaría escuchar tus ideas en los comentarios de abajo. ¡Salud! 🙂
Dinos si te ha gustado la publicación.
