{"id":6793,"date":"2018-06-18T06:48:05","date_gmt":"2018-06-18T06:48:05","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-tutoriales\/?p=6793"},"modified":"2023-02-13T22:33:25","modified_gmt":"2023-02-13T21:33:25","slug":"que-es-xmlrpc-php-wordpress-por-que-desactivarlo","status":"publish","type":"post","link":"\/co\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo","title":{"rendered":"\u00bfQu\u00e9 es xmlrpc.php en WordPress y por qu\u00e9 deber\u00edas desactivarlo?"},"content":{"rendered":"<p>WordPress siempre ha tenido caracter&iacute;sticas integradas que te permiten interactuar remotamente con tu sitio. Ac&eacute;ptalo, hay veces en que necesitas acceder a tu sitio web y tu computadora no est&aacute; cerca. <\/p><p>Durante mucho tiempo, la soluci&oacute;n era un archivo llamado <strong>xmlrpc.php<\/strong>. Pero en los &uacute;ltimos a&ntilde;os, el archivo se ha convertido m&aacute;s en un da&ntilde;o que en una soluci&oacute;n.<\/p><p>A continuaci&oacute;n profundizaremos en qu&eacute; es xmlrpc.php y por qu&eacute; fue creado. Tambi&eacute;n haremos un repaso de los problemas de seguridad comunes que causa y c&oacute;mo arreglarlos en tu propio sitio de <a href=\"https:\/\/es.wordpress.org\/\" target=\"_blank\" rel=\"noopener\">WordPress<\/a>.<\/p><p class=\"has-text-align-center\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Mega-WordPress-Cheat-ES.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Descarga la hoja de trucos de WordPress definitiva<\/a><\/p><h2 class=\"wp-block-heading\" id=\"h-que-es-xmlrpc-php\">&iquest;Qu&eacute; es Xmlrpc.php?<\/h2><p>XML-RPC es una caracter&iacute;stica de <a href=\"\/co\/tutoriales\/que-es-wordpress\">WordPress<\/a> que permite que los datos se transmitan, con HTTP actuando como el mecanismo de transporte y XML como el mecanismo de codificaci&oacute;n. Dado que WordPress no es un sistema encerrado en s&iacute; mismo y ocasionalmente necesita comunicarse con otros sistemas, la intenci&oacute;n era realizar ese trabajo.<\/p><p>Por ejemplo, supongamos que quisieras publicar en tu sitio desde tu dispositivo m&oacute;vil ya que tu computadora no est&aacute; cerca. Podr&iacute;as usar la funci&oacute;n de acceso remoto habilitada por xmlrpc.php para hacerlo.<\/p><p>Las funciones principales de xmlrpc.php eran permitirte conectarte a tu sitio a trav&eacute;s de un tel&eacute;fono m&oacute;vil, implementar trackbacks y pingbacks desde otros sitios, y algunas funciones asociadas con el plugin Jetpack.<\/p><h2 class=\"wp-block-heading\" id=\"h-por-que-se-creo-xmlrpc-php-y-para-que-se-usaba\">&iquest;Por qu&eacute; se cre&oacute; Xmlrpc.php y para qu&eacute; se usaba?<\/h2><p>La implementaci&oacute;n de XML-RPC se remonta a los primeros d&iacute;as de WordPress incluso antes de que se convirtiera en WordPress.<\/p><p>En los inicios de Internet, cuando las conexiones eran incre&iacute;blemente lentas, el proceso de escritura y publicaci&oacute;n en la web era mucho m&aacute;s dif&iacute;cil y requer&iacute;a m&aacute;s tiempo. En lugar de escribir dentro del navegador, la mayor&iacute;a de la gente escribir&iacute;a sin conexi&oacute;n, luego copiar&iacute;a y pegar&iacute;a su contenido en la web. A&uacute;n as&iacute;, este proceso estaba lejos de ser ideal.<\/p><p>La soluci&oacute;n (en ese momento) fue crear un cliente de blogs fuera de l&iacute;nea (offline) donde pudieras redactar tu contenido y luego conectarte a tu blog para publicarlo. Esta conexi&oacute;n se hizo a trav&eacute;s de XML-RPC. Con el marco b&aacute;sico de XML-RPC en su lugar, las primeras aplicaciones utilizaban esta misma conexi&oacute;n para permitirle a las personas iniciar sesi&oacute;n en sus sitios de WordPress desde otros dispositivos.<\/p><h3 class=\"wp-block-heading\" id=\"h-xml-rpc-en-la-actualidad\">XML-RPC en la actualidad<\/h3><p>En el 2008, con la versi&oacute;n 2.6 de WordPress, hab&iacute;a una opci&oacute;n para habilitar o deshabilitar XML-RPC. Sin embargo, con el lanzamiento de la aplicaci&oacute;n para iPhone de WordPress, la compatibilidad con XML-RPC se habilit&oacute; por defecto, y no hab&iacute;a ninguna opci&oacute;n para desactivar esta configuraci&oacute;n. Y esto se ha mantenido as&iacute; al d&iacute;a de hoy.<\/p><p>Sin embargo, la funcionalidad de este archivo ha disminuido considerablemente con el tiempo, y el tama&ntilde;o general del archivo ha disminuido de 83kb a 3kb, por lo que no desempe&ntilde;a un papel tan importante como el que sol&iacute;a tener.<\/p><h3 class=\"wp-block-heading\" id=\"h-el-futuro-de-xml-rpc\">El futuro de XML-RPC<\/h3><p>Con la nueva API de WordPress, podemos esperar que XML-RPC se elimine por completo. Hoy en d&iacute;a, esta nueva API todav&iacute;a est&aacute; en la fase de prueba y solo se puede habilitar mediante el uso de un plugin.<\/p><p>Sin embargo, puedes esperar que la API se codifique directamente en el n&uacute;cleo de WordPress en el futuro, lo que eliminar&iacute;a por completo la necesidad de tener el archivo xmlrpc.php.<\/p><p>La nueva API no es perfecta, pero proporciona una soluci&oacute;n m&aacute;s robusta y segura al problema que xmlrpc.php intentaba solucionar.<\/p><h2 class=\"wp-block-heading\" id=\"h-por-que-deberias-deshabilitar-xmlrpc-php\">Por qu&eacute; deber&iacute;as deshabilitar Xmlrpc.php<\/h2><p>Los mayores problemas con XML-RPC est&aacute;n relacionados con la seguridad. Los problemas no tienen que ver directamente con XML-RPC, sino con c&oacute;mo el archivo se puede usar para permitir un ataque de fuerza bruta a tu sitio.<\/p><p>Claro, puedes protegerte con contrase&ntilde;as incre&iacute;blemente fuertes y con plugins de <a href=\"\/co\/tutoriales\/como-mejorar-la-seguridad-wordpress\/\">seguridad de WordPress<\/a>. Pero, la mejor manera de protecci&oacute;n es simplemente deshabilitarlo.<\/p><p>Hay dos debilidades principales en XML-RPC que se han explotado en el pasado.<\/p><p>La primera es usar ataques de fuerza bruta para obtener acceso a tu sitio. Un atacante intentar&aacute; acceder a tu sitio usando xmlrpc.php mediante varias combinaciones de nombre de usuario y contrase&ntilde;a. Pueden incluso usar un solo comando para probar cientos de contrase&ntilde;as diferentes. Esto les permite eludir las herramientas de seguridad que normalmente detectan y bloquean los ataques de fuerza bruta.<\/p><p>La segunda era desactivar sitios a trav&eacute;s de un ataque DDoS. Los hackers utilizaban la funci&oacute;n pingback en WordPress para enviar pingbacks a miles de sitios de forma instant&aacute;nea. Esta caracter&iacute;stica en xmlrpc.php brinda a los hackers un suministro casi interminable de direcciones IP para distribuir un ataque DDoS.<\/p><p>Para verificar si XML-RPC est&aacute; activo en tu sitio, puedes ejecutarlo a trav&eacute;s de una herramienta llamada <a href=\"http:\/\/xmlrpc.eritreo.it\/\" target=\"_blank\" rel=\"noopener\">XML-RPC Validator<\/a>. Ejecuta tu sitio a trav&eacute;s de la herramienta, y si recibes un mensaje de error, significa que no tienes habilitado XML-RPC.<\/p><p>Si recibes un mensaje de &eacute;xito, puedes detener xmlrpc.php con uno de los dos m&eacute;todos siguientes.<\/p><h2 class=\"wp-block-heading\" id=\"h-metodo-1-deshabilitar-xmlrpc-php-con-plugins\">M&eacute;todo 1: Deshabilitar Xmlrpc.php con plugins<\/h2><p>Deshabilitar XML-RPC en tu sitio de WordPress no podr&iacute;a ser m&aacute;s f&aacute;cil.<\/p><p>Simplemente ve a la secci&oacute;n <strong>Plugins &gt; A&ntilde;adir nuevo<\/strong> desde tu escritorio de WordPress. Busca <strong>Disable XML-RPC <\/strong>e instala el plugin que se ve como el de la imagen siguiente:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"819\" height=\"403\" src=\"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2018\/06\/disable-xml-rpc.png\" alt=\"instalar el plugin Disable xmlrpc\" class=\"wp-image-13043\" srcset=\"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2018\/06\/disable-xml-rpc.png 819w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2018\/06\/disable-xml-rpc-300x148.png 300w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2018\/06\/disable-xml-rpc-150x74.png 150w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2018\/06\/disable-xml-rpc-768x378.png 768w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/figure><\/div><p>Activa el plugin y listo. Este plugin insertar&aacute; autom&aacute;ticamente el c&oacute;digo necesario para desactivar XML-RPC.<\/p><p>Sin embargo, ten en cuenta que algunos plugins existentes pueden utilizar partes de XML-RPC, por lo que deshabilitarlo por completo podr&iacute;a causar un conflicto de plugins o que ciertos elementos de tu sitio dejen de funcionar.<\/p><p>Si quieres desactivar determinados elementos de XML-RPC, pero a&uacute;n as&iacute; permitir que funcionen ciertos plugins y caracter&iacute;sticas, utiliza los siguientes plugins:<\/p><ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/es.wordpress.org\/plugins\/stop-xmlrpc-attack\/\" target=\"_blank\" rel=\"noopener\">Stop XML-RPC Attack<\/a>. Este plugin detendr&aacute; todos los ataques XML-RPC, pero continuar&aacute; permitiendo que los plugins como Jetpack y otras herramientas y plugins autom&aacute;ticos mantengan el acceso al archivo xmlrpc.php.<\/li>\n\n\n\n<li><a href=\"https:\/\/es.wordpress.org\/plugins\/control-xml-rpc-publishing\/\" target=\"_blank\" rel=\"noopener\">Control XML-RPC Publishing<\/a>. Esto te permite mantener el control y el uso sobre la opci&oacute;n de publicaci&oacute;n remota proporcionada por xmlrpc.php.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-metodo-2-deshabilitar-manualmente-xmlrpc-php\">M&eacute;todo 2: Deshabilitar manualmente Xmlrpc.php<\/h2><p>Si no quieres utilizar un plugin y prefieres hacerlo manualmente, usa este m&eacute;todo. Detendr&aacute; todas las solicitudes entrantes de xmlrpc.php antes de pasarlas a WordPress.<\/p><p>Abre tu <a href=\"\/co\/tutoriales\/que-es-el-archivo-htaccess\">archivo .htaccess<\/a>. Es posible que debas activar la funci&oacute;n &ldquo;mostrar archivos ocultos&rdquo; dentro del administrador de archivos o tu cliente FTP para ubicar este archivo.<\/p><p>Dentro de tu archivo .htaccess, pega el siguiente c&oacute;digo:<\/p><pre class=\"wp-block-preformatted\"># Block WordPress xmlrpc.php requests \n&lt;Files xmlrpc.php&gt; \norder deny,allow \ndeny from all \nallow from xxx.xxx.xxx.xxx&nbsp;\n&lt;\/Files&gt;<\/pre><p>\n\n\n\n<div><p class=\"important\"><strong>&iexcl;Importante!<\/strong> Cambia xxx.xxx.xxx.xxx por la direcci&oacute;n IP a la que deseas permitir el acceso a xmlrpc.php o quita esta l&iacute;nea completamente. <\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p>En general, XML-RPC fue una soluci&oacute;n s&oacute;lida para algunos de los problemas que ocurr&iacute;an debido a la publicaci&oacute;n remota en tu sitio de WordPress. Sin embargo, con esta caracter&iacute;stica surgieron algunos vac&iacute;os de seguridad que terminaron siendo bastante da&ntilde;inos para algunos propietarios de sitios de WordPress.<\/p><p>Para garantizar que tu sitio permanezca seguro, es una buena idea desactivar xmlrpc.php por completo. A menos que necesites algunas de las funciones para la publicaci&oacute;n remota y el plugin Jetpack. En tal caso, deber&iacute;as usar los plugins que permiten estas caracter&iacute;sticas, a la vez que solucionan los vac&iacute;os de seguridad.<\/p><p>Con el tiempo, podemos esperar que las caracter&iacute;sticas de XML-RPC se integren en la nueva API de WordPress, que mantendr&aacute; el acceso remoto y dem&aacute;s, sin sacrificar la seguridad. Pero, mientras tanto, es una buena idea protegerse de los potenciales vac&iacute;os de seguridad de XML-RPC.<\/p><p>&iquest;Has bloqueado el acceso XML-RPC a trav&eacute;s de un plugin o manualmente? &iquest;O tuviste alg&uacute;n problema de seguridad al tenerlo activo? Puedes compartir tu experiencia en los comentarios a continuaci&oacute;n.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"\/co\/hosting-wordpress\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/co-tutoriales\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\" alt=\"\" class=\"wp-image-40615\" srcset=\"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/co\/tutoriales\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner-768x225.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress siempre ha tenido caracter&iacute;sticas integradas que te permiten interactuar remotamente con tu sitio. Ac&eacute;ptalo, hay veces en que necesitas acceder a tu sitio web y tu computadora no est&aacute; cerca. Durante mucho tiempo, la soluci&oacute;n era un archivo llamado xmlrpc.php. Pero en los &uacute;ltimos a&ntilde;os, el archivo se ha convertido m&aacute;s en un da&ntilde;o [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/co\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":85,"featured_media":6794,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"El archivo xmlrpc.php de WordPress es \u00fatil pero provoca problemas de seguridad. En este post, aprender\u00e1s qu\u00e9 es y c\u00f3mo puedes deshabilitarlo.","rank_math_focus_keyword":"xmlrpc.php","footnotes":""},"categories":[4747,14348],"tags":[14186],"class_list":["post-6793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","category-experto","tag-xmlrpc-php"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/o-que-e-xmlrpc-php","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/xmlrpc-php","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/xmlrpc-php-wordpress","default":0},{"locale":"nl-NL","link":"https:\/\/www.hostinger.com\/nl\/tutorials\/xmlrpc-php-wordpress","default":0},{"locale":"ja-JP","link":"https:\/\/www.hostinger.com\/jp\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"ar-AE","link":"https:\/\/www.hostinger.com\/ae\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/que-es-xmlrpc-php-wordpress-por-que-desactivarlo\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/o-que-e-xmlrpc-php","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/xmlrpc-wordpress","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/xmlrpc-wordpress","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/comments?post=6793"}],"version-history":[{"count":12,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6793\/revisions"}],"predecessor-version":[{"id":28931,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6793\/revisions\/28931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/media\/6794"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/media?parent=6793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/categories?post=6793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/tags?post=6793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}