Еден ред што вели „последно ракување, пред две минути“ изгледа како доказ за постојана активност и е послаб од тоа. Го означува последното завршено разменување клучеви за еден партнер, кое се случува по фиксен тајмер за обновување клучеви додека тече сообраќај и запира кога партнерот ќе замолчи. Дали тоа време поврзува личност со нешто зависи од идентификаторите зачувани покрај него и од часовниците на двата система. Еве како записот се однесува во двата најчести стекови и каде неговото читање греши.

Два записи, две различни значења

WireGuard чува еден временски печат на ракување за секој партнер, заменет при секое обновување клучеви, плус бројачи на бајти во секој правец. OpenVPN обично запишува почеток на сесија, исклучување и сето она што додава конфигурираната деталност, што ја прави единицата на записот сесија, а не разменување клучеви.

Таа разлика одлучува што значи отсуството:

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

Зошто ракувањето не е постојано користење

WireGuard ги обновува клучевите приближно на секои две минути додека има податоци што треба да се заштитат, а партнерот што ќе стане неактивен едноставно запира. Затоа застарено ракување може да значи дека преносниот сметач спие, дека корисникот престанал да работи или дека мрежата ги отфрлила пакетите што би го поттикнале следното разменување. Временскиот печат е долна граница на активноста, а не следач на вниманието.

Обратната грешка е исто толку лесна. Постојаниот keepalive сообраќај го држи тунелот топол на неактивен уред, па неодамнешно ракување може да се појави на машина што никој не ја допрел со час. Бројачите на бајти помагаат тука, бидејќи разликуваат партнер што праќа вистински податоци од оној што разменува само keepalive, и кажуваат кој правец го носел обемот. Ништо од тоа не открива дестинација, страница или барање.

Идентификаторите патуваат со временскиот печат

Време без профил, јавен клуч или изворна адреса е сираче. Спрете го временскиот печат со идентитетот на партнерот и набљудувањето станува поврзливо: јавниот клуч опстојува низ промени на адреси, додека изворната адреса може да ја делат многу претплатници зад преводот на адреси на операторот.

Таа асиметрија е она што повеќето дебати за приватноста го пропуштаат. Адресата изгледа анонимна зашто е споделена, а клучот изгледа технички зашто е долг, но стабилниот идентификатор е клучот. Задржувањето на едно поле и отфрлањето на другото го менува ризикот од корелација без да ја смени привидната прецизност.

Самата корелација е документираната грижа. Поврзувањето на време на врска со настан за најава кај провајдер, со тикет за поддршка или со запис за плаќање може да поврзе идентитет со активност дури и кога никогаш не била запишана дестинација, и затоа спарувањето е поважно од форматирањето.

Корелацијата меѓу системи бара грижа за часовниците

Два системи што известуваат за истиот момент ретко се согласуваат до секунда. Едниот може да примени поместување на временската зона во својот излез, другиот може да работи на часовник што е неколку секунди погрешен, а виртуелна машина може да отстапи по суспендирање.

Пред да заклучите дека два настана се случиле заедно, претворете ги двата во иста зона и проверете го поместувањето во суровиот запис, а не во приказот. Ако јазот што го мерите е помал од веројатното отстапување, воопшто немате редослед.

Практичното правило е да ја задржите прецизноста што ја бара задачата за отстранување проблеми и ништо повеќе. Бројот на сесии на час одговара на прашање за достапност без чување историја по профил, а агрегатот може да се чува многу подолго од суровите редови од кои настанал.

Читајте го записот со команди, не со имагинација

Испечатете ги полињата за кои ќе расудувате, во единиците што ги чува алатката, а не во тие што ги прикажува контролната табла.

Овие два реда ја покажуваат возраста на ракувањето и бројачите на бајти за секој партнер на WireGuard, потоа ист вид материјал од датотека со состојба на OpenVPN:

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

Споредете ја возраста со интервалот на обновување клучеви пред да донесете заклучок, и читајте ги бројачите заедно со неа. Партнер со неодамнешно ракување и речиси без пренос разменува keepalive, додека партнер со застарено ракување и големи бројачи беше зафатен додека не запре. Ниту еден ред не кажува што е направено, и тоа да се каже отворено е попрецизно отколку да се навестува дека печатот докажува посета.

Поврзани статии