Wêr't jo it ferkear fan in OpenVPN-klant op 'e poarte folgje
In rûtearende VPN-poarte stjoert pakketten troch sûnder sockets foar har te iepenjen. Kies conntrack, in beheinde tunnelopname of proxy-logs ôfhinklik fan wêr't de stream rint.
Jo wolle witte hokker bestimmingen in ferbûne klant berikt, dus jo iepenje in skulp op 'e VPN-tsjinner en typje ss. Der ferskynt neat nuttichs, en de konklúzje dat de tunnel stikken is folget wat te maklik. In rûtearende OpenVPN-poarte stjoert de pakketten fan 'e klant troch; it beëiniget har TCP-ferbiningen net en hat der gjin sockets foar. It bewiis wennet earne oars, en hokker earne hinget ôf fan hoe't it ferkear behannele wurdt neidat it de tunnel ferlitten hat.
Bepale hokker opstelling jo besjogge
Twa gewoane foarmen leverje folslein oare bewiisstikken. In rûtearende poarte dekapsulearret, stjoert troch en docht mooglik boarne-NAT, sadat de ferbining fan 'e klant fan ein oant ein bliuwt bestean sûnder lokale socket.
In proxy beëiniget ferkear: it akseptearret de ferbining en iepenet dan syn eigen boppestreamske ferbining. Yn dy opstelling binne der twa ferbiningen foar ien fersyk, en de relaasje tusken har bestiet allinnich yn 'e eigen records fan 'e proxy. Witte hokker fan dizze jo útrôle hawwe, beslút oft jo de streamtastân fan 'e kernel of applikaasjelogs lêze moatte.
It measte betizing komt fan rieden. Befêstigje de foarm ear't jo it ark kieze. Lês earst de tsjinnerkonfiguraasje foar in proxy-ynstruksje, want it bestean dêrfan feroaret elke folgjende stap. Sûnder ien is it pakketpaad rûtearjen en is de streamtastân fan 'e kernel jo bewiis.
Keppelje earst it adres oan in sesje
Begjin by de sesjetastân fan 'e tsjinner en identifisearje it hjoeddeistige binnenadres fan 'e klant. Poeladressen wurde weromset, dus in adres op himsels is in hier, gjin persoan.
Skriuw de tiid en de autentisearre identiteit tegearre op, en merkoan oft in hiel LAN efter dy klant beskûl giet. As it fiere ein in subnet rûtearret, kinne de binnenadressen dy't jo sjogge orizjinele hosts of oersetten wêze.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40Dat pear beantwurdet twa fragen tagelyk: hokker foarheaksel de tunnelinterface tsjinnet, en hokker sesje aktyf wie yn it ynterval dat jo oanbelanget. Doch dit foardat jo hokker streamynfier dan ek ynterpretearje, want in oertsjûgjende tuple oan 'e ferkearde sesje ferbûn is slimmer as hielendal gjin bewiis.
Lês de streamtabel op in rûtearende poarte
As it adres en it ynterval fêststeld binne, lit in lês-allinnich list fan folge ferbiningen sjen wat de poarte dêrfoar trochstjoert. Filter op 'e orizjinele boarne sadat jo net de hiele tabel lêze.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37Elke ynfier hâldt twa tuples, orizjineel en antwurd, dat binne de twa rjochtingen fan ien stream en net twa applikaasjes. Op in boarne-NAT-paad hâldt de orizjinele tuple it tunneladres, wylst de antwurdkant it oersetten poarteadres sjen lit, en dat is krekt wat de útfier op it earste each ferkeard lykje lit.
Behannelje it list as libbene tastân en net as skiednis. Koarte streamen kinne al ferrûn wêze, net-folge ferkear ferskynt nea, en in oare netwurknammeromte lit in oare tabel sjen. De conntrack-referinsje dokumintearret de filters en de twarjochting-útfier.
Ien beheinde opname om de lêzing te befêstigjen
As de tunnelinterface sichtber is wêr't jo sjogge, beslút ien beheinde opname oft de pakketten dy't jo identifisearre hawwe dejinge op 'e tried binne. Hâld it filter smel en de pakketlimyt lyts.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'Fergelykje tiidstimpels, protokol en poarten mei de streamynfier en mei it fersyk dat jo as test dienen. In opname dy't nei NAT nommen is, lit allinnich it iepenbiere adres fan 'e poarte sjen, wylst de tunnelkant noch it adres fan 'e klant sjen kin, en dat ferskil is ynformaasje en net in tsjinstridichheid.
As de interface neat sjocht, kontrolearje dan it gegevenspaad foar't jo konkludearje dat de klant stil is: ferkear fan klant nei klant en guon ôflaadpaden geane nea troch it punt dat jo besjogge.
Proxy-logs, en de grinzen fan wat jo seagen
As der in proxy yn it paad sit, binne syn boppestreamske sockets sichtber yn 'e sockettabel, mar se mappe net ien-op-ien op VPN-klanten, benammen mei poeling of multiplexing. Brûk it konfigurearre transaksjelog fan 'e proxy om klantidentiteit, bestimming, tiidstimpel en elke fersykoantsjutting dy't it fêstleit mei elkoar te korrellearjen.
Kontrolearje de loggingkonfiguraasje fan 'e útrôle ferzje ynstee fan oan te nimmen dat elk fersyk standert logd wurdt.
As lêste, wês presys oer it berik. In bestimmingsadres en poarte binne metadata, gjin URL en gjin sideynhâld, want de binnenste HTTPS-sesje hâldt syn eigen beskerming, likefolle wat de tunnel is. Rapportearje wat jo waarnommen hawwe, fan hokker waarnimmingspunt, en op hokker tiid.