VPN lankytojų patikros: saugiai įvertinti reputaciją ir delsą
Traktuokite VPN aptikimą kaip įvertintą spėjimą. Rinkite ginamus užklausos faktus, matuokite kelią laiku ir veikite grįžtamais pakopiniais patikrinimais, o ne blokavimais.
Sukčiavimo skydelis pažymi lankytoją kaip VPN, analitikas prašo blokavimo, o užklausa pasiekia platformos komandą tik su tiekėjo logine reikšme. Ta loginė reikšmė yra spėjimas, ir ji klysta kita kryptimi nei delsos matavimas. Prieš veikdami atskirkite, ką įrodo pati užklausa, ką teigia reputacijos tarnyba ir ką tik užsimena laikas. Tada pasirinkite atsakymą, kurį galite atšaukti, kai spėjimas pasirodys klaidingas.
Rinkite užklausos faktus, kuriuos galite apginti
Vienintelis adresas, kurį jūsų serveris tikrai žino, yra TCP partneris, užbaigęs ryšį. Kai CDN ar atvirkštinis tarpinis serveris nutraukia tą ryšį, partneris yra kraštas, o kliento adresas keliauja persiuntimo antraštėje, kuria galima pasitikėti tik tada, kai ją pridėjo jūsų pačių kraštas. Skaitykite įrašą, kurį parašė jūsų tarpinis serveris, niekada ne kairiausią eilutę, nes klientas toje vietoje gali siųsti bet kokią reikšmę. Viskas toliau turi išsaugoti šį skirtumą.
Du pigūs praturtinimai paverčia adresą peržiūrimu: autonominė sistema, kuri jį skelbia, ir PTR įrašas, kuris nurodo atgal į jį. Abu apibūdina registraciją, o ne elgesį, ir abu vėliau atkuriami.
IP=203.0.113.10
dig +short -x "$IP"
whois "$IP" | grep -iE "origin|netname" | head -5Prieglobos ASN yra stipri užuomina, o ne nuosprendis. Įmonių VPN koncentratoriai, debesų išėjimai ir kai kurie universitetų tinklai taip pat yra duomenų centruose, todėl tas pats signalas, kuris pagauna komercinį išėjimą, pagauna ir teisėtą biurą. Saugokite adresą tik tiek, kiek reikia peržiūrai, nes IP yra asmens duomenys daugumoje privatumo režimų. Ištrinkite jį pagal grafiką, o ne laikykite neribotai.
Įvertinkite lankytoją prieš jį apribodami
Bet kokį naują signalą pirmiausia paleiskite stebėjimo režimu. Registruokite įvestis ir priežasties kodą, praleiskite kiekvieną užklausą ir palyginkite balų pasiskirstymą su paskyromis, kurias žinote esant teisėtas. Tai duoda klaidingai teigiamų įvertį prieš kam nors prarandant prieigą, ir būtent šis skaičius lemia, ar taisyklę saugu įjungti.
| Signal | What it supports | How it fails | Typical action |
|---|---|---|---|
| Hosting ASN | Traffic likely originated from infrastructure | Corporate VPN and cloud egress look the same | Add weight, not a block |
| Reputation verdict | A vendor's dated classification | Vendors disagree; self-hosted exits look clean | Step-up challenge |
| RTT versus baseline | The path is longer than usual | Anycast, mobile networks, in-country exits | Weak weight only |
| Forwarded header consistency | Whether the edge saw the claimed client | Misconfigured proxies produce noise | Drop the value, do not score it |
Susiekite sumą su trimis veiksmais, o ne dviem: leisti, pakopinis iššūkis, rankinė peržiūra. Nuolatinis blokavimas turėtų reikalauti žmogaus patvirtinto pakartotinio piktnaudžiavimo, nes klaidingai teigiamas verslo keliautojui kainuoja palaikymo bilietą ir prarastą sesiją, o klaidingai neigiamas vienai užklausai beveik nieko nekainuoja.
Laikykite reputacijos užklausą serverio pusėje ir apribotą
Kvieskite reputacijos tarnybą iš backend su trumpu laiko limitu, saugokite nuosprendį fiksuotą laikotarpį podėlyje ir laiko limito viršijimą laikykite nežinomu, o ne švariu. Niekada nedėkite API rakto į kliento pusės kodą ir neleiskite užklausai blokuoti puslapio atvaizdavimo; lėtas trečiasis turi pabloginti balą, o ne svetainę.
Saugokite podėlyje pagal adresą, o ne pagal diapazoną. Viso /24 klasifikavimas iš vienos užklausos paskleidžia klaidingą nuosprendį kaimynams, kurių niekada nematavote. Įrašykite tiekėją, atsakymo datą ir klasifikacijos reikšmę šalia priežasties kodo, kad vėlesnė peržiūra žinotų, kuris sprendimas galiojo.
Du tiekėjai gali klasifikuoti vieną adresą skirtingai per dieną, todėl nuosprendis priklauso įrodymų stulpeliui, o ne tapatybės stulpeliui. Tai ir apdorojimo santykis: siųsti kiekvieno lankytojo adresą trečiajai šaliai reikia teisinio pagrindo, saugojimo taisyklės ir eilutės privatumo pranešime.
Matuokite delsą mediana, o ne vienu mėginiu
Kelionės pirmyn ir atgal laikas apibūdina kelią tuo momentu, kai jį matavote. Netolimas anycast kraštas gali aptarnauti tolimą naudotoją, mobilusis tinklas prideda delsimą, neturintį nieko bendra su geografija, o VPN išėjimas pačioje lankytojo šalyje atrodo vietinis. Miesto lygio geolokacija dažnai nurodo duomenų centrą, o ne asmenį.
Paimkite kelis mėginius ir naudokite medianą, kad viena lėta užklausa nepajudintų rezultato. Žemiau esanti kilpa išspausdina penkių medianą.
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 3pPalyginkite skaičių su žinomai gerų naudotojų pasiskirstymu, o ne su absoliučia riba, ir derinkite jį su ASN. Du silpni signalai, kurie sutampa, yra stipresni už bet kurį atskirai, bet išvada vis tiek apie kelią, o ne apie ketinimą, todėl ji priklauso balui, o ne draudimui.
Nuspręskite, užrašykite ir atšaukite
Prieš įjungdami taisyklę, stebėjimo režimu peržaiskite dieną srauto ir suskaičiuokite, kas būtų nutikę. Saugokite balo įvestis, priežasties kodą ir taisyklės versiją, bet neapdorotus adresus laikykite tik peržiūros langui. Jei taisyklė suveikia teisėtoje paskyroje, įrašas turėtų paaiškinti kodėl be antro tyrimo.
Duokite kiekvienai taisyklei savo jungiklį. Kai pakopinio patikrinimo užbaigimas krenta arba palaikymo bilietai šauna, išjunkite tą taisyklę ir palikite likusį srautą veikti; vienas globalus avarinis jungiklis derinimo problemą paverčia sutrikimu. Po pakeitimo stebėkite iššūkių užbaigimo rodiklį ir apeliacijų eilę, o ne tik blokavimų skaičių.
Galiausiai palaikykite atsakymą proporcingą žalai, kurios išvengiate. Reklamos sukčiavime VPN būsena yra silpnas netikro paspaudimo rodiklis, o elgesio signalai, tokie kaip konversijų modeliai ir įrenginio nuoseklumas, sprendžia tikrąją žalą. Grįžtamas iššūkis saugo ir pajamas, ir tikrą naudotoją vienu metu.