Kur stebėti OpenVPN kliento srautą ties vartais
Maršrutizuojantys VPN vartai perduoda paketus neatverdami jiems lizdų. Pasirinkite conntrack, ribotą tunelio fiksavimą arba tarpinio serverio žurnalus pagal tai, kur teka srautas.
Norite sužinoti, kuriuos tikslus pasiekia prisijungęs klientas, todėl VPN serveryje atidarote apvalkalą ir įvedate ss. Niekas naudingo nepasirodo, o išvada, kad tunelis sugedęs, ateina kiek per lengvai. Maršrutizuojantys OpenVPN vartai perduoda kliento paketus; jie nenutraukia jų TCP ryšių ir neturi jiems lizdų. Įrodymai gyvena kitur, o kur būtent, priklauso nuo to, kaip srautas tvarkomas po to, kai palieka tunelį.
Nuspręskite, kokią schemą matote
Dvi įprastos formos duoda visiškai skirtingus įrodymus. Maršrutizuojantys vartai dekapsuliuoja, perduoda ir galbūt atlieka šaltinio NAT, todėl kliento ryšys išlieka nuo galo iki galo be vietinio lizdo.
Tarpinis serveris užbaigia srautą: jis priima ryšį, tada atidaro savo paties aukštesnįjį ryšį. Toje schemoje vienai užklausai yra du ryšiai, o sąsaja tarp jų egzistuoja tik paties tarpinio serverio įrašuose. Žinojimas, kurią iš šių dviejų įdiegėte, nulemia, ar reikia skaityti branduolio srauto būseną, ar programos žurnalus.
Dauguma painiavos kyla iš spėlionių. Patvirtinkite formą prieš rinkdamiesi įrankį. Pirmiausia perskaitykite serverio konfigūraciją, ieškodami tarpinio serverio direktyvos, nes jos buvimas keičia kiekvieną vėlesnį žingsnį. Be jos paketų kelias yra maršrutizavimas, o branduolio srauto būsena yra jūsų įrodymas.
Pirmiausia susiekite adresą su sesija
Pradėkite nuo serverio sesijų būsenos ir nustatykite dabartinį kliento vidinį adresą. Telkinio adresai pernaudojami, todėl adresas pats savaime yra nuoma, o ne asmuo.
Užrašykite laiką ir patvirtintą tapatybę kartu, ir atkreipkite dėmesį, ar už to kliento neslepia visas vietinis tinklas. Jei tolimasis galas maršrutizuoja potinklį, matomi vidiniai adresai gali būti pirminiai mazgai arba išversti.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40Ši pora atsako į du klausimus vienu metu: kokį prefiksą aptarnauja tunelio sąsaja ir kuri sesija buvo aktyvi jus dominančiu intervalu. Atlikite tai prieš interpretuodami bet kurį srauto įrašą, nes įtikinama eilutė, prisegta prie netinkamos sesijos, yra blogiau nei jokių įrodymų.
Skaitykite srautų lentelę maršrutizuojančiuose vartuose
Nustačius adresą ir intervalą, tik skaitymui skirta sekamų ryšių lentelė parodo, ką vartai jam perduoda. Filtruokite pagal pirminį šaltinį, kad neskaitytumėte visos lentelės.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37Kiekvienas įrašas laiko du eilutes, pirminę ir atsakymo, kurios yra dvi vieno srauto kryptys, o ne dvi programos. Šaltinio NAT kelyje pirminė eilutė išlaiko tunelio adresą, o atsakymo pusė rodo išverstą vartų adresą, ir būtent todėl išvestis iš pirmo žvilgsnio atrodo neteisinga.
Traktuokite sąrašą kaip gyvą būseną, o ne istoriją. Trumpi srautai galėjo jau pasibaigti, nesekamas srautas niekada nepasirodo, o kita tinklo vardų erdvė rodo kitą lentelę. conntrack nuoroda aprašo filtrus ir dviejų krypčių išvestį.
Vienas ribotas fiksavimas skaitymui patvirtinti
Jei tunelio sąsaja matoma ten, kur žiūrite, vienas ribotas fiksavimas nusprendžia, ar jūsų nustatyti paketai yra tie, kurie laiduose. Laikykite filtrą siaurą, o paketų limitą mažą.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'Palyginkite laiko žymes, protokolą ir prievadus su srauto įrašu ir su užklausa, kurią atlikote kaip testą. Po NAT padarytas fiksavimas rodo tik viešą vartų adresą, o tunelio pusė gali dar rodyti kliento adresą, ir šis skirtumas yra informacija, o ne nenuoseklumas.
Jei sąsaja nieko nemato, patikrinkite duomenų kelią prieš darydami išvadą, kad klientas neaktyvus: srautas tarp klientų ir kai kurie iškrovos keliai niekada nepereina jūsų stebimo taško.
Tarpinio serverio žurnalai ir tai, ką matėte, ribos
Kai kelyje yra tarpinis serveris, jo aukštesnieji lizdai matomi lizdų lentelėje, bet jie nesutampa vienas su vienu su VPN klientais, ypač naudojant telkimą ar multipleksavimą. Naudokite sukonfigūruotą tarpinio serverio operacijų žurnalą, kad susietumėte kliento tapatybę, paskirties vietą, laiko žymę ir bet kurį įrašomą užklausos identifikatorių.
Patikrinkite įdiegtos versijos registravimo konfigūraciją, o ne darykite prielaidą, kad kiekviena užklausa registruojama pagal nutylėjimą.
Galiausiai būkite tikslūs dėl apimties. Paskirties adresas ir prievadas yra metaduomenys, o ne URL ir ne puslapio turinys, nes vidinė HTTPS sesija išsaugo savo apsaugą nepriklausomai nuo tunelio. Praneškite, ką stebėjote, iš kurio stebėjimo taško ir kokiu metu.