Complementos de seguridad de WordPress: ¿los necesita?
Publicado: 2023-03-24Con Google entregando más de 22 millones de resultados para "complementos de seguridad de WordPress" y más de 1,000 complementos de seguridad enumerados en la página oficial de complementos de WordPress, no se puede negar su popularidad. Pero la verdadera pregunta es: ¿realmente necesita uno en su sitio para empezar?
Solo en virtud de su nombre y de lo que se anuncia que pueden hacer por su sitio, algunas soluciones en este espacio se están posicionando como complementos imprescindibles para garantizar que WordPress funcione de manera segura.Presumiblemente, para que pueda dejar de preocuparse por la seguridad por completo.
Esto está lejos de la realidad.
De hecho, el uso de un complemento de seguridad de WordPress mal construido puede ralentizar su sitio, agregando funcionalidad que debería ocurrir de manera realista en el nivel de la red antes de que su servidor deba procesar la solicitud.
Entonces, sin más preámbulos, profundicemos.
¿Necesita un complemento de seguridad de WordPress?
Cada sitio web es un objetivo potencial para los piratas informáticos maliciosos, algunos son objetivos más grandes que otros. Esto no es ningún secreto.
La popular publicación Fast Company recientemente (en el momento de escribir este artículo)violó sus sistemas por alguien que procedió a enviar notificaciones ofensivas de Apple News.
Las personas que intentan obtener acceso a sitios con intenciones maliciosas no necesariamente apuntan a empresas más grandes. Las pequeñas y medianas empresas podrían representar potencialmente un objetivo más fácil si asumen esto, quizás tomando menos precauciones como resultado.
Más allá de la molestia de lidiar con la situación, el tiempo perdido y la pérdida de ingresos que su sitio podría haber generado mientras permaneció inaccesible, las empresas tienen la obligación legal de proteger la información del cliente. Esta obligación conlleva el riesgo de una acción regulatoria.
No hace falta decir que nadie quiere ser víctima de un ataque. Pero dado que el ecosistema global de sitios de WordPress se valoró de forma independiente en aproximadamente $ 635,5 mil millones (USD), no sorprende que vender la promesa de seguridad haya demostrado ser una buena oportunidad comercial.
¿Cómo atacan los hackers los sitios de WordPress?
WordPress es de código abierto, por lo que las vulnerabilidades que se descubren en el núcleo de WordPress y cualquier tema o complemento eventualmente se vuelven de conocimiento público. Desafortunadamente, esto puede suceder antes de que WordPress pueda emitir un parche para la vulnerabilidad, creando una ventana de oportunidad para aquellos con malas intenciones. Los malos actores son muy conscientes de esta oportunidad, lo que les permite comenzar a apuntar automáticamente a sitios quepodríanestar ejecutando el tema o complemento vulnerable, para ver qué es posible.
Incluso sin estas vulnerabilidades, es bastante común que tanto las personas como los bots usen ataques de fuerza bruta para intentar obtener acceso a un sitio. Esto implica enviar múltiples solicitudes de inicio de sesión repetidamente en un esfuerzo por identificar las cuentas de usuario que usan combinaciones de nombre de usuario y contraseña predeterminadas o comunes.
Hay muchas formas posibles de piratear un sitio de WordPress, por lo que es tan importante un enfoque amplio a nivel del servidor .Algunos de los riesgos de piratería más probables incluyen los siguientes:
Ataques de fuerza bruta : este tipo de ataque implica probar repetidamente diferentes combinaciones de nombre de usuario y contraseña en un intento de obtener acceso al panel de administración de un sitio.
Inyección SQL : este tipo de ataque consiste en inyectar un código malicioso en la base de datos de un sitio web, que luego se puede usar para robar información confidencial o interrumpir la funcionalidad del sitio.
Cross-Site Scripting (XSS) : este tipo de ataque consiste en inyectar código malicioso en un sitio web, que luego es ejecutado por el navegador del usuario.Esto se puede usar para robar información confidencial, como credenciales de inicio de sesión, o para redirigir a los usuarios a un sitio web malicioso.
Inyección de archivos : este tipo de ataque consiste en cargar archivos maliciosos en un sitio web, como puertas traseras o malware.Estos archivos se pueden usar para obtener acceso no autorizado al sitio.
Software desactualizado : si un sitio web no se actualiza regularmente, puede tener vulnerabilidades que pueden ser aprovechadas por piratas informáticos.
Phishing : este tipo de ataque engaña a los usuarios para que proporcionen información confidencial, como credenciales de inicio de sesión, números de tarjetas de crédito y otra información personal mediante la creación de una página de inicio de sesión falsa.
Por qué los complementos de seguridad no son la opción inteligente
En virtud de cómo funcionan los complementos, solo funcionan una vez que una solicitud llega al servidor. Esto significa que solo es posible que el complemento de seguridad desafíe las cosas a nivel de PHP. Por ejemplo, esto podría incluir un inicio de sesión con algún mecanismo para evitar posibles accesos no autorizados una vez que el servidor haya recibido la solicitud.
El resultado de esto es, por supuesto, consumir recursos adicionales del servidor en cada solicitud al servidor, ya que se encuentra entre la solicitud y el comienzo del procesamiento de la salida. Evidentemente, esto ni siquiera es infalible: pluginvulnerabilities.com probó 31 complementos de seguridad contra una vulnerabilidad de día cero, y solo 6 de ellos pudieron defenderse del ataque.
Los complementos de seguridad de WordPress deben estar completamente cargados antes de que puedan comenzar a procesar el tráfico. Esto significa que estos complementos consumirán recursos incluso si su sitio web no está bajo ataque .
Tampoco es raro que los complementos de seguridad de WordPress tengan sus propias vulnerabilidades , y los piratas informáticos también pueden explotarlas.
Por ejemplo, Wordfence, un popular complemento de seguridad con más de 4 millones de usuarios, ha informado múltiples vulnerabilidades, como Cross Site Scripting y Broken Access Control a lo largo de los años. Estas vulnerabilidades se corrigieron rápidamente, pero esto no cambia el hecho de que los sistemas estuvieron expuestos, aunque por un corto tiempo.
También existe el peligro de que los complementos de seguridad puedan crear una falsa sensación de seguridad .Anteriormente, un administrador del sitio instaló un complemento de seguridad popular, creyendo que protegería su sitio de todo tipo de ataques, y luego descuidó otras medidas de seguridad importantes, como actualizaciones periódicas de software, contraseñas seguras, autenticación de dos factores. y copias de seguridad.
Otro problema que hemos visto es que los complementos de seguridad causanproblemas de compatibilidad con temas existentes u otros complementos.En algunos casos, este conflicto puede resultar en que su sitio sea vulnerable a ataques.
Y también es bastante común experimentarfalsos positivos al usar complementos de seguridad.Los complementos demasiado entusiastas pueden marcar acciones legítimas como maliciosas, lo que puede generar falsas alarmas e inconvenientes para los administradores y usuarios.
La conclusión es que cuando se trata de la seguridad de su sitio de WordPress,no existe una solución de complemento que pueda usar para configurarlo y olvidarlo .La seguridad es una bestia orgánica en evolución que necesita vigilancia constante.
¿Hay algún complemento de seguridad que valga la pena usar?
Entonces, ¿cómo se protege un sitio web de WordPress?
Para empezar, trabaje con un proveedor de alojamiento de WordPress que brinde competencia en seguridad, escalabilidad y rendimiento, como lo hacemos en Servebolt. Hacemos el trabajo pesado relacionado con mantener la infraestructura subyacente de sus sitios completamente segura.
Más allá de esto, desea que todas las solicitudes maliciosas (y potencialmente maliciosas) se bloqueen incluso antes de que lleguen a su servidor , antes de que tengan la oportunidad de consumir recursos para que pueda brindar la mejor experiencia posible alos visitantes reales del sitio web.
Un ejemplo de este tipo de solución es Cloudflare. Cloudflare es una empresa que brinda una variedad de servicios de seguridad de Internet, que incluyen una red de entrega de contenido (CDN), un sistema de nombres de dominio (DNS) y un firewall de aplicaciones web (WAF). Estos servicios trabajan juntos para proteger los sitios web de varias formas de ciberataque, como ataques DDoS, inyección SQL y secuencias de comandos entre sitios (XSS). Cloudflare también ofrece funciones adicionales como el cifrado SSL/TLS, así como un sistema de gestión de bots para mejorar aún más la seguridad de un sitio web.
En Servebolt, además de este enfoque, ofrecemos dos servicios proactivos administrados, Dominios aceleradosyServebolt CDN, que pueden fortalecer la seguridad de su sitio web.Se basan en la oferta empresarial de Cloudflare y ofrecemos dos dominios gratuitos a todos los clientes que se registran.
Usamos productos de seguridad basados en servidor, así como también construimos sobre el WAF de Cloudflare cuando se implementa a través de nosotros. Agregamos medidas de seguridad adicionales para reducir los intentos de piratería, así como para evitar el acceso directo al servidor cuando se usa Cloudflare para reducir los intentos de piratería de fuerza bruta. Estas medidas están configuradas para bloquear solicitudes potencialmente dañinas automáticamente y no requieren ninguna configuración o mantenimiento .
Aparte de eso, algunos complementos pueden mejorar la seguridad de su sitio, aunque estos de ninguna manera brindan una solución única:
- Dos factores :este complemento está desarrollado por el equipo de WordPress y permitela autenticación de dos factoresutilizando contraseñas de un solo uso basadas en el tiempo (OTP, Google Authenticator), segundo factor universal (FIDO U2F, YubiKey), correo electrónico y verificación de respaldo códigos.
Si sus credenciales se filtran en Internet, su servidor puede ser violado incluso si la mayor parte del tráfico malicioso está bloqueado por un firewall.Recomendamos encarecidamente utilizar la autenticación de dos factores para disuadir a los malos.
Una alternativa que utilizamos en Servebolt es Cloudflare Access .
- Patchstack yWPScan:un escáner de vulnerabilidades como Patchstack o WPScan puede ser útil para realizar un seguimiento de las vulnerabilidades. WP Scan, por ejemplo, verifica continuamente si hay amenazas para su servidor en una base de datos conocida de más de 37,000 vulnerabilidades mantenida por profesionales de seguridad de WordPress. Si se detecta una amenaza, puede activar unanotificación por correo electrónico o mediante un webhook personalizado con toda la información y recomendaciones necesarias para resolver el problema.
Consejos para fortalecer su sitio de WordPress
El uso de Accelerated Domains o Servebolt CDN protege su sitio contra muchos ataques conocidos. Implementan automáticamente la limitación de la tasa de inicio de sesión y XML-RPC para proteger contra ataques maliciosos de fuerza bruta en la página de inicio de sesión de su sitio. Pero puede mejorar aún más su seguridad implementando las siguientes prácticas de seguridad adicionales en su sitio web.
Limitación del acceso a archivos
Cada archivo y carpeta en su servidor tiene derechos de acceso asociados que especifican quién puede leer, escribir y ejecutar el archivo o directorio dado. Aunque tener permisos abiertos en los activos públicos de su sitio puede no parecer un gran problema, definitivamente es una mala práctica. Además, algunos archivos confidenciales, como .htaccessywp-config.php,deben bloquearse de forma segura.
Recomendamos que bloquee todos los archivos confidenciales tanto como sea posible y que afloje estos permisos solo brevemente cuando sea absolutamente necesario.
Para.htaccess, debe cambiar el nivel de permisos a 644 ; esto le otorgaría al propietario del archivo acceso de lectura y escritura, y todos los demás usuarios solo podríanleerel archivo.
Puede restringir estos permisos aún más para el archivowp-config.phpconfigurando el modo de permiso en400 o 440, lo que significa que solo el propietario (u, opcionalmente, también otros miembros del grupo seleccionado) pueden leer el archivo, mientras que las modificaciones sólo puede ser realizado por el usuario root.
Echemos un vistazo detallado a los requisitos de permisos para directorios específicos de WordPress:
- Directorio raíz de WordPress (/):
Todos los archivos, a excepción de.htaccess, deben tener permisos de escritura solo para su cuenta: establezca el modo de permisos en 644 para todos los archivos excepto.htaccess.
- Área de administración de WordPress (/wp-admin/):
Solo su cuenta debe poder escribir en todos los archivos: establezca el modo de permisos en 644 para todos los archivos.
- Lógica de aplicación de WordPress (/wp-includes/):
Solo su cuenta debe poder escribir en todos los archivos: establezca el modo de permisos en 644 para todos los archivos.
- Contenido proporcionado por el usuario (/wp-content/):
Este directorio está diseñado para que usted y el proceso del servidor web puedan escribir; establezca el modo de permisos en 664 para todos los archivos.
Sin embargo, dentro del directorio /wp-content/, puede encontrar:
- Archivos de temas (/wp-content/themes/):
Si desea utilizar el editor de temas incorporado, el proceso del servidor web debe poder escribir en todos los archivos. Si no necesita usar el editor, solo su cuenta de usuario puede escribir en todos los archivos.
- Archivos de complementos (/wp-content/plugins/):
Todos los archivos deben ser escribibles solo por su cuenta de usuario. Sin embargo, algunos complementos de terceros pueden necesitar acceso de escritura. Le recomendamos que elimine los permisos de escritura y los conceda solo a complementos específicos caso por caso.
Deshabilitar la ejecución de archivos PHP en directorios seleccionados
Puede mejorar aún más la seguridad de su sitio web de WordPress restringiendo la ejecución de archivos PHP en directorios donde no es necesario.
La primera ubicación donde debe deshabilitarlo es su carpeta/wp-content/porque un usuario podría cargar un script PHP malicioso e intentar ejecutarlo.
Puede deshabilitar la ejecución de PHP creando un archivo llamado.htaccessen la carpeta deseada y pegando el siguiente código en él:
<Archivos *.php> Negar todo </Archivos>
El código anterior crea una regla que prohíbe la ejecución de cualquier archivo PHP en el directorio especificado. Esto significa que incluso si un pirata informático inyecta código PHP malicioso en un archivo, no puede ejecutarse en el servidor, lo que evita cualquier daño a su sitio web.
Deshabilitar la indexación y exploración de directorios
La exploración de directorios es una función de los servidores web que muestra todos los archivos y directorios disponibles en un directorio determinado de un sitio web. Cuando está habilitado, cualquier persona en Internet puede ver todos los contenidos en cualquier ruta del sitio web. Este es un gran riesgo de seguridad, ya que puede revelar información confidencial y la configuración del servidor.
Por ejemplo, si alguien visitara https://www.example.com/static , podría ver (y descargar) todos los archivos presentes en esta ruta. Se recomienda encarecidamente desactivar esta función. Puede hacerlo agregando la siguiente línea a su archivo.htaccess.
Opciones -Índices
Use Fail2ban para detener los ataques de fuerza bruta
Fail2ban es una utilidad para servidores que puede crear dinámicamente reglas de firewall para bloquear direcciones IP en función de una condición predefinida. Puede usarlo con WordPress para bloquear temporalmente a un usuario si no puede iniciar sesión 3 veces seguidas.
No use el nombre de usuario "admin"
Para un hacker, una cuenta con privilegios administrativos es equivalente a las joyas de la corona: las cuentas de administrador pueden abrir todas las puertas del servidor. Como era de esperar, esta es la primera cuenta a la que se dirigen los piratas informáticos. Es una buena idea usar un nombre diferente para esta cuenta de administrador para que este proceso sea más difícil para ellos y disuadir cualquier ataque de fuerza bruta.
Si aún usa el nombre de usuario "admin", debe crear una segunda cuenta con un nombre diferente y otorgarle acceso de administrador.Inicie sesión en su segunda cuenta y elimine la cuenta de administrador anterior.
Restricción de privilegios de usuario de la base de datos
La seguridad de la base de datos es de suma importancia para cualquier sitio web. Al instalar varios sitios en su servidor, cree bases de datos y usuarios separados para cada sitio. Esto hace que sea más difícil para los intrusos obtener acceso al sistema completo y robar información personal.
También debe configurar correctamente los privilegios de la cuenta MySQL y deshabilitar cualquier función innecesaria, como la conexión TCP remota. También puede restringir los intentos de inicio de sesión si el usuario de la base de datos no se encuentra en una ubicación incluida en la lista blanca. Por ejemplo, puede bloquear el acceso a las conexiones raíz si la conexión no se inició en el host local.
Además, WordPress solo necesita permisos de lectura y escritura en una base de datos MySQL para funciones normales. Si otorga solo SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR a su usuario de la base de datos, todo seguirá funcionando bien. Sin embargo, a veces los complementos de terceros y las actualizaciones de WordPress pueden causar errores cuando intentan modificar el esquema de la base de datos o crear una nueva tabla. Lea atentamente las notas de la versión y la documentación de cada complemento si está utilizando esta medida de seguridad.
Cambiar la URL de wp-admin
Para que sea más difícil para los piratas informáticos lanzar ataques de fuerza bruta en su sitio de WordPress, considere cambiar la URL predeterminada de su panel de administración a algo oscuro. Para hacer esto, puede usar un complemento como WPS Hide Login o Change wp-admin login , que le permite personalizar su URL de inicio de sesión fácilmente.
Deshabilitar la edición de archivos
La función de edición de archivos en WordPress permite a los administradores editar archivos de temas y complementos directamente desde el tablero. Aunque es útil al configurar el sitio, esto puede representar un riesgo de seguridad si la cuenta del administrador se ve comprometida. Deshabilitar la funcionalidad de edición de archivos mitiga este riesgo.
Esto también reducirá las ediciones accidentales y hará cumplir una mejor documentaciónde los cambios, ya que todas las revisiones nuevas se rastrearán en el control de versiones y deberán pasar por pruebas antes de publicarse en el sitio.
Para deshabilitar la edición de archivos en WordPress, puede agregar la siguiente línea de código al archivo wp-config.php de su sitio:
definir ('DISALLOW_FILE_EDIT', verdadero);
Cambiar el prefijo de la base de datos
WordPress usa una cadena de texto común en todos los nombres de las tablas para facilitar la identificación. Cambiar este prefijo dificulta que los actores malintencionados adivinen los nombres de sus tablas cuando realizan ataques de inyección SQL y otras formas de explotación de bases de datos.
Aunque pueda parecer una mejora pequeña e insignificante, la mayoría de los ataques en Internet son realizados por bots automatizados que solo apuntan a la fruta madura. Al cambiar el valor predeterminado, puede defenderse contra la mayoría de los ataques automatizados .
Su prefijo de base de datos actual se almacena en el archivo wp-config.php en su directorio raíz de WordPress. El valor predeterminado se parece a esto.
$prefijo_tabla = 'wp_';
Puede reemplazar el prefijo "wp_" con un prefijo nuevo y único de su elección. Tenga en cuenta que solo puede usar letras, números y guiones bajos. Por ejemplo:
$table_prefix = 'mi_prefijo_personalizado_123_';
Después de guardar los cambios en el archivo wp-config.php, deberá actualizar manualmente las tablas SQL existentes con los nuevos nombres. Si no está seguro de cómo hacer esto, puede usar un complemento como Brozzme DB Prefix .
Cerrar sesión automáticamente de usuarios inactivos
La implementación de una función de cierre de sesión automático en WordPress puede ayudar a mejorar la seguridad de su sitio al finalizar automáticamente las sesiones de los usuarios después de un período específico de inactividad. Esta función puede ayudar a evitar el acceso no autorizado a su sitio en caso de que un usuario olvide cerrar sesión o si deja su dispositivo desatendido.
Para implementar una función de cierre de sesión automático en WordPress, puede usar un complemento como Cierre de sesión inactivo . Si lo hace, ayudará a proteger la privacidad de los usuarios al garantizar que la información confidencial no sea accesible a personas no autorizadas.
Informe posterior a la acción: tome medidas hoy para proteger su sitio y su reputación
Todos los días se piratean 30 000 sitios web , y con WordPress en el 43 % de la web, eso representa un posible riesgo de 12 900 sitios de WordPress seriamente comprometidos todos los días.
Desafortunadamente, los consejos disponibles en línea que detallan cómo mantener seguro un sitio de WordPress son vagos, desactualizados o simplemente incorrectos. Es este mal consejo, la dependencia exclusiva de los complementos de terceros y la suposición de que una vez que se establece la seguridad, puede olvidarse de ella, lo que da como resultado muchas de estas infracciones.
Aunque la seguridad nunca se 'hace', no tiene por qué ser un dolor de cabeza, y la mayoría de los consejos de este artículo son bastante sencillos para la mayoría. Por supuesto, tener una empresa de alojamiento web sólida que se tome la seguridad tan en serio como debería es un primer paso importante para la mayoría.
¿Alguna pregunta sobre cómo mantener seguros sus sitios de WordPress?No dude en ponerse en contacto con nosotros y estaremos encantados de explicarle cómo Servebolt Cloud puede ayudarle a ofrecer la mejor experiencia posible a sus visitantes. O, si esta guía ya ha respondido a todas sus preguntas y está listo para probar el enfoque de Servebolt...
¿Está interesado en el alojamiento administrado que es empíricamente más rápido? Pruebe nuestro enfoque para el alojamiento de WordPress :
- Escalabilidad: en las pruebas de carga de trabajo de usuarios reales, Servebolt entregó tiempos de respuesta promedio de 65 ms, tiempos de respuesta 4,9 veces más rápidos que el segundo mejor.
- Los tiempos de carga globales más rápidos: los tiempos de carga de página promedio de 1,26 segundos nos colocan en la parte superior de la lista de resultados globales de WebPageTest.
- La velocidad informática más rápida: los servidores Servebolt brindan velocidades de base de datos nunca antes vistas, procesando 2,44 veces más consultas por segundo que el promedio y ejecutando PHP 2,6 veces más rápido que el segundo mejor.
- Seguridad y tiempo de actividad perfectos: con un tiempo de actividad del 100 % en todos los monitores y una calificación A+ en nuestra implementación de SSL, puede estar seguro de que su sitio está en línea y seguro.