Listas de endereços IP permitidos

A autenticação comprova que o autor da chamada conhece o seu segredo. Uma lista de IPs permitidos restringe as origens possíveis da chamada; portanto, um token vazado, por si só, não é suficiente. Defina-a para cada webhook, em Configurações avançadas -> Lista de IPs permitidos.

Essa regra se aplica independentemente do método de autenticação utilizado pelo webhook, inclusive no caso de “None”. Uma solicitação proveniente de qualquer outro endereço é rejeitada com o código de erro 403 e o motivo ip_not_allowed, antes mesmo de o token ou a assinatura serem analisados.

Preenchimento da lista

Uma entrada por linha, até 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 merecem ser incluídos na lista de permissões publica seus intervalos de endereços de origem - o Stripe, o GitHub, o Shopify e o Square, por exemplo, fazem isso. Copie esses intervalos e verifique-os novamente quando o remetente anunciar uma alteração: uma lista de permissões que nunca é atualizada acaba rejeitando tráfego legítimo.

Quais solicitações ele verifica

Solicitação A lista de permissões se aplica
Uma chamada à URL do webhook Sim
Uma chamada à URL do proxy do aplicativo Não - esses e-mails chegam até nós a partir dos servidores do site Shopify, e não do seu remetente
Uma corrida programada Não - nós mesmos fazemos a solicitação
A ação do Shopify Flow que chama este webhook Não
Enviar testes e repetições do Histórico Não

É por isso que uma lista de permissões não substitui a autenticação: várias formas 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 realmente chega. Se houver algum elemento intermediário entre o remetente e nós - um proxy corporativo, um gateway de API, um túnel, uma CDN - , é esse endereço que o(a) senhor(a) deve incluir na lista de endereços permitidos, e não o do servidor de origem.

A maneira mais rápida de encontrá-lo: envie uma solicitação com a lista de permissões vazia, abra a entrada em Histórico e solução de problemas e leia o endereço que registramos.

Quando as coisas dão errado

Uma solicitação rejeitada ainda aparece no Histórico com 403 e ip_not_allowed, para que o senhor possa ver o endereço que foi recusado e adicioná-lo. Nada é descartado sem aviso prévio.

Relacionado