Puedes limitar qué equipos pueden llamar a la API de Smoobu con las claves de tu cuenta añadiendo sus direcciones IP públicas a una lista de permitidos, a menudo llamada lista blanca de IP. En cuanto la lista tiene al menos una entrada, cualquier petición desde otra dirección se rechaza, aunque su clave API y su firma sean correctas. La lista es opcional y añade una segunda capa de protección sobre la firma de las peticiones: solo se aplica a las peticiones firmadas. Está disponible en todas las cuentas de Smoobu con acceso a la API. La gestionas tú mismo en Avanzado > Claves API, en la pestaña IP whitelist.
Antes de empezar
Necesitas todo esto para que la lista merezca la pena:
- Acceso directo a la API. Es tu caso si usas scripts propios, una integración a medida o una herramienta interna en la que pegaste tú mismo tu clave API. Cómo conseguir una clave y firmar peticiones está en Usa la API de Smoobu: consigue una clave API, configura webhooks y firma tus solicitudes.
- Direcciones IP públicas fijas. La lista solo funciona bien cuando tus peticiones salen de un conjunto pequeño y estable de máquinas, como un servidor alquilado, una conexión de oficina con IP estática o una instancia en la nube con dirección reservada.
- Peticiones firmadas que ya funcionan. La lista blanca es una capa adicional, no una alternativa a la firma. Una petición desde una dirección listada sigue necesitando una marca de tiempo, un nonce y una firma válidos. La lista blanca no se aplica a las claves API antiguas, solo a las de la generación actual: si aún usas una clave antigua, añadir tu dirección a la lista no tiene ningún efecto sobre ella.
Las herramientas que conectaste a través del Marketplace de Smoobu, como una herramienta de precios o de check-in, no se ven afectadas por esta lista. Cualquier restricción de direcciones para esas integraciones la acuerda Smoobu directamente con el socio, así que no tienes que configurar nada.
Si tu integración se ejecuta desde direcciones que cambian a menudo, por ejemplo funciones serverless, un portátil con conexiones cambiantes o workers en la nube sin dirección de salida fija, deja la lista vacía y confía solo en la firma. Una lista que se queda desactualizada una y otra vez bloquea más peticiones tuyas de las que protege.
Una lista vacía no restringe nada
La lista se comprueba en cada petición hecha con cualquiera de las claves API de tu cuenta, y solo surte efecto cuando tiene una entrada:
- Lista vacía: se acepta cualquier petición desde cualquier dirección. Es el comportamiento por defecto.
- Una o más entradas: solo se aceptan las peticiones desde las direcciones listadas. Todo lo demás se rechaza.
No hay un interruptor de "bloquear todo" o "permitir todo". La protección viene por completo de las entradas que añades, así que añade cada dirección que necesites. Hay una lista por cuenta de Smoobu, y cubre todas las claves API firmadas de esa cuenta. No puedes restringir una clave y dejar otra abierta.
Smoobu comprueba la dirección antes de comprobar la firma. Una petición desde una dirección que no está en la lista recibe una respuesta escueta 401 Unauthorized que no menciona la dirección. Es a propósito, para que nadie pueda sondear la lista desde fuera. También significa que, si tu código de firma no ha cambiado y de repente todas las peticiones devuelven 401, lo primero que debes comprobar es tu dirección.
Puedes añadir estos tipos de entradas:
- Una única dirección IPv4, por ejemplo 203.0.113.42, para una máquina con dirección pública fija.
- Una única dirección IPv6, por ejemplo 2001:db8::42, para una máquina que llega a Smoobu por IPv6.
- Un rango en notación CIDR, por ejemplo 198.51.100.0/24, para un bloque de direcciones como una red de oficina o un grupo de pasarelas en la nube. Añade solo rangos que controles por completo. Un rango más amplio de lo necesario debilita la protección que estás montando.
Cada entrada puede llevar una etiqueta corta, por ejemplo "Red de la oficina", para reconocerla más tarde.
Pasos
- Averigua la dirección IP pública que usa tu integración para las llamadas salientes. A menudo no es la dirección local que te muestra tu máquina. Lo más fiable es enviar una petición desde la misma máquina y conexión que usa tu integración y leer la dirección pública que devuelve.
- En Smoobu, abre Avanzado, luego Claves API, y selecciona la pestaña IP whitelist.
- Haz clic en Añadir. En la ventana Añadir dirección IP, introduce la dirección o el rango en Dirección IP, añade una etiqueta corta en Etiqueta (opcional) y guarda.
- Repite el paso 3 para cada máquina, réplica, tarea programada y entorno de pruebas o staging que llame a la API. Añádelos todos de una vez, porque tu primera entrada empieza a bloquear de inmediato cualquier dirección no listada.
- Envía una petición firmada normal desde una máquina listada y comprueba que funciona.
- Si puedes, envía una desde una dirección que no hayas listado y comprueba que devuelve 401 Unauthorized. Esa segunda prueba es la que demuestra que la lista funciona.
Los cambios surten efecto al momento. Puedes quitar una entrada cuando quieras, y quitar la última te devuelve al comportamiento por defecto, en el que se acepta cualquier dirección.
Comprueba que funcionó
Una petición firmada desde una dirección listada recibe una respuesta normal. La misma petición enviada desde una dirección que no está en la lista devuelve 401 Unauthorized.
Problemas frecuentes
Todas tus peticiones han empezado a devolver 401 de golpe
Si todas las peticiones fallan en el mismo momento y tu código de firma no ha cambiado, revisa tu conexión antes que tu código. Las direcciones de salida cambian más a menudo de lo que la gente cree: el proveedor de internet reasigna tu dirección, te mudas a un servidor o región en la nube nuevos, o cambia la red de tu oficina. Averigua tu dirección de salida actual y añádela a la lista. Si necesitas que la integración vuelva a funcionar de inmediato, quita todas las entradas para levantar la restricción mientras lo resuelves.
Unas peticiones funcionan y otras no
Las peticiones llegan desde más sitios de los que listaste. Causas típicas: una segunda máquina, réplica o tarea programada se ejecuta desde otra dirección; tu conexión rota entre varias direcciones; listaste tu servidor de producción pero un entorno de pruebas o staging también llama a la API. Reúne las direcciones de todo lo que llama a la API, no solo de tu máquina principal, y añádelas todas.
Añadiste una dirección IPv4 pero las peticiones siguen bloqueadas
Si tu máquina prefiere IPv6, la dirección que ve Smoobu es la IPv6, que no coincide con tu entrada IPv4. Añade las dos direcciones o configura tu integración para conectar por IPv4.
Querías dejar pasar los webhooks de Smoobu por tu propio cortafuegos
Esta lista restringe las llamadas entrantes a la API de Smoobu. No afecta a las entregas de webhooks salientes que Smoobu envía a tu servidor. Smoobu no publica un conjunto fijo de direcciones desde las que se envían los webhooks, así que no pongas un filtro de IP delante de tu punto de recepción de webhooks. Verifica las entregas de webhooks por su contenido.
Artículos relacionados
¿Sigues bloqueado?
Si estos pasos no lo han solucionado, contacta con el equipo de Smoobu: abre el menú Ayuda para abrir un ticket o reservar una franja de llamada, o usa la burbuja de chat de la esquina inferior derecha. Para obtener la respuesta más rápida, incluye:
- Tu Smoobu User ID (en el menú del icono de perfil, arriba a la derecha).
- El nombre o ID del alojamiento, si es sobre un alojamiento concreto.
- El Booking ID, si es sobre una reserva concreta (Reservas, luego Ver más).
- El nombre del portal, si es sobre sincronización de portal (Booking.com, Airbnb, Vrbo, etc.).
- Un breve paso a paso: qué hiciste, qué esperabas y qué pasó.
- Capturas de pantalla o una breve grabación de pantalla del problema.
- Tu navegador y sistema operativo, si algo se ve mal en pantalla.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.