Añadir las IP de Jetpack a una lista de permitidos

Última actualización:

Controla quién puede (o no puede) acceder a tu web permitiendo direcciones IP en WordPress.

Asegúrate de que Jetpack pueda acceder a tu sitio para que podamos hacer copias de seguridad, realizar análisis de seguridad y restaurarlo a una versión anterior.

Permite todas las comunicaciones entre Jetpack y WordPress.com

Si quieres asegurarte de que Jetpack pueda comunicarse con tu sitio, o si el equipo de soporte te ha indicado que añadas nuestras IP a una lista de permitidos, permite estos rangos de IP:

IP de Jetpack

  • 122.248.245.244/32
  • 54.217.201.243/32
  • 54.232.116.4/32
  • 192.0.80.0/20
  • 192.0.96.0/20
  • 192.0.112.0/20
  • 195.234.108.0/22
  • 192.0.64.0/18

Importante: Estas direcciones IP pueden cambiar. Si escribes reglas de firewall basadas en IP, tendrás que actualizarlas cada vez que cambien las direcciones. También tenemos versiones legibles por máquinas de estos rangos de IP en JSON y texto sin formato que puedes utilizar para automatizar los cambios de configuración en tus sistemas.

Jetpack y XMLRPC.php acceden

Jetpack utiliza xmlrpc.php para comunicarse con WordPress.com. Si xmlrpc.php está bloqueado para todo el mundo, la conexión de Jetpack dejará de funcionar.

No tienes que bloquear xmlrpc.php por completo para proteger tu sitio. En su lugar, permite las solicitudes a xmlrpc.php procedentes de los rangos de IP de Jetpack indicados arriba y bloquea las solicitudes procedentes de cualquier otro lugar. La sección siguiente explica cómo distinguir el tráfico auténtico de Jetpack del tráfico que solo afirma ser Jetpack, y cómo configurar esa regla.

Cómo distinguir el tráfico auténtico de Jetpack del tráfico falso de Jetpack

Como Jetpack funciona en millones de sitios, los bots suelen enviar solicitudes a xmlrpc.php con un agente de usuario que dice «Jetpack» o «WordPress.com» para que el tráfico parezca legítimo. Un agente de usuario es un texto que el remitente elige, por lo que no demuestra de dónde procede una solicitud. Los investigadores de seguridad han encontrado sitios en los que la mayoría de las solicitudes que afirmaban ser Jetpack procedían de fuera de la red de Automattic.

Una solicitud auténtica de WordPress.com a tu sitio cumple todos los requisitos siguientes:

  • Procede de uno de los rangos de IP indicados arriba. Esta es la única comprobación fiable. La lista se mantiene actualizada en https://jetpack.com/ips-v4.txt y https://jetpack.com/ips-v4.json. WordPress.com se conecta a tu sitio únicamente mediante IPv4, por lo que no existe una lista de IPv6 y el dominio de tu sitio necesita un registro A para que Jetpack pueda conectarse.
  • Incluye for=jetpack en la cadena de consulta, junto con token, timestamp, nonce, body-hash y signature como parámetros. Jetpack verifica esa firma antes de ejecutar nada. Una solicitud a un /xmlrpc.php sin nada después no procede de Jetpack, independientemente de lo que indique su agente de usuario.

Una solicitud falsa no supera la comprobación de firma de Jetpack, pero para entonces WordPress ya se ha cargado, por lo que cada una sigue suponiendo para tu servidor una solicitud completa de PHP. Para evitar ese coste, bloquea las solicitudes falsas en el servidor web antes de que se inicie WordPress.

Permite xmlrpc.php solo desde Jetpack

Las reglas siguientes permiten xmlrpc.php desde los rangos de IP de Jetpack y devuelven un 403 a todos los demás. Si utilizas las aplicaciones móviles de WordPress, una herramienta de publicación para ordenador u otro servicio que se conecte mediante XML-RPC, añade también sus direcciones IP.

Apache (.htaccess)

<Files "xmlrpc.php">
Require ip 122.248.245.244 54.217.201.243 54.232.116.4 192.0.64.0/18 192.0.80.0/20 192.0.96.0/20 192.0.112.0/20 195.234.108.0/22
</Files>

nginx

Un bloque location independiente para xmlrpc.php sustituye el procesamiento normal de PHP del sitio para ese archivo, por lo que el propio bloque tiene que reenviar la solicitud a PHP. Copia la fastcgi_pass línea y cualquier otra configuración de fastcgi del bloque location ~ \.php$ existente.

location = /xmlrpc.php {
allow 122.248.245.244;
allow 54.217.201.243;
allow 54.232.116.4;
allow 192.0.64.0/18;
allow 192.0.80.0/20;
allow 192.0.96.0/20;
allow 192.0.112.0/20;
allow 195.234.108.0/22;
deny all;
# Same PHP handling as the rest of the site. Match these lines to your existing PHP location block.
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php-fpm.sock;
}

Cloudflare

Si tu sitio está detrás de Cloudflare u otro proxy, tu servidor web ve la dirección IP del proxy, no la del visitante, por lo que las reglas anteriores no funcionarán a menos que tu servidor esté configurado para restaurar la IP real del visitante. Es más sencillo añadir la regla en Cloudflare. Crea una regla personalizada de WAF que bloquee las solicitudes en las que:

(http.request.uri.path contains "xmlrpc.php" and not ip.src in {122.248.245.244 54.217.201.243 54.232.116.4 192.0.64.0/18 192.0.80.0/20 192.0.96.0/20 192.0.112.0/20 195.234.108.0/22})

No apliques la lista de permitidos a todo el sitio

Limita la regla a xmlrpc.php. Otras funciones de Jetpack llegan a tu sitio desde otras redes. Por ejemplo, Jetpack Boost genera CSS crítico desde los proveedores de alojamiento enumerados en la sección Jetpack Boost de abajo, y la CDN de imágenes de Jetpack obtiene tus imágenes de sus propios servidores. Una lista de IP permitidas para todo el sitio impediría que esas funciones funcionaran.

Prueba el cambio

  1. Abre Jetpack → Panel en el panel de administración de tu sitio y confirma que la conexión sigue activa. También puedes comprobar tu sitio desde la herramienta de depuración de Jetpack.
  2. Desde un ordenador situado fuera de los rangos de IP de Jetpack, envía una solicitud a xmlrpc.php y confirma que obtienes un 403:
curl -s -o /dev/null -w "%{http_code}\n" -X POST https://example.com/xmlrpc.php
  1. Comprueba los registros de acceso para //xmlrpc.php con dos barras. Algunos bots las utilizan y algunas herramientas de registro las cuentan como una URL diferente. Las reglas de nginx, Apache y Cloudflare indicadas arriba coinciden con ella, pero si has creado tu propia regla, asegúrate de que también lo haga.

Los rangos de IP pueden cambiar. Si creas esta regla manualmente, consulta de vez en cuando la lista publicada o automatízala a partir de la lista de texto sin formato o JSON para que se actualice por sí sola.

Usa Jetpack con Cloudflare (sin reglas de seguridad adicionales)

De forma predeterminada, Cloudflare y Jetpack no deberían requerir ninguna configuración adicional para funcionar conjuntamente si no se han especificado configuraciones de seguridad adicionales con Cloudflare.

Utiliza Jetpack con Cloudflare (reglas de seguridad adicionales) y Sucuri

Si utilizas Cloudflare (con reglas de seguridad adicionales) o Sucuri, añade manualmente las IP de Jetpack.

Si utilizas Cloudflare, también permite admitir únicamente el tráfico procedente de servidores con un ASN específico (número de sistema autónomo). Para configurarlo, puedes permitir el acceso a 2635.

  • 192.0.64.0/24
  • 192.0.65.0/24
  • 192.0.66.0/24
  • 192.0.67.0/24
  • 192.0.68.0/24
  • 192.0.69.0/24
  • 192.0.70.0/24
  • 192.0.71.0/24
  • 192.0.72.0/24
  • 192.0.73.0/24
  • 192.0.74.0/24
  • 192.0.75.0/24
  • 192.0.76.0/24
  • 192.0.77.0/24
  • 192.0.78.0/24
  • 192.0.79.0/24
  • 192.0.80.0/24
  • 192.0.81.0/24
  • 192.0.82.0/24
  • 192.0.83.0/24
  • 192.0.84.0/24
  • 192.0.85.0/24
  • 192.0.86.0/24
  • 192.0.87.0/24
  • 192.0.88.0/24
  • 192.0.89.0/24
  • 192.0.90.0/24
  • 192.0.91.0/24
  • 192.0.92.0/24
  • 192.0.93.0/24
  • 192.0.94.0/24
  • 192.0.95.0/24
  • 192.0.96.0/24
  • 192.0.97.0/24
  • 192.0.98.0/24
  • 192.0.99.0/24
  • 192.0.100.0/24
  • 192.0.101.0/24
  • 192.0.102.0/24
  • 192.0.103.0/24
  • 192.0.104.0/24
  • 192.0.105.0/24
  • 192.0.106.0/24
  • 192.0.107.0/24
  • 192.0.108.0/24
  • 192.0.109.0/24
  • 192.0.110.0/24
  • 192.0.111.0/24
  • 192.0.112.0/24
  • 192.0.113.0/24
  • 192.0.114.0/24
  • 192.0.115.0/24
  • 192.0.116.0/24
  • 192.0.117.0/24
  • 192.0.118.0/24
  • 192.0.119.0/24
  • 192.0.120.0/24
  • 192.0.121.0/24
  • 192.0.122.0/24
  • 192.0.123.0/24
  • 192.0.124.0/24
  • 192.0.125.0/24
  • 192.0.126.0/24
  • 192.0.127.0/24

Configuraciones estrictas del firewall y Jetpack Boost

Si utilizas las funciones de Jetpack Boost junto con reglas estrictas del cortafuegos, tendrás que conceder excepciones para Subprocesadores del proveedor de hosting Fly.io. Para aprovechar al máximo todas las funciones de Jetpack Boost, asegúrate de añadir el ASN de cada proveedor de hosting de Fly.io a una lista de permitidos. Actualmente se incluyen CacheNetworks, Equinax, NetActuate, y OVH. Si Fly.io añade nuevos proveedores de hosting, puedes usar PeeringDB.com para localizar los ASN que debes añadir a la lista de permitidos.

Still need help?

Please contact support. We’re happy to advise.

¿Te ha resultado útil este artículo?