Isang linyang nagsasabing «huling handshake, dalawang minuto ang nakalipas» ay mukhang ebidensya ng tuloy-tuloy na aktibidad at mas mahina pa riyan. Minamarkahan nito ang huling kumpletong palitan ng susi para sa isang peer, na nangyayari ayon sa fixed na timer ng pag-renew ng susi habang dumadaloy ang trapiko at humihinto kapag tumahimik ang peer. Kung ang oras na iyon ay nag-uugnay sa isang tao sa anuman ay nakasalalay sa mga identifier na nakaimbak sa tabi nito at sa mga orasan ng dalawang sistema. Narito kung paano kumikilos ang rekord sa dalawang pinakakaraniwang stack, at saan nagkakamali ang pagbasa nito.

Dalawang rekord, dalawang magkaibang kahulugan

Nag-iimbak ang WireGuard ng isang timestamp ng handshake bawat peer, pinapalitan sa bawat pag-renew ng susi, kasama ang mga byte counter sa bawat direksyon. Karaniwang itinatala ng OpenVPN ang pagsisimula ng session, isang disconnection at anumang idinadagdag ng naka-configure na verbosity, na ginagawang session ang yunit ng rekord sa halip na palitan ng susi.

Ang pagkakaibang iyon ang nagtatakda kung ano ang ibig sabihin ng kawalan:

QuestionWireGuard handshakeOpenVPN session log
Did the peer send recently?Strong hint within the rekey windowNot answered by start time alone
Did the peer stop?Weak, because idle peers also stop rekeyingOnly if a disconnect was written
What was visited?NothingNothing

Bakit ang handshake ay hindi tuloy-tuloy na paggamit

Nagre-renew ang WireGuard ng mga susi nang halos bawat dalawang minuto habang may datos na poprotektahan, at ang peer na nagiging idle ay tumitigil na lang. Kaya ang lumang handshake ay maaaring mangahulugan na natutulog ang laptop, tumigil sa pagtatrabaho ang user, o itinapon ng network ang mga packet na magsisimula sana ng susunod na palitan. Ang timestamp ay isang mababang hangganan ng aktibidad, hindi isang tagasubaybay ng atensyon.

Ang kabaligtarang pagkakamali ay kasing dali. Ang tuloy-tuloy na keepalive traffic ay nagpapanatili ng tunnel na mainit sa isang idle na device, kaya ang kamakailang handshake ay maaaring lumitaw sa isang makina na walang nakahawak nang isang oras. Nakakatulong dito ang mga byte counter, dahil pinaghihiwalay nila ang peer na nagpapadala ng tunay na datos mula sa isa na nagpapalitan lamang ng keepalive, at sinasabi rin nila kung aling direksyon ang nagdala ng volume. Wala sa mga ito ang nagbubunyag ng destinasyon, pahina o query.

Naglalakbay ang mga identifier kasama ng timestamp

Ang oras na walang account, public key o source address ay ulila. Ipares ang timestamp sa pagkakakilanlan ng peer at ang obserbasyon ay nagiging maiuugnay: ang public key ay nananatili sa mga pagbabago ng address, habang ang source address ay maaaring ibahagi ng maraming subscriber sa likod ng address translation ng carrier.

Ang asimetriyang iyon ang napapalampas ng karamihan sa mga talakayan tungkol sa privacy. Ang address ay mukhang anonymous dahil ibinabahagi, at ang susi ay mukhang teknikal dahil mahaba, ngunit ang susi ang matatag na identifier. Ang pagpapanatili ng isang field at pagtatapon ng isa pa ay nagbabago ng panganib ng correlation nang hindi binabago ang maliwanag na katumpakan.

Ang correlation mismo ang dokumentadong alalahanin. Ang pagsasama ng oras ng koneksyon sa isang login event ng provider, isang support ticket o isang payment record ay maaaring iugnay ang pagkakakilanlan sa aktibidad kahit na walang destinasyon na naisulat kailanman, at iyon ang dahilan kung bakit mas mahalaga ang pagpapares kaysa sa pag-format.

Ang correlation sa pagitan ng mga sistema ay nangangailangan ng pag-iingat sa orasan

Dalawang sistemang nag-uulat ng parehong sandali ay bihirang magkasundo hanggang sa segundo. Maaaring maglapat ang isa ng timezone offset sa output nito, ang isa ay maaaring tumakbo sa isang orasang mali ng ilang segundo, at ang isang virtual machine ay maaaring mag-drift pagkatapos ng pagsususpinde.

Bago maghinuha na dalawang pangyayari ang nangyari nang sabay, i-convert ang dalawa sa parehong timezone at suriin ang offset sa raw na rekord at hindi sa display. Kung ang agwat na sinusukat mo ay mas maliit kaysa sa malamang na paglihis, wala kang anumang pagkakasunod-sunod.

Ang praktikal na tuntunin ay panatilihin ang katumpakan na kailangan ng gawaing pag-troubleshoot at wala nang iba pa. Ang bilang ng mga session kada oras ay sumasagot sa isang tanong tungkol sa availability nang hindi nag-iimbak ng history bawat account, at ang isang aggregate ay maaaring itago nang mas matagal kaysa sa raw na mga hilera kung saan ito nagmula.

Basahin ang rekord gamit ang mga command, hindi imahinasyon

I-print ang mga field na iyong pangangatwiranan, sa mga unit na iniimbak ng tool at hindi sa mga ipinapakita ng dashboard.

Ipinapakita ng dalawang linyang ito ang edad ng handshake at ang mga byte counter para sa bawat peer ng WireGuard, pagkatapos ay ang parehong uri ng materyal mula sa isang status file ng OpenVPN:

wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.status

Ihambing ang edad sa interval ng pag-renew ng susi bago maghinuha, at basahin ang mga counter kasama nito. Ang peer na may kamakailang handshake at halos walang transfer ay nagpapalitan ng keepalive, habang ang peer na may lumang handshake at malalaking counter ay abala hanggang sa tumigil ito. Wala sa dalawang linya ang nagsasabi kung ano ang ginawa, at ang sabihin iyon nang tapat ay mas tumpak kaysa sa pagpapahiwatig na pinatutunayan ng timestamp ang isang pagbisita.

Kaugnay na mga artikulo