Puoi limitare quali computer possono chiamare l'API Smoobu con le chiavi del tuo account aggiungendo i loro indirizzi IP pubblici a una lista di indirizzi consentiti, spesso chiamata whitelist IP. Appena la lista contiene almeno una voce, ogni richiesta da un altro indirizzo viene rifiutata, anche se chiave API e firma sono corrette. La lista è facoltativa e aggiunge un secondo livello di protezione sopra la firma delle richieste: vale solo per le richieste firmate. È disponibile su tutti gli account Smoobu con accesso all'API. La gestisci tu stesso in Avanzate > Chiavi API, nella scheda IP whitelist.
Prima di iniziare
Ti serve tutto questo perché la lista valga la pena:
- Accesso diretto all'API. È il tuo caso se usi script tuoi, un'integrazione su misura o uno strumento interno in cui hai incollato tu stesso la chiave API. Come ottenere una chiave e firmare le richieste è in Usa l'API di Smoobu: crea una chiave API, configura i webhook e firma le richieste.
- Indirizzi IP pubblici fissi. La lista funziona bene solo se le tue richieste partono da poche macchine stabili, come un server in affitto, una connessione d'ufficio con IP statico o un'istanza cloud con indirizzo riservato.
- Richieste firmate già funzionanti. La whitelist è un livello in più, non un'alternativa alla firma. Una richiesta da un indirizzo in lista deve comunque portare timestamp, nonce e firma validi. La whitelist non vale per le vecchie chiavi API, solo per quelle di generazione attuale: se usi ancora una vecchia chiave, aggiungere il tuo indirizzo alla lista non ha alcun effetto su di essa.
Gli strumenti che hai collegato tramite il Marketplace di Smoobu, come uno strumento per i prezzi o per il check-in, non sono toccati da questa lista. Eventuali restrizioni di indirizzo per quelle integrazioni le concorda Smoobu direttamente con il partner, quindi non devi configurare nulla.
Se la tua integrazione gira da indirizzi che cambiano spesso, per esempio funzioni serverless, un portatile su connessioni variabili o worker cloud senza indirizzo in uscita fisso, lascia la lista vuota e affidati solo alla firma. Una lista che invecchia di continuo blocca più richieste tue di quante ne protegga.
Una lista vuota non limita nulla
La lista viene controllata a ogni richiesta fatta con una qualsiasi delle chiavi API del tuo account, e ha effetto solo quando contiene una voce:
- Lista vuota: ogni richiesta viene accettata da qualsiasi indirizzo. È l'impostazione predefinita.
- Una o più voci: vengono accettate solo le richieste dagli indirizzi in lista. Tutto il resto viene rifiutato.
Non c'è un interruttore "blocca tutto" o "consenti tutto". La protezione viene interamente dalle voci che aggiungi, quindi aggiungi ogni indirizzo che ti serve. C'è una lista per account Smoobu, e copre tutte le chiavi API firmate di quell'account. Non puoi limitare una chiave e lasciarne un'altra aperta.
Smoobu controlla l'indirizzo prima di controllare la firma. Una richiesta da un indirizzo che non è in lista riceve una semplice risposta 401 Unauthorized che non menziona l'indirizzo. È voluto, così nessuno può sondare la lista dall'esterno. Significa anche che, se il tuo codice di firma non è cambiato e all'improvviso ogni richiesta restituisce 401, l'indirizzo è la prima cosa da controllare.
Puoi aggiungere questi tipi di voci:
- Un singolo indirizzo IPv4, per esempio 203.0.113.42, per una macchina con indirizzo pubblico fisso.
- Un singolo indirizzo IPv6, per esempio 2001:db8::42, per una macchina che raggiunge Smoobu via IPv6.
- Un intervallo in notazione CIDR, per esempio 198.51.100.0/24, per un blocco di indirizzi come una rete d'ufficio o un pool di gateway cloud. Aggiungi solo intervalli che controlli per intero. Un intervallo più ampio del necessario indebolisce la protezione che stai impostando.
Ogni voce può avere una breve etichetta, per esempio "Rete ufficio", per riconoscerla in seguito.
Passaggi
- Trova l'indirizzo IP pubblico che la tua integrazione usa per le chiamate in uscita. Spesso non è l'indirizzo locale che la macchina ti mostra. Il modo più affidabile è mandare una richiesta dalla stessa macchina e connessione che usa l'integrazione e leggere l'indirizzo pubblico restituito.
- In Smoobu apri Avanzate, poi Chiavi API, e seleziona la scheda IP whitelist.
- Clicca su Aggiungi. Nella finestra Aggiungi indirizzo IP inserisci l'indirizzo o l'intervallo in Indirizzo IP, aggiungi una breve etichetta in Etichetta (facoltativa) e salva.
- Ripeti il passaggio 3 per ogni macchina, replica, job pianificato e ambiente di test o staging che chiama l'API. Aggiungili tutti in una volta, perché la tua prima voce inizia subito a bloccare ogni indirizzo non in lista.
- Manda una normale richiesta firmata da una macchina in lista e verifica che vada a buon fine.
- Se puoi, mandane una da un indirizzo non in lista e verifica che restituisca 401 Unauthorized. È questo secondo test a dimostrare che la lista funziona.
Le modifiche hanno effetto subito. Puoi togliere una voce in qualsiasi momento, e togliere l'ultima ti riporta all'impostazione predefinita, in cui ogni indirizzo viene accettato.
Verifica che abbia funzionato
Una richiesta firmata da un indirizzo in lista riceve una risposta normale. La stessa richiesta mandata da un indirizzo che non è in lista restituisce 401 Unauthorized.
Problemi frequenti
Tutte le tue richieste hanno iniziato a restituire 401 all'improvviso
Se ogni richiesta fallisce nello stesso momento e il tuo codice di firma non è cambiato, controlla la connessione prima del codice. Gli indirizzi in uscita cambiano più spesso di quanto si pensi: il provider riassegna il tuo indirizzo, passi a un nuovo server o a una nuova regione cloud, oppure cambia la rete in ufficio. Ricava il tuo indirizzo in uscita attuale e aggiungilo alla lista. Se l'integrazione deve ripartire subito, togli tutte le voci per sospendere la restrizione finché non risolvi.
Alcune richieste funzionano e altre no
Le richieste arrivano da più posti di quelli che hai messo in lista. Cause tipiche: una seconda macchina, una replica o un job pianificato gira da un altro indirizzo; la tua connessione ruota tra più indirizzi; hai messo in lista il server di produzione ma anche un ambiente di test o staging chiama l'API. Raccogli gli indirizzi di tutto ciò che chiama l'API, non solo della macchina principale, e aggiungili tutti.
Hai aggiunto un indirizzo IPv4 ma le richieste restano bloccate
Se la tua macchina preferisce IPv6, l'indirizzo che Smoobu vede è quello IPv6, che non corrisponde alla voce IPv4. Aggiungi entrambi gli indirizzi, oppure configura l'integrazione per connettersi via IPv4.
Volevi far passare i webhook di Smoobu attraverso il tuo firewall
Questa lista limita le chiamate in entrata verso l'API Smoobu. Non ha alcun effetto sulle consegne dei webhook in uscita che Smoobu manda al tuo server. Smoobu non pubblica un insieme fisso di indirizzi da cui partono i webhook, quindi non mettere un filtro IP davanti al tuo endpoint dei webhook. Verifica invece le consegne dei webhook dal loro contenuto.
Articoli correlati
Ancora bloccato?
Se questi passaggi non hanno risolto, contatta il team Smoobu: apri il menu Aiuto per aprire un ticket o prenotare uno slot per una chiamata, oppure usa la bolla della chat in basso a destra. Per ottenere la risposta più rapida, indica:
- Il tuo Smoobu User ID (nel menu dell'icona del profilo, in alto a destra).
- Il nome o l'ID dell'alloggio, se riguarda un alloggio preciso.
- Il Booking ID, se riguarda una prenotazione precisa (Prenotazioni, poi Visualizza altro).
- Il nome del portale, se riguarda la sincronizzazione di un portale (Booking.com, Airbnb, Vrbo, e così via).
- Un breve passo per passo: cosa hai fatto, cosa ti aspettavi e cosa è successo.
- Screenshot o una breve registrazione dello schermo del problema.
- Il tuo browser e sistema operativo, se qualcosa si vede male a schermo.
Commenti
0 commenti
Accedi per aggiungere un commento.