(New) WordPress in Paranoid Mode!
Este trabajo se plasmó en diferentes conferencias dónde Chema Alonso habló sobre ello y la importancia que tiene el controlar, a través de un segundo factor de autorización, la modificación de los datos o de la información. En la charla “My WordPress in Paranoid Mode”, Chema, hablaba de ello en Open Expo en el año 2016:
Figura 2: My WordPress in Paranoid Mode
Además, se puede seguir teniendo acceso al repositorio del año 2016 a través de su enlace en Github, aunque actualmente no es funcional debido a dependencias de alguna librería para MySQL. Esto supuso un reto para nosotros, ya que queríamos hacer que las dependencias desapareciesen.
Figura 3: Máxima Seguridad en WordPress |
Para los más técnicos, os dejamos un pequeño workshop, de los 11PathsTalks dónde os explicamos cómo funciona WordPress in Paranoid Mode! En este workshop se habla a bajo nivel de la solución propuesta y de cómo cubre la necesidad de tener el control de la edición y modificación del dato.
A modo de resumen y con el objetivo de mostrar las novedades os comentamos cómo funciona este (new) WordPress in Paranoid Mode. Para proteger la base de datos, se crean tres operaciones en la aplicación de Tu Latch que permiten el control de diferente manera:
- Read-Only: Este es el modo más restrictivo de todos. Cuando el pestillo está puesto en el en modo solo lectura, ningún usuario puede hacer login en WordPress. Únicamente se permite la lectura, por lo que no es posible realizar cambios en la base de datos (insertar, actualizar o eliminar).
- Edition: En este modo se protege la edición (tabla wp_posts), por lo que no se permite la creación de nuevos posts, ni la edición, ni la eliminación.
- Administration: Este modo permite proteger la creación, actualización o eliminación de usuarios, ya que actúa para proteger la tabla wp-users.
Cuando se desencadena un trigger, se comprueba el estado de Latch para ver si se tiene permitida la operación. Esto implica realizar una llamada al servicio de Latch cada vez que un trigger salta.
Ahora, hemos creado una nueva revisión de esta PoC, donde se han incluido algunas mejoras para adaptarlo a los flujos de trabajo actuales y se han optimizado algunos apartados. El mayor cambio, optimizando tiempos de respuesta y mejorando la eficiencia en el manejo de datos.
- En lugar de realizar una petición al servicio de Latch cada vez que se activa el trigger, se ha implementado el uso de los WebHooks que ofrece Latch. Esto ha sido una mejora notable para solventar problemas de latencia y de rendimiento.
- El agente conoce el estado de los pestillos (y se actualizan a través del WebHook). Esto permite mejorar la rapidez de las consultas para ver si se tiene al acceso a la creación, modificación o eliminación de la tabla de WordPress que se está protegiendo.
- Se ha desarrollado una GUI que te va guiando por distintos pasos para la instalación del agente en local y en remoto.
Para que la instalación se realice correctamente, hay algunos requisitos:
- Conexión con el motor de base de datos que contiene la base de datos de WordPress a proteger: Esta conexión debe hacerse con el usuario root. Esto es importante ya que se debe realizar la creación de la nueva base de datos que tendrá el estado de los pestillos por operación almacenados, así como la creación de un usuario para la gestión y consulta de esta tabla.
- Conexión con la aplicación de Latch: Se debe disponer de una cuenta de desarrollador de Latch para crear la aplicación y obtener su ID de aplicación y su secreto. De esta manera, el instalador creará las operaciones correspondientes (read-only, edition, administration) y las almacenará en la base de datos.
- Instalación del agente: El agente se ejecuta en segundo plano en una máquina con acceso desde internet y que será validado como el WebHook de la aplicación de Latch. Desde la GUI se puede instalar el agente en la máquina local o en una máquina remota a través de SSH. La máquina tiene que tener las siguientes dependencias instaladas: python3, python3-pip y gunicorn. Las pruebas de instalación de han ejecutado sobre la versión 3.12 de Python.
Tienes el nuevo código de WordPress in Paranoid Mode disponible en el repositorio de GitHub latch-plugin-wipm.
Contactar con Pablo González |
Powered by WPeMatico