{"id":1420,"date":"2026-10-31T11:03:56","date_gmt":"2026-10-31T10:03:56","guid":{"rendered":"https:\/\/www.cisilino.com\/?p=1420"},"modified":"2026-10-31T11:04:01","modified_gmt":"2026-10-31T10:04:01","slug":"rotacion-de-credenciales-base-de-datos-ispconfig","status":"publish","type":"post","link":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/","title":{"rendered":"Rotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Roto las credenciales en el momento en que sospecho una brecha. No despu\u00e9s de confirmarla. La rotaci\u00f3n de credenciales de base de datos en un servidor ISPConfig suena a mantenimiento rutinario. Deja de ser rutinaria el d\u00eda que encuentras una web shell en un sitio alojado. O un archivo de configuraci\u00f3n que no puedes explicar, guardado en una copia de seguridad p\u00fablica. En ese momento, cada contrase\u00f1a vinculada a esa base de datos tiene que ser nueva. Verificada. Documentada. No simplemente asumida como correcta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp\" alt=\"rotaci\u00f3n de credenciales de base de datos: candado y llave girando sobre una base de datos ISPConfig\" width=\"1200\" height=\"630\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfCu\u00e1ndo deja de ser opcional la rotaci\u00f3n de credenciales?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hay unos pocos escenarios que se repiten lo suficiente como para mantener siempre listo un plan de rotaci\u00f3n. Prefiero no improvisarlo bajo presi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un plugin o CMS de un sitio alojado se ve comprometido. Escrib\u00ed sobre un caso real en este tipo de servidor en <a href=\"https:\/\/www.cisilino.com\/es\/2026\/10\/29\/php2shell-cve-2026-109618-mitigacion-servidores\/\">PHP2Shell: c\u00f3mo protej\u00ed los servidores a la espera del parche<\/a>. Era una vulnerabilidad de PHP que permit\u00eda a un atacante instalar una web shell antes de que existiera el parche. Una vez que una web shell se ejecuta bajo un usuario de hosting, a menudo puede leer el propio config.inc.php de ese sitio. En un servidor ISPConfig compartido, ese archivo est\u00e1 junto a las credenciales de la propia base de datos del panel de control. No solo la credencial que el atacante realmente buscaba.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un archivo de configuraci\u00f3n termina donde no deber\u00eda. Un archivo de copia de seguridad olvidado en una carpeta p\u00fablica. Un repositorio subido con un archivo suelto que no deb\u00eda estar ah\u00ed. Un log m\u00e1s legible de lo que nadie pretend\u00eda. config.inc.php y mysql_clientdb.conf no tienen nada que hacer en ninguno de esos lugares. Los errores ocurren igualmente, incluidos los m\u00edos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un administrador de sistemas deja el equipo. Por amistosa que sea la salida, las credenciales de base de datos compartidas que esa persona tuvo son credenciales en las que ya no conf\u00edo del todo. La confianza no se transfiere autom\u00e1ticamente cuando alguien se va.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una intrusi\u00f3n sospechada, incluso sin confirmar. Este caso es el m\u00e1s dif\u00edcil de explicar a quien nunca ha administrado un servidor bajo sospecha de ataque. No esperas a tener pruebas antes de actuar. Asumes el compromiso y rotas. Una rotaci\u00f3n innecesaria cuesta una tarde. Una que se omite, tras una brecha real, puede costar todos los sitios que alberga el servidor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos manual es tan propensa a errores<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La primera vez que rot\u00e9 a mano las credenciales de base de datos de ISPConfig, subestim\u00e9 cu\u00e1ntos archivos estaban involucrados. Todos tienen que cambiar juntos, o algo se rompe silenciosamente unas horas despu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Est\u00e1 config.inc.php en el lado del servidor, y una segunda copia en el lado de la interfaz. Ambas necesitan los mismos valores nuevos. Est\u00e1 mysql_clientdb.conf, que ISPConfig lee para gestionar la propia base de datos de cada sitio alojado, no solo su propio mantenimiento interno. Dovecot, Pure-FTPd y Postfix mantienen cada uno su propia copia de algunas de las mismas credenciales. El correo y el FTP pueden dejar de autenticar en silencio si actualizas el usuario de la base de datos y te olvidas de solo uno de esos tres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s est\u00e1 la topolog\u00eda Master\/Slave que usan algunas de mis configuraciones. Un nodo Slave se autentica contra la base de datos de su Master a trav\u00e9s de la red, con una contrase\u00f1a separada. Esa contrase\u00f1a tiene que rotarse en el propio Master, no solo localmente. Si te equivocas en el orden, un Slave puede quedar bloqueado fuera del mismo Master del que se supone que debe replicar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nada de eso es dif\u00edcil a nivel conceptual. Son muchos archivos. Varios servicios que reiniciar, en un orden sensato. Casi ninguna tolerancia a un error de tecleo, sobre todo mientras lo haces bajo presi\u00f3n, justo despu\u00e9s de encontrar algo que no quer\u00edas encontrar. Esa combinaci\u00f3n es exactamente la raz\u00f3n por la que la rotaci\u00f3n de credenciales de base de datos se sent\u00eda m\u00e1s arriesgada a mano de lo que la tarea deber\u00eda ser. Por eso escrib\u00ed reset_DB_password.sh, despu\u00e9s de vivir el problema yo mismo m\u00e1s de una vez.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 hace realmente reset_DB_password.sh<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">reset_DB_password.sh detecta si el nodo es Standalone, Master o Slave. Luego ejecuta solo las fases que ese rol necesita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La Fase A rota la contrase\u00f1a local de root de MySQL. Es la contrase\u00f1a que el propio ISPConfig usa para gestionar la base de datos de cada sitio alojado. El script actualiza mysql_clientdb.conf para que coincida con el nuevo valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La Fase B rota la contrase\u00f1a del usuario de control ispconfig. Actualiza config.inc.php tanto en el lado del servidor como en el de la interfaz. Despu\u00e9s actualiza las credenciales correspondientes dentro de Dovecot, Pure-FTPd y Postfix. As\u00ed, el correo y el FTP siguen autenticando sin un paso manual aparte por otros tres archivos de configuraci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La Fase C se ejecuta solo en un Slave. Se conecta de forma remota a la base de datos del Master. Rota ah\u00ed la contrase\u00f1a del usuario Slave, y despu\u00e9s actualiza dbmaster_password localmente, para que la replicaci\u00f3n siga autenticando correctamente con el nuevo valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de la Fase B, el script ofrece reiniciar Dovecot, Pure-FTPd y Postfix por ti. Casi siempre digo que s\u00ed. Una rotaci\u00f3n de credenciales que deja un servicio de correo funcionando con la contrase\u00f1a antigua no est\u00e1 terminada, solo est\u00e1 callada sobre estar rota. Reiniciar en la misma ejecuci\u00f3n, justo despu\u00e9s de cambiar los archivos de configuraci\u00f3n, mantiene todo dentro de una \u00fanica ventana de mantenimiento corta. Evita as\u00ed tres ventanas descubiertas por separado m\u00e1s tarde.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Copias de seguridad antes de cambiar nada<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de tocar un solo archivo, el script hace una copia completa con rsync de \/usr\/local\/ispconfig\/ en una carpeta con marca de tiempo. Tambi\u00e9n intenta un mysqldump no bloqueante de las bases de datos mysql y dbispconfig. No bloqueante a prop\u00f3sito: prefiero terminar una rotaci\u00f3n de credenciales antes que quedarme esperando un dump atascado por alguna raz\u00f3n ajena. Cada archivo de configuraci\u00f3n que edita recibe primero su propia copia .bak, antes de que se reemplace ninguna cadena dentro de \u00e9l.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nada de eso sustituye una estrategia de copias de seguridad independiente. Sigo haciendo un snapshot separado, o una copia de seguridad completa, antes de ejecutar esto en cualquier servidor que realmente importe. El propio descargo de responsabilidad del script dice lo mismo, de forma m\u00e1s directa de lo que yo lo acabo de decir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Primero en modo de prueba, siempre<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cada fase pide confirmaci\u00f3n antes de cambiar nada. &#8211;dry-run simula una ejecuci\u00f3n completa sin tocar un solo archivo. Uso dry-run primero en cada servidor, siempre. Incluso en los que ya he rotado credenciales antes, y creo conocer bien. &#8211;skip-local-root omite la Fase A, para cuando solo hay que rotar la contrase\u00f1a del usuario de control. &#8211;role=master o &#8211;role=slave anula la detecci\u00f3n autom\u00e1tica, para el caso poco frecuente en que no lee correctamente por s\u00ed solo la topolog\u00eda de un servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las contrase\u00f1as que genera tienen 32 caracteres, solo letras y n\u00fameros. Suficientemente largas para resistir intentos de adivinarlas. Suficientemente simples para que los propios parsers de MySQL y PHP nunca tropiecen con un s\u00edmbolo suelto en una cadena de conexi\u00f3n. He probado el script en ISPConfig 3.3.1p1. No lo he ejecutado contra ramas m\u00e1s antiguas o m\u00e1s nuevas. No asumir\u00eda un comportamiento id\u00e9ntico ah\u00ed, sin comprobarlo yo mismo antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El rol de un nodo no siempre es obvio a simple vista, sobre todo en un servidor que heredaste en lugar de construir t\u00fa mismo. Por eso existe &#8211;role, y por eso vale la pena leer l\u00ednea por l\u00ednea la salida de dry-run la primera vez, no solo echarle un vistazo. Prefiero pasar dos minutos confirmando que un Slave es realmente un Slave que descubrirlo de la peor manera a mitad de la rotaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lo que te dir\u00eda antes de que lo ejecutes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Aviso<\/strong>: el script se proporciona tal cual, con fines informativos. Su uso es bajo tu exclusiva responsabilidad: no asumo ninguna responsabilidad por p\u00e9rdida de datos, interrupciones del servicio, o cualquier error provocado por un uso incorrecto, una modificaci\u00f3n del c\u00f3digo, o un contexto distinto al que yo mismo utilizo. Haz siempre una copia de seguridad independiente o un snapshot de la VM antes de ejecutarlo en producci\u00f3n, al margen de lo que ya capture por ti el propio paso de backup del script.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es software libre. Puedes redistribuirlo y modificarlo, con atribuci\u00f3n a m\u00ed como autor original. El c\u00f3digo de reset_DB_password.sh, y el resto de la colecci\u00f3n ispconfig-fast-tools, est\u00e1 en GitHub en <a href=\"https:\/\/github.com\/matteocisilino\/ispconfig-fast-tools\" target=\"_blank\" rel=\"noopener\">github.com\/matteocisilino\/ispconfig-fast-tools<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La rotaci\u00f3n de credenciales de base de datos es un h\u00e1bito, no una tarea de limpieza<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La rotaci\u00f3n de credenciales de base de datos tras una brecha confirmada es simplemente respuesta a incidentes competente. La mayor\u00eda de administradores lo har\u00eda sin que se lo repitieran dos veces. El h\u00e1bito m\u00e1s dif\u00edcil es hacerlo tras una simplemente sospechada, antes de que nadie tenga pruebas. Esa es la \u00fanica versi\u00f3n del plan que realmente limita el da\u00f1o, mientras todav\u00eda es limitable. Un script que ejecuta las fases correctas seg\u00fan el rol del servidor, y que hace sus propias copias de seguridad primero. Adem\u00e1s, me permite probarlo todo en modo dry-run antes de tocar nada real. Eso es lo que hace que el h\u00e1bito sea pr\u00e1ctico un martes por la noche, en lugar de te\u00f3rico en una entrada de blog.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ISPConfig, MySQL, PHP, Dovecot, Pure-FTPd, Postfix y los dem\u00e1s nombres mencionados son marcas registradas de sus respectivos propietarios. Se usan \u00fanicamente para identificar los productos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.<\/p>\n","protected":false},"author":1,"featured_media":1411,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wpai_generated_summary":"","footnotes":""},"categories":[364],"tags":[374,384,295,545,544,343],"class_list":["post-1420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servidores-bases-de-datos","tag-gestion-de-servidores","tag-ispconfig-es","tag-mysql-es","tag-respuesta-a-incidentes","tag-rotacion-de-credenciales","tag-script-de-bash"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"matteocisilino\"\/>\n\t<meta name=\"google-site-verification\" content=\"_A-1f0dO30IDVHfP9muflI8kHQs-H4YOi8WLUkYzuLE\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Matteo Cisilino - Guide su WordPress, server e sicurezza\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Rotaci\u00f3n de credenciales de base de datos en ISPConfig\" \/>\n\t\t<meta property=\"og:description\" content=\"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-31T10:03:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-31T10:04:01+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Rotaci\u00f3n de credenciales de base de datos en ISPConfig\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#blogposting\",\"name\":\"Rotaci\\u00f3n de credenciales de base de datos en ISPConfig\",\"headline\":\"Rotaci\\u00f3n de credenciales de base de datos tras una brecha en ISPConfig\",\"author\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/author\\\/matteocisilino\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/database-credential-rotation-ispconfig.webp\",\"width\":1200,\"height\":630,\"caption\":\"database credential rotation lock and key rotating above an ISPConfig database\"},\"datePublished\":\"2026-10-31T11:03:56+01:00\",\"dateModified\":\"2026-10-31T11:04:01+01:00\",\"inLanguage\":\"es-ES\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#webpage\"},\"articleSection\":\"Servidores y bases de datos, gesti\\u00f3n de servidores, ISPConfig, MySQL, respuesta a incidentes, rotaci\\u00f3n de credenciales, script de bash\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/category\\\/servidores-bases-de-datos\\\/#listItem\",\"name\":\"Servidores y bases de datos\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/category\\\/servidores-bases-de-datos\\\/#listItem\",\"position\":2,\"name\":\"Servidores y bases de datos\",\"item\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/category\\\/servidores-bases-de-datos\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#listItem\",\"name\":\"Rotaci\\u00f3n de credenciales de base de datos tras una brecha en ISPConfig\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#listItem\",\"position\":3,\"name\":\"Rotaci\\u00f3n de credenciales de base de datos tras una brecha en ISPConfig\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/category\\\/servidores-bases-de-datos\\\/#listItem\",\"name\":\"Servidores y bases de datos\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#organization\",\"name\":\"Matteo Cisilino\",\"description\":\"Guide su WordPress, server e sicurezza\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-cisilino-512.png\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#organizationLogo\",\"width\":512,\"height\":512,\"caption\":\"Logo: un cerchio a sinistra che si divide in cerchi pi\\u00f9 piccoli\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/author\\\/matteocisilino\\\/#author\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/author\\\/matteocisilino\\\/\",\"name\":\"matteocisilino\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/639872265f0661e8aee8924ba9d756b00ea816f8286fab99a5116c729d49618f?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"matteocisilino\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#webpage\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/\",\"name\":\"Rotaci\\u00f3n de credenciales de base de datos en ISPConfig\",\"description\":\"Por qu\\u00e9 la rotaci\\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\\u00f3mo un script en tres fases la gestiona con copias de seguridad.\",\"inLanguage\":\"es-ES\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/author\\\/matteocisilino\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/author\\\/matteocisilino\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/database-credential-rotation-ispconfig.webp\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#mainImage\",\"width\":1200,\"height\":630,\"caption\":\"database credential rotation lock and key rotating above an ISPConfig database\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/2026\\\/10\\\/31\\\/rotacion-de-credenciales-base-de-datos-ispconfig\\\/#mainImage\"},\"datePublished\":\"2026-10-31T11:03:56+01:00\",\"dateModified\":\"2026-10-31T11:04:01+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/\",\"name\":\"Matteo Cisilino\",\"description\":\"Guide su WordPress, server e sicurezza\",\"inLanguage\":\"es-ES\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/es\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","description":"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.","canonical_url":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"_A-1f0dO30IDVHfP9muflI8kHQs-H4YOi8WLUkYzuLE","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#blogposting","name":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","headline":"Rotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig","author":{"@id":"https:\/\/www.cisilino.com\/es\/author\/matteocisilino\/#author"},"publisher":{"@id":"https:\/\/www.cisilino.com\/es\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp","width":1200,"height":630,"caption":"database credential rotation lock and key rotating above an ISPConfig database"},"datePublished":"2026-10-31T11:03:56+01:00","dateModified":"2026-10-31T11:04:01+01:00","inLanguage":"es-ES","mainEntityOfPage":{"@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#webpage"},"isPartOf":{"@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#webpage"},"articleSection":"Servidores y bases de datos, gesti\u00f3n de servidores, ISPConfig, MySQL, respuesta a incidentes, rotaci\u00f3n de credenciales, script de bash"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/#listItem","position":1,"name":"Home","item":"https:\/\/www.cisilino.com\/es\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/#listItem","name":"Servidores y bases de datos"}},{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/#listItem","position":2,"name":"Servidores y bases de datos","item":"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#listItem","name":"Rotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#listItem","position":3,"name":"Rotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig","previousItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/#listItem","name":"Servidores y bases de datos"}}]},{"@type":"Organization","@id":"https:\/\/www.cisilino.com\/es\/#organization","name":"Matteo Cisilino","description":"Guide su WordPress, server e sicurezza","url":"https:\/\/www.cisilino.com\/es\/","logo":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/logo-cisilino-512.png","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#organizationLogo","width":512,"height":512,"caption":"Logo: un cerchio a sinistra che si divide in cerchi pi\u00f9 piccoli"},"image":{"@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.cisilino.com\/es\/author\/matteocisilino\/#author","url":"https:\/\/www.cisilino.com\/es\/author\/matteocisilino\/","name":"matteocisilino","image":{"@type":"ImageObject","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/639872265f0661e8aee8924ba9d756b00ea816f8286fab99a5116c729d49618f?s=96&d=mm&r=g","width":96,"height":96,"caption":"matteocisilino"}},{"@type":"WebPage","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#webpage","url":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/","name":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","description":"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.","inLanguage":"es-ES","isPartOf":{"@id":"https:\/\/www.cisilino.com\/es\/#website"},"breadcrumb":{"@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#breadcrumblist"},"author":{"@id":"https:\/\/www.cisilino.com\/es\/author\/matteocisilino\/#author"},"creator":{"@id":"https:\/\/www.cisilino.com\/es\/author\/matteocisilino\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp","@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#mainImage","width":1200,"height":630,"caption":"database credential rotation lock and key rotating above an ISPConfig database"},"primaryImageOfPage":{"@id":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/#mainImage"},"datePublished":"2026-10-31T11:03:56+01:00","dateModified":"2026-10-31T11:04:01+01:00"},{"@type":"WebSite","@id":"https:\/\/www.cisilino.com\/es\/#website","url":"https:\/\/www.cisilino.com\/es\/","name":"Matteo Cisilino","description":"Guide su WordPress, server e sicurezza","inLanguage":"es-ES","publisher":{"@id":"https:\/\/www.cisilino.com\/es\/#organization"}}]},"og:locale":"es_ES","og:site_name":"Matteo Cisilino - Guide su WordPress, server e sicurezza","og:type":"article","og:title":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","og:description":"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.","og:url":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/","og:image":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp","og:image:secure_url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp","og:image:width":1200,"og:image:height":630,"article:published_time":"2026-10-31T10:03:56+00:00","article:modified_time":"2026-10-31T10:04:01+00:00","twitter:card":"summary_large_image","twitter:title":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","twitter:description":"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.","twitter:image":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/database-credential-rotation-ispconfig.webp"},"aioseo_meta_data":{"post_id":"1420","title":"Rotaci\u00f3n de credenciales de base de datos en ISPConfig","description":"Por qu\u00e9 la rotaci\u00f3n de credenciales de base de datos urge tras una brecha en ISPConfig, y c\u00f3mo un script en tres fases la gestiona con copias de seguridad.","keywords":null,"keyphrases":{"focus":{"keyphrase":"rotaci\u00f3n de credenciales"}},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-10-31 09:59:47","updated":"2026-10-31 09:59:47","focus_keyword":"rotaci\u00f3n de credenciales","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.cisilino.com\/es\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/\" title=\"Servidores y bases de datos\">Servidores y bases de datos<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tRotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.cisilino.com\/es\/"},{"label":"Servidores y bases de datos","link":"https:\/\/www.cisilino.com\/es\/category\/servidores-bases-de-datos\/"},{"label":"Rotaci\u00f3n de credenciales de base de datos tras una brecha en ISPConfig","link":"https:\/\/www.cisilino.com\/es\/2026\/10\/31\/rotacion-de-credenciales-base-de-datos-ispconfig\/"}],"_links":{"self":[{"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/posts\/1420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/comments?post=1420"}],"version-history":[{"count":2,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/posts\/1420\/revisions"}],"predecessor-version":[{"id":1435,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/posts\/1420\/revisions\/1435"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/media\/1411"}],"wp:attachment":[{"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/media?parent=1420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/categories?post=1420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cisilino.com\/es\/wp-json\/wp\/v2\/tags?post=1420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}