Commits

Endurecimiento del conector: sesiones, fuerza bruta y antirreplay reales

Cinco medidas de seguridad del conector de mantenimiento: sesiones de WooCommerce que ya no se eliminan mientras están activas, xmlrpc dentro del bloqueo, endurecimiento que verifica lo que afirma, firmas antirreplay y latencia que no atasca el listado.

Jornada de endurecimiento del conector de mantenimiento: cinco frentes en el mismo archivo de seguridad y en sus vecinos, todo bajo prueba.

Sesiones que respiran

El borrado de sesiones de WooCommerce no tenía WHERE: se arrastraba carritos activos con las sesiones antiguas. Ahora filtra por session_expiry con UTC_TIMESTAMP() y solo elimina lo que ya ha caducado.

xmlrpc también cuenta

El bloqueo por fuerza bruta cubría wp-login, pero no xmlrpc: los ataques de diccionario llenaban el contador de fallos sin llegar a bloquear nunca. Ahora las dos puertas cuentan con la misma llave.

Endurecimiento honesto

El bloqueo de ejecución de PHP en uploads escribía el .htaccess y daba por hecha la protección. Si la escritura fallaba, el panel mostraba una protección que no existía. Ahora el conector comprueba que el bloqueo sigue en disco y, si no puede escribir, lo dice: respuesta de error, opción en 'no' y estado de endurecimiento activo solo cuando se puede verificar.

Antirreplay real

Las mutaciones firmadas con HMAC podían reenviarse tal cual: la firma siempre era válida. Ahora, toda firma de mutación ya consumida se recuerda durante cinco minutos y el reenvío se rechaza. Los GET no se memorizan para no romper las verificaciones repetidas del portal.

Latencia

El listado de complementos marcaba la comprobación como hecha aunque la actualización hubiera fallado, y el panel pasaba tres horas sin datos. Ahora lo marca solo cuando ha funcionado y lo reintenta en el siguiente listado. El escaneo de software malicioso de la auditoría se retrasa unos cinco minutos para no martillear cada apertura de pestaña.

Estado: el conector hace su trabajo sin afirmar nunca lo que no ha podido comprobar.