Памылка аўтэнтыфікацыі HMAC у пакеце OpenVPN: які ўзровень?
Няўзгодненасць пазнакі пакета — не прысуд рахунку. Параўнайце профіль, які загрузіў працэс, затым налады кантрольнага канала і канала даных, перш чым чапаць ключы.
Дзве памылкі паведамляюцца з адным і тым жа слоўнікам і амаль нічога агульнага не маюць. Адна — пакет, у якога пазнака аўтэнтыфікацыі не прайшла праверку; другая — чалавек, чые ўліковыя даныя адхілілі. Калі лічыць першую другой, вы будзеце шукаць пароль, які ніколі не быў праблемай.
Паведамленне называе ўзровень, і карысная праца — вырашыць, які менавіта, перш чым замяняць любы матэрыял. Параўнанне кандыдатаў побач — самы хуткі спосаб убачыць розніцу.
Дзве памылкі, якія дзеляць адно слова
Памылка аўтэнтыфікацыі пакета ўзнікае падчас апрацоўкі трафіку: пазнака або хэш у атрыманым пакеце не супалі з тым, што вылічыў атрымальнік. Адхіленне рахунку адбываецца пасля разбору абмену ўваходу і называе карыстальніка, а не пакет. Трэцяе паведамленне — пра немагчымасць знайсці HMAC ува ўваходным пакеце — зноў іншае, бо там пакет прыйшоў зусім без чаканага элемента аўтэнтыфікацыі. Поўны прэфікс журнала кажа, які з трох у вас, і менавіта прэфікс звычайна выдаляюць першым, калі ўстаўляюць памылку ў заяўку.
Розніца мяняе рамонт. Адна патрабуе ўзгаднення налад канала, другая — стану рахунку, трэцяя — профілю, які не адпавядае слухачу, да якога ён дайшоў.
Параўнайце, што насамрэч загрузіў працэс, які працуе
Правільны файл на дыску нічога не даказвае пра працэс, які стартаваў да яго правак. Праверце выбраны профіль, канчатковы пункт, з якім ён звязаўся, і ці была служба перазагружана пасля змены. Пераканайцеся таксама, што канчатковы пункт належыць профілю, бо іншы асобнік або іншая служба можа слухаць там, дзе стары файл чакае іншага.
Паўторны экспарт падтрыманага профілю з той жа крыніцы — таннае параўнанне, бо яно прыбірае разыходжанне паміж тым, што вы лічыце наладжаным, і тым, што кліент насамрэч адпраўляе. Генерацыя новага ключавога матэрыялу — значна большы крок, і яна дапамагае, толькі калі абодва бакі прымуць яго разам. Замена аднаго боку лакальна зноў стварае тую няўзгодненасць, якую вы спрабавалі прыбраць.
Параўнайце кантрольны канал з каналам даных
Два механізмы аўтэнтыфікуюць розныя часткі злучэння і наладжваюцца асобна, як даведнік параметраў 2.6 гэта апісвае. tls-auth дадае HMAC да пакетаў кантрольнага канала і прымае аргумент напрамку, які ў двух партнёраў мусіць быць супрацьлеглым, а tls-crypt абараняе кантрольны канал сумесным ключом замест гэтага. Ні адно з іх не з’яўляецца ўласнай праверкай цэласнасці канала даных. Пры шыфры даных AEAD гэтая праверка ўбудаваная ў шыфр, таму асобны auth хэш не выкарыстоўваецца так, як пры шыфры не-AEAD.
Гэта значыць, што auth радок, скапіяваны з працоўнага разгортвання не-AEAD, можа быць неістотным у AEAD, і разгортванне AEAD можа ўсё яшчэ памыляцца на кантрольным канале, калі tls-auth ключа або яго напрамак няправільныя. Параўноўвайце кожную наладу з партнёрам, а не з успомненай канфігурацыяй.
Параўнайце выпраўленне з уласцівасцю, ад якой вы адмаўляецеся
Адключэнне аўтэнтыфікацыі пакетаў прыглушае папярэджанне і прыбірае праверку, якая знайшла няўзгодненасць, што не тое ж самае, што адрамантаваць профіль. Спытайце, ад якой уласцівасці вы адмаўляецеся і ці трымаецца задума без яе.
Прачытайце першую значную падзею з абодвух бакоў, перш чым нешта мяняць, затым змяніце толькі тую няўзгодненасць, якую яна называе.
Калі наступная спроба даходзіць да памылкі сертыфіката або ўваходу, гэта прагрэс, а не рэгрэс: узровень пакетаў ужо згодны, і злучэнне пайшло далей. Запішыце налады, якія выклікалі змену, каб наступны чалавек атрымаў тлумачэнне, а не загадку.