
Regeneración de claves de sal (Salts) en wp-config.php tras incidentes de seguridad
Tras un incidente de seguridad en un sitio WordPress, regenerar las claves de sal (salts) en wp-config.php es una acción rápida y efectiva para invalidar sesiones comprometidas y forzar el cierre de sesión de usuarios. En esta guía técnica y práctica veremos qué son las salts, por qué actúan como una medida de contención, cómo generarlas correctamente y qué pasos adicionales realizar para asegurar una recuperación completa.
Qué son las claves de sal en wp-config.php y su impacto real
Las claves de sal en WordPress son constantes que añaden entropía a las cookies y a las nonces; esto dificulta la predicción o reutilización de valores de autenticación. En wp-config.php encontrarás constantes como AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY y sus correspondientes _SALT. Cambiar estas líneas obliga a que todas las cookies de autenticación previas dejen de ser válidas.
Por qué regenerar salts inmediatamente tras un incidente
- Forzar cierre de sesión: cualquier cookie robada queda invalidada y los atacantes pierden acceso inmediato.
- Revocar nonces: las operaciones sensibles protegidas por nonces requieren regeneración, reduciendo ataques CSRF en curso.
- Medida de contención rápida: es una acción de impacto bajo y alto beneficio que corta vectores de acceso basados en sesiones.
Pasos prácticos para regenerar salts y acciones inmediatas
Antes de editar archivos produce una copia y, si es posible, activa modo mantenimiento o bloquea acceso público para evitar actividad concurrente. Sigue este flujo:
- 1. Backup completo: copia de ficheros y base de datos. No edites sin respaldo.
- 2. Poner el sitio en mantenimiento: evita cambios de usuarios mientras aplicas la rotación.
- 3. Regenerar las salts: sustituye las constantes en
wp-config.phppor nuevos valores aleatorios. - 4. Forzar logout y validar: tras subir el archivo, comprueba que se cierran las sesiones y que los administradores pueden volver a iniciar sesión.
- 5. Revisar y rotar credenciales: contraseñas administrativas, usuarios FTP/SFTP, accesos SSH, claves API y usuario de base de datos.
- 6. Escaneo y limpieza: busca puertas traseras, archivos modificados y usuarios desconocidos.
- 7. Monitorización: revisa logs y habilita alertas para actividad anómala.
Cómo generar valores seguros (ejemplos)
Los valores de las salts deben ser aleatorios y largos. Puedes generar valores desde servidor o local. Ejemplo en PHP (recomendado usar en entorno controlado):
<?php
function generar_salt($length = 64){
return bin2hex(random_bytes($length/2));
}
echo generar_salt(64); // 64 caracteres hex
?>
Consulta la documentación de PHP: random_bytes para compatibilidad y buenas prácticas. Alternativamente, en shell puedes usar openssl rand -base64 48 y adaptar la salida.
Ejemplo práctico: reemplazo en wp-config.php
Localiza las líneas de salts y sustitúyelas por nuevos valores. Ejemplo de bloque mínimo:
define('AUTH_KEY', 'nuevo_valor_generado_1');
define('SECURE_AUTH_KEY', 'nuevo_valor_generado_2');
define('LOGGED_IN_KEY', 'nuevo_valor_generado_3');
define('NONCE_KEY', 'nuevo_valor_generado_4');
define('AUTH_SALT', 'nuevo_valor_generado_5');
define('SECURE_AUTH_SALT', 'nuevo_valor_generado_6');
define('LOGGED_IN_SALT', 'nuevo_valor_generado_7');
define('NONCE_SALT', 'nuevo_valor_generado_8');
Comprobaciones y escaneo post-rotación
Regenerar salts es solo una pieza de la recuperación. Tras el cambio realiza estas comprobaciones:
- Verifica que todos los administradores legítimos pueden iniciar sesión y que no hay cuentas desconocidas.
- Escanea integridad de archivos: compara con una copia limpia o usa herramientas de escaneo de malware.
- Revisa logs del servidor y de WordPress para identificar IPs, timestamps y vectores de entrada.
- Valida permisos de archivos y propietarios: evita permisos 777 y cuentas de sistema incorrectas.
- Reemplaza certificados o claves si sospechas que se comprometieron otros componentes (SSH, API keys).
Aspectos técnicos: qué ocurre internamente al cambiar las salts
Al modificar las salts se altera la forma en que WordPress firma las cookies de autenticación y nonces. Esto tiene dos consecuencias útiles tras un incidente:
- Las cookies existentes dejan de ser válidas y el servidor exige reautenticación.
- Las nonces anteriores, utilizadas para impedir ataques CSRF, dejan de coincidir, bloqueando acciones en curso dependientes de ellas.
Para entender la gestión de sesiones y riesgos relacionados, la guía de OWASP sobre el manejo de sesiones aporta contexto relevante: OWASP Session Management Cheat Sheet.
Consideraciones adicionales de seguridad
- Cookies seguras: aplica flags
HttpOnly,SecureySameSitepara minimizar robo de cookies. Revisa la documentación en MDN Web Docs sobre Set-Cookie. - Autenticación multifactor: habilita 2FA para todos los usuarios con privilegios elevados.
- Principio de mínimos privilegios: limita accesos a SFTP/SSH y a la base de datos.
- Parcheo: actualiza WordPress core, temas y plugins a las versiones estables más recientes.
Checklist operativo rápido tras un incidente
- Backup completo (ficheros + DB).
- Regenerar salts en
wp-config.php. - Forzar reseteo de contraseñas administrativas y rotación de claves externas.
- Escaneo de malware y eliminación de puertas traseras.
- Revisar y limpiar cuentas de usuario no autorizadas.
- Aplicar hardening básico: permisos, deshabilitar edición de temas/plugins, revisar cron jobs.
- Monitoreo intensivo de logs y alertas durante 72 horas.
Política y respuesta ante incidentes
La regeneración de salts encaja en la fase de contención y erradicación de cualquier plan de respuesta a incidentes. Para diseñar procedimientos reproducibles y escalables, referenciaes de estándares como las recomendaciones del NIST sobre gestión de incidentes pueden ayudar a formalizar pasos y roles internos.
Conclusión
Regenerar las claves de sal en wp-config.php es una acción de bajo riesgo y alto impacto tras una brecha: invalida sesiones, reduce ventanas de ataque y forma parte de una estrategia de contención eficaz. Sin embargo, por sí sola no sustituye una investigación completa ni la rotación de otras credenciales. Aplica el cambio como primer paso inmediato, acompáñalo con escaneos, rotación de contraseñas, revisión de permisos y monitorización. Integrar estas rutinas en tu respuesta a incidentes mejora la resiliencia de tu WordPress y reduce el tiempo de exposición ante atacantes.