En nuestros servidores web, el archivo xmlrpc.php de WordPress está cerrado de forma predeterminada. Esto protege tu sitio web frente a una de las vías de intrusión más utilizadas y mantiene tu sitio rápido. ¿Aun así necesitas xmlrpc.php? Puedes abrirlo en unos pocos clics, para tus propias direcciones IP o (no recomendado) para todo el mundo. A continuación te explicamos cómo.


1. ¿Qué es xmlrpc.php?

xmlrpc.php es una antigua interfaz de WordPress. A través de ella, los programas externos pueden iniciar sesión y publicar entradas, por ejemplo un programa de blogs instalado en tu ordenador. Los pingbacks (avisos de que otro sitio enlaza al tuyo) también pasan por este archivo.

Los componentes modernos de WordPress apenas usan ya xmlrpc.php. El escritorio, el editor de bloques y la mayoría de los plugins funcionan con la API REST.


2. ¿Por qué xmlrpc.php está cerrado de forma predeterminada?

xmlrpc.php es el objetivo favorito de los atacantes:

  • Adivinar contraseñas a gran escala. Con una sola petición a xmlrpc.php se pueden probar cientos de contraseñas a la vez. Así se descubre enseguida una contraseña débil.
  • Tu sitio web se vuelve más lento. Cada intento pone en marcha WordPress. Miles de intentos al día consumen capacidad de cálculo que tus visitantes necesitan.
  • Abuso contra terceros. A través de los pingbacks, tu sitio web puede utilizarse para atacar otros sitios web.

Al cerrar xmlrpc.php de forma predeterminada, estos ataques se detienen antes de llegar a tu sitio web.


3. ¿Mi sitio web sigue funcionando con normalidad?

Sí. Tu sitio web, el escritorio de WordPress, la página de inicio de sesión y casi todos los plugins funcionan como siempre. En concreto:

  • Jetpack y WordPress.com siguen funcionando. Siempre les permitimos el paso.
  • La app de WordPress funciona si tu sitio está conectado mediante Jetpack. Si ya no puedes iniciar sesión en la app, abre xmlrpc.php para tu propia dirección IP (consulta más abajo).
  • Los pingbacks de otros sitios web dejan de llegar. Para la mayoría de los sitios eso es una ventaja, porque los pingbacks son en gran parte spam.
  • ¿Usas un programa de blogs externo o una integración que necesita xmlrpc.php? Ábrelo entonces para la dirección IP de ese programa o servicio.

¿Ves el mensaje 403 Forbidden en xmlrpc.php? Entonces está cerrado y la protección funciona.


4. Abrir xmlrpc.php desde DirectAdmin (recomendado)

Esta es la manera más fácil. No tienes que modificar ningún archivo.

  • Inicia sesión en DirectAdmin.
  • En el menú, ve a Extra Features y haz clic en XML-RPC (WordPress).
  • Arriba a la derecha, elige el dominio.
  • Elige uno de los tres modos:
    • Cerrado (recomendado, predeterminado).
    • Abierto para mis direcciones IP: escribe una dirección IP por línea. Con el botón Añadir incorporas directamente tu dirección IP actual.
    • Abierto para todos: no recomendado, consulta el apartado 7. Primero debes confirmar que entiendes los riesgos.
  • Haz clic en Guardar. El cambio se aplica en menos de un minuto.

El ajuste se aplica a todo el dominio, también a una instalación de WordPress en una subcarpeta.


5. Abrir xmlrpc.php desde .htaccess (manual)

¿Prefieres trabajar tú mismo en tus archivos? Abre entonces, desde el Administrador de archivos (File Manager) de DirectAdmin o por FTP, el archivo .htaccess de la carpeta public_html de tu dominio, y pon la línea al principio.

Abrir para una dirección IP

Sustituye 203.0.113.10 por tu propia dirección IP. Pon una barra invertida delante de cada punto:

SetEnvIf Remote_Addr "^203\.0\.113\.10$" !t7_xmlrpc_block

¿Varias direcciones IP? Usa entonces una línea por dirección. Una dirección IPv6 se escribe tal cual, por ejemplo:

SetEnvIf Remote_Addr "^2001:db8::10$" !t7_xmlrpc_block

Abrir para todos (no recomendado)

SetEnvIf Remote_Addr "." !t7_xmlrpc_block

Para volver a cerrarlo, basta con eliminar de nuevo la línea.


6. Atención: no uses "Require ip" ni "Require all granted

En internet encontrarás a menudo ejemplos como <Files xmlrpc.php> Require ip ... </Files>. No los uses en nuestros servidores. En nuestros servidores, una línea así abre xmlrpc.php para todo el mundo, no solo para la dirección IP indicada. Además, Require all granted desactiva nuestra protección adicional contra bots de ataque conocidos.

Usa, por tanto, siempre las líneas del apartado 5 o el botón de DirectAdmin.


7. Por qué no recomendamos "abierto para todos

Con xmlrpc.php abierto para todos, los atacantes pueden seguir probando contraseñas en tu sitio web día y noche. Esto aumenta el riesgo de intrusión y hace que tu sitio web sea más lento. ¿El servicio que usas tiene una dirección IP fija? Abre entonces xmlrpc.php solo para esa dirección. Elige "abierto para todos" únicamente si de verdad no hay otra opción y, en ese caso, usa como mínimo:

  • una contraseña segura y única para cada usuario de WordPress;
  • la autenticación de dos factores para los administradores.

8. ¿Necesitas ayuda?

¿No lo consigues, o algo ha dejado de funcionar desde que xmlrpc.php está cerrado? Ponte en contacto con nuestro soporte (por chat, ticket o correo, en español; por teléfono, en neerlandés e inglés). Indícanos de qué dominio y de qué programa o servicio se trata. Así configuramos xmlrpc.php contigo correctamente.

¿Buscas hosting WordPress? Consulta nuestra oferta.