Przejdź do głównej zawartości

IP Allowlist

Wszystkie notyfikacje (webhooki) wychodzące z systemu Paymentic pochodzą z określonej puli adresów IP. Ograniczenie ruchu przychodzącego na Twój endpoint webhooka tylko do tej puli — na poziomie firewalla, WAF-a, load balancera albo security group w chmurze — to najprostsza i najtańsza warstwa obrony. Odfiltrowuje cały szum internetu, zanim dotrze on do logiki weryfikacji podpisu.

Dlaczego warto ją wdrożyć

  • Eliminuje niemal cały ruch "scanerów" internetowych szukających podatnych endpointów, zanim obciąży on Twoją aplikację.
  • Ogranicza powierzchnię ataku na wypadek błędu w implementacji weryfikacji podpisu — jeśli ktoś znajdzie lukę w HMAC walidacji, i tak nie dotrze na endpoint, bo zostanie odfiltrowany na warstwie sieciowej.
  • Nie wymaga zmian w kodzie aplikacji — konfiguruje się raz, na poziomie infrastruktury.

Allowlista IP nie zastępuje weryfikacji podpisu webhooka — adres IP można sfałszować, a w niektórych architekturach (proxy, CDN, chmurowe load balancery) IP źródłowe może być maskowane. Traktuj ją jako warstwę komplementarną do walidacji podpisu HMAC.

Adresy IP, z których wychodzą webhooki Paymentic

Środowisko produkcyjne

51.89.111.246/32
51.38.19.35/32
51.38.159.210/32
57.129.98.242/32
51.210.226.88/32

Środowisko sandbox

141.95.101.153/32
notatka

Lista adresów IP jest wersjonowana. Zmiany są komunikowane z co najmniej 30-dniowym wyprzedzeniem kanałami administracyjnymi, aby dać czas na aktualizację reguł firewalla po Twojej stronie. Jeśli prowadzisz infrastrukturę o rygorystycznym reżimie zmian, zasubskrybuj ten kanał powiadomień w panelu merchanta.

Jak skonfigurować

nginx

location /webhook {
allow 57.129.98.242/32; # Paymentic production
allow 51.210.226.88/32; # Paymentic production
deny all;

proxy_pass http://localhost:8080;
}

AWS Security Group / ALB

Dla load balancera publicznego dodaj regułę ingress na port 443 z Source ustawionym na CIDR-y Paymentic. Dla aplikacji za ALB/CloudFront dodatkowo sprawdzaj X-Forwarded-For po stronie aplikacji i/lub użyj reguły WAF-a.

Cloudflare / inne CDN

Skonfiguruj regułę WAF: (ip.src ne X.X.X.X and ip.src ne Y.Y.Y.Y and http.request.uri.path eq "/webhook") → Block. Pamiętaj, że w konfiguracji za CDN-em musisz dodatkowo zabezpieczyć origin, żeby przyjmował ruch wyłącznie od CDN-u — inaczej allowlista na warstwie CDN jest bez efektu.