«Соңғы қол алысу, екі минут бұрын» деген бір жол үздіксіз белсенділіктің дәлеліндей көрінеді және одан әлсіз. Ол бір теңдестің соңғы аяқталған кілт алмасуын белгілейді, ол трафик ағып тұрғанда белгіленген кілт жаңарту таймерімен болады және теңдес үнсіз қалғанда тоқтайды. Сол уақыттың адамды бірдеңемен байланыстыруы қасында сақталған идентификаторларға және екі жүйенің сағаттарына байланысты. Міне, жазбаның ең көп тараған екі стекте қалай әрекет ететіні және оны оқу қай жерде қателесетіні.

Екі жазба, екі түрлі мағына

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 алмасып жатыр, ал ескірген қол алысуы және үлкен санағыштары бар теңдес тоқтағанға дейін бос емес еді. Екі жолдың ешқайсысы не істелгенін айтпайды, және мұны ашық айту уақыт белгісі кіруді дәлелдейді деп меңзеуден дәлірек.

Қатысты мақалалар