Panel oszustw oznacza odwiedzającego jako VPN, analityk prosi o blokadę, a żądanie trafia do zespołu platformy z niczym więcej niż logiczną wartością od dostawcy. Ta wartość logiczna jest oszacowaniem i myli się w innym kierunku niż pomiar opóźnienia. Przed działaniem oddziel to, co dowodzi samo żądanie, co twierdzi usługa reputacji i co jedynie sugeruje pomiar czasu. Następnie wybierz odpowiedź, którą możesz cofnąć, gdy oszacowanie okaże się błędne.

Zbieraj fakty żądania, których możesz bronić

Jedyny adres, który twój serwer zna na pewno, to partner TCP, który zakończył połączenie. Gdy CDN lub odwrotny serwer proxy kończy to połączenie, partnerem jest brzeg, a adres klienta jedzie w nagłówku przekazywania, któremu można ufać tylko wtedy, gdy dodał go twój własny brzeg. Czytaj wpis zapisany przez twój serwer proxy, nigdy nie skrajnie lewy ciąg, bo klient może wysłać w tym miejscu dowolną wartość. Wszystko dalej musi zachować to rozróżnienie.

Dwa tanie wzbogacenia czynią adres czymś, co można przejrzeć: system autonomiczny, który go ogłasza, oraz rekord PTR wskazujący na niego. Oba opisują rejestrację, a nie zachowanie, i oba można później odtworzyć.

IP=203.0.113.10
dig +short -x "$IP"
whois "$IP" | grep -iE "origin|netname" | head -5

ASN hostingu to mocna wskazówka, a nie wyrok. Korporacyjne koncentratory VPN, wyjścia chmurowe i niektóre sieci uniwersyteckie też znajdują się w centrach danych, więc ten sam sygnał, który łapie komercyjne wyjście, łapie też legalne biuro. Przechowuj adres tylko tak długo, jak długo potrzebuje go przegląd, bo IP jest danymi osobowymi w większości reżimów prywatności. Usuwaj go według harmonogramu, zamiast trzymać bezterminowo.

Oceń odwiedzającego, zanim go ograniczysz

Każdy nowy sygnał uruchamiaj najpierw w trybie obserwacji. Zapisuj dane wejściowe i kod przyczyny, przepuszczaj każde żądanie i porównuj rozkład punktów z kontami, o których wiesz, że są legalne. To daje oszacowanie fałszywych alarmów, zanim ktokolwiek straci dostęp, i właśnie ta liczba decyduje, czy regułę można bezpiecznie włączyć.

SignalWhat it supportsHow it failsTypical action
Hosting ASNTraffic likely originated from infrastructureCorporate VPN and cloud egress look the sameAdd weight, not a block
Reputation verdictA vendor's dated classificationVendors disagree; self-hosted exits look cleanStep-up challenge
RTT versus baselineThe path is longer than usualAnycast, mobile networks, in-country exitsWeak weight only
Forwarded header consistencyWhether the edge saw the claimed clientMisconfigured proxies produce noiseDrop the value, do not score it

Przypisz sumę do trzech działań, a nie dwóch: zezwól, wyzwanie eskalacji, przegląd ręczny. Trwała blokada powinna wymagać powtarzalnego nadużycia potwierdzonego przez człowieka, ponieważ fałszywy alarm u podróżnego służbowego kosztuje zgłoszenie do pomocy technicznej i utraconą sesję, podczas gdy przeoczenie jednego żądania prawie nic nie kosztuje.

Trzymaj zapytanie o reputację po stronie serwera i ograniczone

Wywołuj usługę reputacji z backendu z krótkim limitem czasu, buforuj werdykt przez stały okres i traktuj przekroczenie limitu jako nieznane, a nie czyste. Nigdy nie umieszczaj klucza API w kodzie po stronie klienta i nigdy nie pozwól, by zapytanie blokowało renderowanie strony; wolny dostawca zewnętrzny ma pogarszać ocenę, a nie witrynę.

Buforuj według adresu, a nie według zakresu. Klasyfikowanie całego /24 na podstawie jednego zapytania rozprzestrzenia błędny werdykt na sąsiadów, których nigdy nie zmierzyłeś. Zapisuj dostawcę, datę odpowiedzi i wartość klasyfikacji obok kodu przyczyny, aby późniejszy przegląd mógł powiedzieć, który osąd obowiązywał.

Dwaj dostawcy mogą sklasyfikować jeden adres różnie w ciągu dnia, dlatego werdykt należy do kolumny dowodów, a nie do kolumny tożsamości. To także relacja przetwarzania: wysyłanie adresu każdego odwiedzającego do osoby trzeciej wymaga podstawy prawnej, zasady przechowywania i wiersza w informacji o prywatności.

Mierz opóźnienie medianą, a nie jedną próbką

Czas rundy opisuje trasę w momencie, w którym ją zmierzyłeś. Bliski brzeg anycast może obsługiwać odległego użytkownika, sieć komórkowa dodaje opóźnienie niezwiązane z geografią, a wyjście VPN w kraju odwiedzającego wygląda lokalnie. Geolokalizacja na poziomie miasta często zgłasza centrum danych, a nie osobę.

Pobierz kilka próbek i użyj mediany, aby jedno wolne żądanie nie przesunęło wyniku. Poniższa pętla wypisuje medianę z pięciu.

for i in 1 2 3 4 5; do
  curl -o /dev/null -s -w "%{time_connect} %{time_starttransfer}\n" https://www.example.com/
done | sort -n | sed -n 3p

Porównaj liczbę z rozkładem znanych dobrych użytkowników, a nie ze sztywnym progiem, i połącz ją z ASN. Dwa słabe sygnały, które się zgadzają, są silniejsze niż każdy osobno, ale wniosek nadal dotyczy trasy, a nie intencji, więc należy do oceny, a nie do zakazu.

Zdecyduj, zapisz i wycofaj

Zanim włączysz regułę, odtwórz dzień ruchu w trybie obserwacji i policz, co by się stało. Przechowuj dane wejściowe oceny, kod przyczyny i wersję reguły, ale surowe adresy trzymaj tylko na okno przeglądu. Jeśli reguła zadziała na legalnym koncie, zapis powinien wyjaśnić dlaczego bez drugiego dochodzenia.

Daj każdej regule własny przełącznik. Gdy ukończenie eskalacji spada lub zgłoszenia do pomocy rosną, wyłącz tę regułę i utrzymaj resztę potoku w działaniu; jeden globalny wyłącznik zamienia problem strojenia w awarię. Po zmianie obserwuj odsetek ukończonych wyzwań i kolejkę odwołań, a nie tylko liczbę blokad.

Na koniec utrzymuj odpowiedź proporcjonalną do szkody, której zapobiegasz. W oszustwach reklamowych status VPN jest słabym wskaźnikiem fałszywego kliknięcia, a sygnały behawioralne, takie jak wzorce konwersji i spójność urządzenia, adresują rzeczywistą szkodę. Odwracalne wyzwanie chroni jednocześnie przychody i prawdziwego użytkownika.

Powiązane artykuły