Petoskoontinäyttö merkitsee kävijän VPN:ksi, analyytikko pyytää estoa, ja pyyntö saavuttaa alustatiimin pelkällä toimittajan totuusarvolla. Tuo totuusarvo on arvio, ja se epäonnistuu eri suunnassa kuin viiveen mittaus. Ennen toimimista erottele, mitä pyyntö itse todistaa, mitä mainepalvelu väittää ja mitä ajoitus vain vihjaa. Valitse sitten vastaus, jonka voit peruuttaa, kun arvio osoittautuu vääräksi.

Kerää pyyntötiedot, jotka voit puolustaa

Ainoa osoite, jonka palvelimesi tietää varmasti, on TCP-vastapuoli, joka päätti yhteyden. Kun CDN tai käänteinen välityspalvelin lopettaa kyseisen yhteyden, vastapuoli on reuna, ja asiakkaan osoite kulkee edelleenlähetysotsikossa, johon voi luottaa vain, jos oma reunasi lisäsi sen. Lue merkintä, jonka välityspalvelimesi kirjoitti, älä koskaan vasemmanpuoleisinta merkkijonoa, koska asiakas voi lähettää siihen minkä tahansa arvon. Kaiken alavirran on säilytettävä tämä ero.

Kaksi halpaa rikastusta tekevät osoitteesta tarkistettavan: autonominen järjestelmä, joka ilmoittaa sen, ja PTR-tietue, joka osoittaa siihen takaisin. Molemmat kuvaavat rekisteröintiä, eivät käyttäytymistä, ja molemmat ovat myöhemmin toistettavissa.

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

Hosting-ASN on vahva vihje, ei tuomio. Yritysten VPN-keskitimet, pilviportit ja eräät yliopistoverkot sijaitsevat myös datakeskuksissa, joten sama signaali, joka nappaa kaupallisen portin, nappaa myös laillisen toimiston. Säilytä osoitetta vain niin kauan kuin tarkistus tarvitsee sitä, koska IP on henkilötieto useimmissa tietosuojajärjestelmissä. Poista se aikataulun mukaan sen sijaan, että pitäisit sitä toistaiseksi.

Pisteytä kävijä ennen kuin rajoitat häntä

Aja jokainen uusi signaali ensin havainnointitilassa. Kirjaa syötteet ja syykoodi, päästä jokainen pyyntö läpi ja vertaa pistejakaumaa tileihin, joiden tiedät olevan laillisia. Tämä tuottaa väärän positiivisen arvion ennen kuin kukaan menettää pääsyn, ja juuri tuo luku ratkaisee, onko säännön ottaminen käyttöön turvallista.

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

Kartoita summa kolmeen toimintaan kahden sijaan: salli, porrastettu haaste, manuaalinen tarkistus. Pysyvän eston tulisi vaatia ihmisen vahvistama toistuva väärinkäyttö, koska väärä positiivinen yritysmatkustajalla maksaa tukilipun ja menetetyn istunnon, kun taas väärä negatiivinen yhdessä pyynnössä ei maksa juuri mitään.

Pidä mainekysely palvelinpuolella ja rajattuna

Kutsu mainepalvelua back-endistä lyhyellä aikakatkaisulla, tallenna tuomio välimuistiin kiinteäksi ajaksi ja käsittele aikakatkaisu tuntemattomana puhtaan sijaan. Älä koskaan laita API-avainta asiakaspuolen koodiin äläkä anna kyselyn estää sivun renderöintiä; hitaan kolmannen osapuolen tulee heikentää pisteytystä, ei sivustoa.

Tallenna välimuistiin osoitteittain, ei alueittain. Koko /24:n luokittelu yhdestä kyselystä levittää väärän tuomion naapureille, joita et koskaan mitannut. Kirjaa toimittaja, vastauspäivä ja luokitteluarvo syykoodin viereen, jotta myöhempi tarkistus voi kertoa, mikä harkinta oli voimassa.

Kaksi toimittajaa voi luokitella saman osoitteen eri tavalla yhden päivän aikana, siksi tuomio kuuluu todisteiden sarakkeeseen eikä identiteetin sarakkeeseen. Se on myös käsittelysuhde: jokaisen kävijän osoitteen lähettäminen kolmannelle osapuolelle vaatii laillisen perusteen, säilytyssäännön ja rivin tietosuojailmoituksessa.

Mittaa viivettä mediaanilla, älä yhdellä otoksella

Edestakainen aika kuvaa polkua hetkellä, jolloin mittasit sen. Läheinen anycast-reuna voi palvella kaukaista käyttäjää, matkapuhelinverkko lisää viivettä, jolla ei ole mitään tekemistä maantieteen kanssa, ja VPN-portti kävijän omassa maassa näyttää paikalliselta. Kaupunkitason paikannus ilmoittaa usein datakeskuksen eikä henkilöä.

Ota useita otoksia ja käytä mediaania, jotta yksi hidas pyyntö ei siirrä tulosta. Alla oleva silmukka tulostaa viiden mediaanin.

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

Vertaa lukua tunnettujen hyvien käyttäjien jakaumaan absoluuttisen kynnyksen sijaan ja yhdistä se ASN:ään. Kaksi heikkoa signaalia, jotka ovat samaa mieltä, ovat vahvempia kuin kumpikaan yksin, mutta johtopäätös koskee silti polkua, ei aikomusta, joten se kuuluu pisteytykseen eikä kieltoon.

Päätä, kirjaa ja peruuta

Ennen säännön käyttöönottoa toista päivän liikenne havainnointitilassa ja laske, mitä olisi tapahtunut. Tallenna pisteytyksen syötteet, syykoodi ja säännön versio, mutta pidä raa'at osoitteet vain tarkistusikkunan ajan. Jos sääntö laukeaa laillisella tilillä, tietueen tulisi selittää miksi ilman toista tutkintaa.

Anna jokaiselle säännölle oma kytkin. Kun porrastuksen suoritusaste laskee tai tukiliput lisääntyvät, poista sääntö käytöstä ja pidä muu putki käynnissä; yksi globaali hätäkytkin muuttaa viritysongelman katkoksi. Muutoksen jälkeen seuraa haasteiden suoritusastetta ja valitusjonoa, älä vain estojen määrää.

Lopuksi pidä vastaus oikeasuhtaisena estettävään vahinkoon nähden. Mainosvilpissä VPN-tila on heikko vihje valeesta klikkauksesta, ja käyttäytymissignaalit kuten konversiokuviot ja laitteen johdonmukaisuus käsittelevät todellista vahinkoa. Peruutettava haaste suojaa sekä tuottoa että oikeaa käyttäjää samanaikaisesti.

Aiheeseen liittyvät artikkelit