WordPress ocasionalmente enfrenta algunas fugas de seguridad en su base de código Core, pero es menos común de lo que piensas y se reparan de inmediato. Las actualizaciones automáticas introducidas en WordPress 3.7 ayudan a mitigar esos riesgos en 24 a 48 horas para decenas de millones de sitios web.
Dado que la seguridad es un tema común cuando se trata de WordPress, escribí un artículo extenso basado en nuestra experiencia trabajando con bancos y otras empresas:
Las principales consideraciones de seguridad para las empresas basadas en WordPress
- Cómo hackear mediante key loggers
- ¿Los programas antivirus o firewalls protegen contra los hackers?
- ¿Cómo son los cursos de seguridad cibernética de Udemy?
- Nuestro Redshift tiene SSL habilitado, pero Tableau aún puede acceder a él sin marcar 'SSL obligatorio'. ¿Qué le pasa a Tableau?
- Después de pasar por alto el firewall chino, ¿qué sitios web extranjeros valen la pena visitar?
Cubro los problemas esenciales informados por las empresas a lo largo de los años, conceptos erróneos comunes y recapitulamos diferentes vectores de ataque que los piratas informáticos maliciosos aprovechan a través de su proceso.
También hemos publicado un par de guías de seguridad en DevriX:
- Guía interactiva: la guía definitiva para asegurar su sitio web de WordPress – DevriX (~ 6,000 palabras)
- Cómo evaluar los complementos de WordPress para vulnerabilidades – DevriX (~ 2,500 palabras)
Con respecto a las pruebas de penetración, depende de diferentes casos de uso :
- ¿Qué tipo de aplicación web se prueba?
- ¿Qué proveedor realiza la prueba de penetración?
- ¿Qué porcentaje de la pila web es WordPress?
- ¿Dónde se aloja la plataforma?
- ¿La plataforma interactúa con datos confidenciales (SSN, registros de tarjetas de crédito, otros datos personales), que se almacenan durante un largo período de tiempo, etc.?
Hemos trabajado con organizaciones de seguridad como Verizon Enterprise Solutions y el Departamento de Seguridad Nacional para pruebas de penetración realizadas a aplicaciones desarrolladas o mantenidas por nuestro equipo.
Los tipos de informes se desglosan en gravedad y prioridad . Estos se tienen en cuenta al aplicar correcciones de seguridad después de discutirlos primero con nuestros clientes.
La gravedad y la prioridad pueden variar entre diferentes compañías de seguridad. Cumplen con diferentes estándares y ponen énfasis en las áreas donde ven un riesgo realista o una próxima violación.
Más a menudo que no, esos riesgos siguen una lista de mejores prácticas. A veces, las regulaciones no tienen mucho sentido. Se puede recomendar a un negocio de comercio electrónico que elimine la integración de la pasarela de pago para evitar posibles riesgos con pagos falsos, fugas de datos o una serie de sitios web de phishing.
Este es un ejemplo extremo, pero entiendes el punto.
Es por eso que revisamos cada punto cuidadosamente y discutimos el impacto en el negocio. Una mayor seguridad generalmente afecta la experiencia del usuario o la lógica comercial real , y un cliente puede decidir encontrar una solución alternativa que no resuelva el problema directamente.
En el mundo PHP, los hackers suelen utilizar funciones como eval () o base64_encode () para ocultar posibles vulnerabilidades del público. La mayoría de las empresas de alojamiento administrado incluso bloquean complementos o fragmentos que dependen de funciones similares.
Cuando se aseguran cuidadosamente, aún pueden ser instrumentales para algunos componentes o bibliotecas. Los depuradores internos los usan mucho. Las bibliotecas y herramientas de proxy que interactúan directamente con el sistema de archivos las necesitan. Las herramientas de terceros pueden requerir ejecutar un script Python o Ruby y procesar datos a través de ellos también.
Uno de nuestros clientes realmente dependía de una integración de Salesforce que era compleja y utilizaba eval () . Dado que esto había sido marcado como un problema crítico por la organización de seguridad y el host, tuvimos que escindir un VPS separado que sirvió como proxy. Fue una solución temporal terrible, pero tuvimos que cumplir sin tener que reescribir más de 20,000 líneas de código complejo.
La mayoría de los problemas reportados con proyectos de WordPress están relacionados con:
- El entorno de alojamiento / configuración.
- Apache / nginx, PHP, MySQL u otros servicios se ejecutaron en el contenedor de Linux.
- Complementos de WordPress.
- El tema de WordPress.
- Archivos y directorios personalizados que sirven datos dentro de la carpeta principal de WordPress.
- Decisiones de carga inseguras dentro de la carpeta principal / uploads.
- Archivos de acceso público que pueden contener datos confidenciales (robots.txt, .htaccess, sitemaps).
- Regulaciones de contraseña (longitud, complejidad, tiempos de vencimiento).
- Regulaciones de cuenta de usuario (inicio de sesión con autenticación de 2 factores, roles y capacidades limitados, tiempos de espera de sesión, restablecimiento de contraseñas cada X días).
WordPress Core rara vez es la razón de una violación de seguridad. Si bien hay correcciones de seguridad de vez en cuando, no hemos visto una revisión de seguridad formal que indique un problema dentro de la plataforma Core.
El problema es que una plataforma existente (y a menudo popular) no está compuesta solo por el núcleo de WordPress. La mayoría de los complementos y el tema existente incluyen una tonelada de componentes que contienen la lógica comercial central. Algunos de ellos no han sido revisados cuidadosamente antes de integrarlos en la plataforma, lo que causa la mayoría de los problemas posteriores.
Por lo tanto, el proveedor técnico realiza varias iteraciones de limpieza e implementa capas de seguridad adicionales de acuerdo con la revisión.
- Las soluciones comunes y obvias se aplican de inmediato.
- Algunos problemas técnicos del complemento se corrigen a través de las API del complemento (acciones y filtros).
- Un complemento / extensión de framework puede eliminar ciertas características que no están en uso para evitar actualizar el código existente.
- El equipo técnico puede bifurcar un complemento mal mantenido y utilizarlo como una solución independiente.
- Un complemento complejo e hinchado puede reemplazarse por uno personalizado, o una alternativa ligera y segura.
- La lógica del tema no relacionada con la presentación se puede extraer como un complemento separado, optimizado para la seguridad.
- Los datos inseguros o la gestión de usuarios se resuelven a través de procesos comerciales y otras actualizaciones de código y servidor.
Al final del día, la empresa intenta cumplir con las soluciones propuestas en el informe de seguridad. La mayoría de ellos se pueden resolver mediante actualizaciones de configuración o una limpieza de código (complementos y temas) y algunos se pueden esquivar con cuidado, antes de que afecten a la lógica comercial principal.