Et svindeldashbord flagger en besøkende som VPN, analytikeren ber om en blokkering, og forespørselen når plattformteamet med ingenting annet enn en boolsk verdi fra en leverandør. Den boolske verdien er et anslag, og den feiler i en annen retning enn en latenstidsmåling. Før du handler, skill mellom hva forespørselen selv beviser, hva en omdømmestjeneste hevder, og hva timing bare antyder. Velg deretter et svar du kan rulle tilbake når anslaget viser seg å være feil.

Samle forespørselsfaktaene du kan forsvare

Den eneste adressen serveren din vet sikkert, er TCP-motparten som fullførte tilkoblingen. Når en CDN eller omvendt proxy avslutter den tilkoblingen, er motparten kanten, og klientadressen reiser i en videresendingsheader som bare er til å stole på når din egen kant la den til. Les oppføringen proxyen din skrev, aldri den venstreste strengen, fordi en klient kan sende hvilken som helst verdi på den plasseringen. Alt nedstrøms må bevare den forskjellen.

To billige berikelser gjør adressen gjennomgåelig: det autonome systemet som annonserer den, og PTR-oppføringen som peker tilbake på den. Begge beskriver registrering og ikke atferd, og begge kan reproduseres senere.

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

En hosting-ASN er et sterkt hint og ikke en dom. Bedrifts-VPN-konsentratorer, skyutganger og noen universitetsnettverk ligger også i datasentre, så det samme signalet som fanger en kommersiell utgang, fanger også et legitimt kontor. Oppbevar adressen bare så lenge gjennomgangen trenger den, fordi en IP er personopplysning i de fleste personvernregimer. Slett den etter en plan i stedet for å beholde den på ubestemt tid.

Score den besøkende før du begrenser dem

Kjør ethvert nytt signal først i observasjonsmodus. Logg inndataene og en årsakskode, la hver forespørsel gå gjennom, og sammenlign scorefordelingen med kontoer du vet er legitime. Det gir et falsk-positivt anslag før noen mister tilgang, og det tallet avgjør om en regel er trygg å aktivere.

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

Kartlegg totalen til tre handlinger i stedet for to: tillat, trinnvis utfordring, manuell gjennomgang. En permanent blokkering bør kreve gjentatt misbruk bekreftet av en person, fordi en falsk positiv på en forretningsreisende koster en støtteticket og en tapt økt, mens en falsk negativ på én forespørsel nesten ikke koster noe.

Hold omdømmesøket på serversiden og avgrenset

Kall omdømmestjenesten fra backend med kort tidsavbrudd, cache dommen i en fast periode, og behandle tidsavbrudd som ukjent i stedet for rent. Legg aldri API-nøkkelen i klientkode, og la aldri søket blokkere sidenes rendering; en treg tredjepart skal forringe scoren, ikke nettstedet.

Cache per adresse i stedet for per område. Klassifisering av et helt /24 fra ett søk sprer en feil dom til naboer du aldri har målt. Registrer leverandøren, svardatoen og klassifiseringsverdien sammen med årsakskoden, slik at en senere gjennomgang kan se hvilken vurdering som gjaldt.

To leverandører kan klassifisere én adresse ulikt innen en dag, og derfor hører dommen i beviskolonnen og ikke i identitetskolonnen. Det er også et behandlingsforhold: å sende hver besøkendes adresse til en tredjepart krever et rettslig grunnlag, en oppbevaringsregel og en linje i personvernerklæringen.

Mål latenstid med en median, ikke én prøve

Rundturtid beskriver ruten i det øyeblikket du målte den. En nær anycast-kant kan betjene en fjern bruker, et mobilnett legger til forsinkelse som ikke har noe med geografi å gjøre, og en VPN-utgang i den besøkendes eget land ser lokal ut. Geotilpassing på bynivå rapporterer ofte datasenteret og ikke personen.

Ta flere prøver og bruk medianen, slik at én treg forespørsel ikke flytter resultatet. Løkken nedenfor skriver ut medianen av fem.

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

Sammenlign tallet med fordelingen for kjente gode brukere i stedet for en absolutt terskel, og kombiner det med ASN-en. To svake signaler som er enige, er sterkere enn hvert for seg, men konklusjonen handler fortsatt om en rute, ikke om hensikt, så den hører i en score og ikke i et forbud.

Bestem, registrer og rull tilbake

Før du aktiverer en regel, spill av en dags trafikk i observasjonsmodus og tell hva som ville ha skjedd. Lagre scoreinndataene, årsakskoden og regelversjonen, men hold råadresser bare for gjennomgangsvinduet. Hvis regelen utløses på en legitim konto, bør oppføringen forklare hvorfor uten en ny undersøkelse.

Gi hver regel sin egen bryter. Når fullføringen av trinnvis utfordring faller eller støttetickets øker, deaktiver den regelen og hold resten av pipelinen i gang; én global nødstopp gjør et justeringsproblem til et avbrudd. Etter endringen, følg med på fullføringsraten for utfordringer og klagekøen, ikke bare antall blokkeringer.

Til slutt, hold svaret proporsjonalt med tapet du forhindrer. Ved annonsesvindel er VPN-status en svak indikator på et falskt klikk, og atferdssignaler som konverteringsmønstre og enhetskonsistens adresserer den faktiske skaden. En reversibel utfordring beskytter både inntektene og den ekte brukeren samtidig.

Relaterte artikler