Listas de endereços IP autorizados

A autenticação comprova que quem efetua a chamada conhece o seu segredo. Uma lista de IPs autorizados restringe as origens de onde a chamada pode provir, pelo que um token que tenha sido divulgado não é, por si só, suficiente. Defina-a por webhook, em «Definições avançadas» -> «Lista de IPs autorizados».

Aplica-se em conjunto com qualquer método de autenticação utilizado pelo webhook, incluindo «None». Um pedido proveniente de qualquer outro endereço é rejeitado com o código de erro 403 e o motivo ip_not_allowed, antes mesmo de se verificar o token ou a assinatura.

Preenchimento da lista

Uma entrada por linha, até um máximo de 50:

  • um único endereço IPv4 ou IPv6, como 203.0.113.10 ou 2001:db8::1
  • um intervalo CIDR, como 203.0.113.0/24 ou 2001:db8::/32

A maioria dos remetentes que vale a pena incluir na lista de autorizados publica os seus intervalos de endereços de saída - o Stripe, o GitHub, o Shopify e o Square fazem-no. Cole esses intervalos e volte a verificá-los quando o remetente anunciar uma alteração: uma lista de autorizados que nunca é atualizada acaba por rejeitar tráfego legítimo.

Que pedidos verifica

Pedido A lista de permissões é aplicável
Uma chamada para o URL do webhook Sim
Uma chamada para o URL do proxy da aplicação Não - esses e-mails chegam-nos a partir dos servidores da Shopify, e não do seu remetente
Uma corrida programada Não - somos nós próprios que fazemos o pedido
A ação do Shopify Flow que invoca este webhook Não
Enviar testes e repetições a partir do Histórico Não

É por isso que uma lista de permissões não substitui a autenticação: várias vias legítimas de acesso ao webhook não passam por ela.

O endereço que comparamos

Comparamos com o endereço de onde a solicitação chega efetivamente. Se houver algum elemento intermédio entre o remetente e nós - um proxy empresarial, um gateway de API, um túnel, uma CDN - , é esse endereço que deve ser incluído na lista de endereços autorizados, e não o do servidor de origem.

A forma mais rápida de o encontrar: envie um pedido com a lista de permissões vazia, abra a entrada em Histórico e resolução de problemas e leia o endereço que registámos.

Quando as coisas correm mal

Um pedido rejeitado continua a aparecer no Histórico com 403 e ip_not_allowed, pelo que pode ver o endereço que foi recusado e adicioná-lo. Nada é eliminado sem aviso prévio.

Relacionado