Cómo actualizar automáticamente las salts de WordPress
Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
Si alguna vez has visto el archivo de configuración principal (wp-config.php) de un sitio de WordPress, probablemente te habrás fijado en una sección que define ocho constantes de WordPress relacionadas con las claves de seguridad y las salts:
AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEYAUTH_SALTSECURE_AUTH_SALTLOGGED_IN_SALTNONCE_SALT
Nota: wp-config.php se encuentra por defecto en la carpeta raíz de tu instalación de WordPress.
Estas constantes contienen claves de seguridad y salts que WordPress utiliza internamente para añadir una capa adicional de autenticación y mejorar la seguridad.
WordPress utiliza cookies (en lugar de sesiones PHP) para realizar un seguimiento de quién tiene actualmente una sesión iniciada. Esta información es almacenada mediante cookies en tu navegador.
Para asegurarse de que los detalles de autenticación sean lo más seguros posible, se utilizan claves y salts únicas que aumentan el nivel de cifrado de las cookies. Se recomienda que sean cadenas largas de caracteres alfanuméricos y de símbolos aleatorios (normalmente formados por 64 caracteres).
Las constantes de clave de seguridad AUTH_KEY, SECURE_AUTH_KEY y LOGGED_IN_KEY se añadieron en WordPress 2.6, lo que reemplazó a una clave única todo en uno introducida por primera vez en WordPress 2.5.
NONCE_KEY se añadió poco después, en WordPress 2.7. Las salts correspondientes AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT y NONCE_SALT se añadieron junto con cada clave de seguridad, pero no fueron añadidas a wp-config.php hasta WordPress 3.0.
Antes de WordPress 3.0, podías añadir opcionalmente tus propias definiciones de constantes de salt a wp-config.php, si no lo hacías, estás eran generadas por el propio WordPress y almacenadas en la base de datos.
Mientras que las cuatro constantes de clave de seguridad son necesarias, si eliminas las constantes de salt del archivo de configuración de WordPress, las deja en sus valores predeterminados, o si cualquier salt es un duplicado de otra, WordPress recuperará la salt de la base de datos y sustituirá el duplicado.
Para los nuevos sitios de WordPress, las salts se generarán y serán almacenadas en la base de datos.
Configurar inicialmente las claves de seguridad y las salts
Durante la instalación, WordPress no genera claves/salts de seguridad únicos en wp-config.php. En su lugar, se introduce el mismo mensaje predeterminado para cada constante.



Si acabas de instalar WordPress en un servidor remoto, entonces es recomendable que cambies el mensaje predeterminado para cada clave de seguridad/constante de salt a un valor adecuado y único.
En ocasiones, si instalas WordPress a través de un script personalizado, tu host hará esto por ti. Aún así, por tranquilidad, es posible que de todos modos desees actualizar las claves de seguridad/salts poco después de haber completado la instalación.
¿Por qué actualizar claves y salts?
Incluso después de que las claves de seguridad y las salts hayan sido establecidas inicialmente, es buena idea actualizarlas con frecuencia de vez en cuando. Cualquier cosa que puedas hacer para que tu sitio sea más seguro es por lo general una buena idea.
Y aunque es muy improbable que tus contraseñas (junto con tus claves de seguridad/salts) puedan ser descifradas, actualizarlas periódicamente es lógico, puesto que protegen contra circunstancias imprevistas como el hecho de que las copias de seguridad de tu sitio sean interceptadas por terceros no deseados, etc.
Cómo actualizar las claves de seguridad y las salts
Entonces, ¿cómo se actualizan realmente las claves de seguridad y las salts? Echemos un vistazo a algunos distintos métodos.
Actualizar manualmente las claves y las salts
Puedes crear manualmente nuevos valores para cada constante, pero esto es algo bastante tedioso, ¡especialmente si tienes más de un sitio de WordPress para actualizar! Además, es posible que cada clave/salt no sea tan segura como pudiese llegar a ser.
Afortunadamente, la simpática gente de WordPress ha hecho que este proceso sea muy simple al proporcionarnos una API que genera por ti automáticamente los valores de clave/salt. Todo lo que tienes que hacer es visitar una URL de clave secreta:
https://api.wordpress.org/secret-key/1.1/salt/
Cuando se cargue la página, te mostrarán cadenas únicas para cada constante, como se muestra a continuación:



Como puedes ver, cada clave/salt de WordPress generada es una secuencia aleatoria de 64 caracteres. Intenta actualizar la página varias veces para asegurarte de que la URL genera claves/salts completamente aleatorios cada vez.
Si estás desarrollando tu sitio WordPress de forma local, puedes copiar y pegar simplemente las claves/salts generadas directamente en wp-config.php para reemplazar las entradas existentes.
Consejo: Recomiendo usar siempre la URL anterior, que utiliza el protocolo HTTP seguro.
Esto eliminará eficazmente la posibilidad de que alguien intercepte las claves/salts generadas antes de que se muestren en el navegador cuando te son devueltas.
Si tu sitio está alojado en un servidor remoto, para actualizar las claves/salts necesitarás acceder y editar el archivo wp-config.php a través del panel de control de tu servidor, o a través de un cliente FTP que permite la edición de archivos remotos, como FileZilla (gratuito).
Usar un plugin para actualizar claves y salts
Si la idea de editar manualmente los archivos del servidor remoto hace que tu cabeza no pare de dar vueltas, es posible que desees usar un plugin en su lugar. Esta es una manera muy sencilla de actualizar tus claves de seguridad/salts con tan solo un clic de un botón.
Existen varios plugins para generar y actualizar tus claves de seguridad y salts. Un plugin relativamente nuevo es el denominado Salt Shaker, lanzado en octubre de 2016, es una solución ligera que tiene la ventaja añadida de que puedes programar actualizaciones automáticas de claves/salts que se produzcan cuando quieras. Y lo mejor de todo, es gratuito. Echemos un vistazo a cómo usarlo.
Descarga Salt Shaker desde el repositorio de WordPress o instálalo directamente desde tu administrador de WordPress de la manera habitual. Dirígete a Plugins > Añadir nuevo y comienza a escribir Salt Shaker en el campo de texto Buscar plugins.... Cuando veas que el plugin aparece en la lista, haz clic en Instalar ahora.



Después de instalar el plugin, aparecerá un botón Activar. Haz clic sobre él para finalizar la instalación.
Ahora que el plugin está activo, podemos probarlo. Para acceder a la configuración del plugin, dirígete a Herramientas > Salt Shaker en el administrador de WordPress.



Aquí, podemos actualizar inmediatamente las claves de seguridad/salts con un solo clic del ratón. Tan pronto como se haga clic en el botón Cambiar ahora, aparece un icono giratorio a la derecha para indicar que el plugin está actualizando wp-config.php. Tan pronto como el icono desaparezca, sabrás que las claves/salts de seguridad han sido actualizadas.
En general, el plugin funciona muy bien y podría ahorrarte mucho tiempo, especialmente si tienes varios sitios web de WordPress. Tal vez me gustaría ver un par de opciones más para elegir los intervalos de período de tiempo, por ejemplo, tres meses y seis meses, para aumentar la flexibilidad del plugin.
Además, sería muy útil disponer de un mensaje que nos indique claramente cuándo se han actualizado las claves/salts, al igual que una opción adicional del plugin para redirigir automáticamente a la página de inicio de sesión después de que las claves/salts hayan sido actualizadas.
Alternativamente, podemos marcar la casilla Cambiar claves y salts de WP y elegir cuándo se actualizan las constantes wp-config.php. Esta es una característica muy agradable y básicamente te permite olvidarte de tener que actualizar las claves de seguridad/salts. ¡Deja que el plugin lo haga todo por ti!
Sin embargo, recuerda que cada vez que se actualicen las claves de seguridad/salts, se te pedirá que inicies sesión de nuevo. Esto se debe a que las cookies relacionadas con los inicios de sesión serán invalidadas, y por tanto los usuarios deberán volver a iniciar sesión para actualizar la cookie.
Así que, antes de cambiar tus claves de seguridad/salts, es una buena idea tener tu información de inicio de sesión a mano para que no te quedes bloqueado accidentalmente fuera de tu sitio.
Usar un script de automatización para actualizar claves y salts
Si no quieres usar un plugin y tienes muchos sitios remotos de WordPress entonces podrías considerar usar un script para actualizar directamente las claves de seguridad/salts.
La desventaja de esto es que necesitas ser competente en scripting. Sin embargo, hay disponibles varias soluciones ya creadas, por lo que no tienes que codificar las unas propias necesariamente.
Uno de estos scripts, llamado WP-Salts-Update-CLI de Ahmad Awais, actualiza las claves de seguridad/salts en tu equipo local o servidor remoto.



Para instalar este script en tu ordenador (solo macOS), abre una ventana de terminal e introduce lo siguiente:
sudo wget -qO wpsucli https://git.io/vykgu && sudo chmod +x ./wpsucli && sudo install ./wpsucli /usr/local/bin/wpsucli
Esto hará que un script ejecutable esté disponible globalmente a través del comando wpsucli. Puedes ejecutarlo en tu equipo local para buscar activamente todas las instancias de archivos de configuración de WordPress y reemplazar las claves de seguridad/salts por nuevos valores directamente desde la API de URL de clave secreta de WordPress.
Al ejecutar el script en un servidor remoto, es recomendable hacerlo desde la carpeta raíz, es decir, cd /, y, a continuación, ejecutar wpsucli. Para obtener más información sobre el script, consulta la página principal de información.
Conclusión
En este tutorial, hemos cubierto qué son las claves/salts de seguridad de WordPress y por qué es importante actualizarlas periódicamente. También hemos analizado varias métodos para actualizarlas, desde copiar y pegarlas manualmente (si tienes acceso directo a wp-config.php) hasta usar un plugin para automatizar completamente el proceso. Si estás familiarizado con la línea de comandos, también puedes usar un script personalizado para actualizar sitios locales y remotos con bastante facilidad.
La desventaja es que aún así tendrás que ejecutar manualmente scripts, algo que puede ser olvidado con facilidad, por lo que en lugar de tener que programar esto en tu flujo de trabajo, el uso de un plugin para automatizar el proceso podría ser la mejor solución.
Sea cual sea el método que elijas, lo importante es recordar que estás añadiendo una capa de seguridad extra a tu(s) sitio(s) de WordPress, ¡y cualquier cosa que puedas hacer para lograrlo con un esfuerzo mínimo sólo puede ser algo positivo!
Y si estás buscando otras utilidades que te ayuden a construir tu creciente conjunto de herramientas para WordPress o para estudiar sobre código y te vuelvas más versado en WordPress, no olvides ver lo que tenemos disponible en Envato Market.



