Por qué rotar las salts y claves es la medida de seguridad de WordPress más desaprovechada

Las salts y claves de WordPress protegen todas las sesiones de tu sitio. Casi nadie las cambia nunca. Aquí te explicamos por qué rotarlas con regularidad es una de las mejoras de seguridad más baratas que existen.

A padlock on a laptop, representing WordPress security keys

Abre el archivo wp-config.php de cualquier sitio WordPress. Aproximadamente a mitad de página encontrarás un bloque de ocho definiciones con nombres como AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT y NONCE_SALT. Cada una es una cadena aleatoria larga. Son las salts y claves de WordPress: protegen cada cookie de autenticación y cada nonce que emite tu sitio. Casi nadie las cambia después de instalar el sitio por primera vez. Este artículo explica qué hacen realmente, por qué importa rotarlas y cómo hacerlo de forma segura.

Qué hacen las salts y las claves

Cuando inicias sesión en WordPress, el sitio establece una cookie que demuestra que tu sesión es válida. Esa cookie contiene un token que se firma usando una combinación de las claves y salts de wp-config.php. Sin conocer ambas, un atacante no puede falsificar una cookie válida ni modificar una existente sin invalidarla.

WordPress usa esos mismos secretos para generar y validar los nonces, los tokens de un solo uso que protegen los envíos de formularios y las acciones de administración frente a la falsificación de petición en sitios cruzados (CSRF). Son la base de buena parte de la seguridad de WordPress.

Si los secretos se filtran, cualquier token firmado con ellos sigue siendo válido hasta que los secretos cambien. Esta es la parte que importa de cara a la rotación.

Cuándo pueden filtrarse los secretos

Quizá pienses que tu wp-config.php nunca ha estado expuesto. Probablemente no lo haya estado de forma deliberada, pero hay varios escenarios habituales que pueden filtrar el contenido del archivo.

Un archivo de copia de seguridad en la raíz del sitio. Si estuvo descargable aunque fuera durante un breve intervalo, cualquiera que adivinara el nombre del archivo tiene el fichero. Hemos visto copias de seguridad con marcas de tiempo predecibles que cualquier atacante puede enumerar.

Un servidor mal configurado que sirvió archivos PHP como texto plano en lugar de ejecutarlos. Las configuraciones erróneas breves durante los despliegues son sorprendentemente comunes.

El portátil comprometido de un desarrollador o colaborador. El wp-config.php llevaba años en una copia local del sitio. Si su máquina fue vulnerada, también lo fue el archivo.

Un compromiso previo del propio sitio. Si un atacante tuvo acceso al sistema de archivos en algún momento del pasado, leyó wp-config.php y ahora tiene tus secretos para siempre, a menos que los rotaras.

Qué hace realmente la rotación

Rotar las salts y claves hace dos cosas importantes. Primero, invalida todas las sesiones existentes en el sitio: cada usuario con sesión iniciada, incluido cualquier atacante que siga usando una cookie robada, tiene que volver a entrar. Segundo, invalida todos los nonces pendientes: cualquier envío de formulario que dependa de un token emitido antes de la rotación será rechazado.

El primer efecto es la victoria en seguridad. Si un atacante tenía una cookie de sesión válida antes de la rotación, ya no la tiene.

El resto son detalles, pero ese primer efecto es exactamente por lo que merece la pena rotar.

El coste es pequeño

La única fricción de la rotación es una ronda de volver a iniciar sesión. Nada más. Cada usuario, tú incluido, cerrará sesión la próxima vez que acceda al sitio. Vuelven a entrar con sus credenciales de siempre y ya están dentro.

Para un blog personal esto es invisible. Para un sitio de empresa con varios empleados, envía un correo rápido avisando de que el cambio llega y de que tendrán que volver a iniciar sesión. Cinco minutos de aviso previo evitan la confusión.

No hay pérdida de datos ni tiempo de inactividad: solo sesiones que hay que renovar.

Cómo rotar

La mecánica es sencilla. Visita el generador oficial de claves secretas de WordPress en api.wordpress.org: produce un conjunto nuevo de ocho definiciones cada vez que lo cargas. Copia el bloque entero. Abre wp-config.php en tu servidor, ya sea por SFTP o mediante el editor de archivos de tu proveedor de hosting. Pega el nuevo bloque en lugar del existente. Guarda el archivo.

En la siguiente petición de página, todas las sesiones existentes quedan invalidadas. La próxima vez que abras el panel de administración, inicias sesión de nuevo.

Antes de hacerlo en producción, haz una copia de wp-config.php. El riesgo es pegar el nuevo bloque en el lugar equivocado y romper el archivo. La copia te da una reversión instantánea.

Con qué frecuencia rotar

Para un sitio pequeño de bajo riesgo, una rotación anual es una base razonable. Para un sitio de empresa con varios usuarios, trimestral o semestral. Para un sitio de mucho tráfico con administradores que entran y salen, tras cualquier cambio de personal.

Rota siempre después de cualquiera de estos eventos: un compromiso confirmado o sospechado; la salida de un empleado o colaborador con acceso de administrador; la aparición de un archivo de copia de seguridad en un lugar donde no debería estar; cualquier traslado de servidor importante que implicara transferir archivos por un canal no cifrado.

En otras palabras, rota según un calendario y también cada vez que ocurra algo que pudiera haber expuesto el archivo.

Combinada con otro fortalecimiento

La rotación de salts es una de varias medidas de bajo esfuerzo y alto impacto que se potencian al usarse juntas. Combínala con 2FA en cada cuenta de administrador, actualizaciones periódicas de plugins y del núcleo, una auditoría de quién tiene acceso y un wp-config.php limpio que no esté en ninguna carpeta pública.

El coste total en tiempo es de una o dos horas al año. El valor es cerrar una de las categorías de compromiso de WordPress más duraderas. Barato, fácil y casi siempre pasado por alto.

¿Necesitas ayuda?

Si quieres rotar las salts y claves de tu sitio WordPress como parte de una limpieza de seguridad más amplia, Defyn puede encargarse. Es uno de los pequeños trabajos que hacemos en cada incorporación.

Avatar de Claire Smith
Sponsored Loved this story? Defyn turns articles like this into the websites your competitors wish they had. Talk to us → defyn.com.au