WireGuard хувийн түлхүүрийн урт буруу гэж мэдэгдэж байна: одоо яах вэ?
base64 дэх 32 байтын түлхүүр 44 тэмдэгт байна. Ямар нэг зүйлийг дахин үүсгэхээс өмнө текст гэмтсэн эсвэл таних тэмдэг буруу эсэхийг шийдээрэй.
Мессеж нь хувийн түлхүүрийн урт буруу гэж хэлдэг бөгөөд энэ найруулга эхлээд кодчилол руу, дараа нь криптограф руу чиглүүлдэг. WireGuard түлхүүрүүд 32 байтыг base64 болгон кодчилдог бөгөөд энэ нь төгсгөлийн дүүргэлтийг оролцуулан 44 тэмдэгт өгдөг тул өөр хэмжээтэй утга хичнээн санамсаргүй харагдавч түлхүүр биш юм. Мөрийг задлагч хүлээн авах хүртэл дүүргэх нь ямар ч хамтрагчийн хэзээ ч танихгүй зөв хэлбэртэй утга үүсгэдэг.
Энэ алдааны цаана хоёр өөр ажил нуугдаж байна: хүчинтэй түлхүүрийн текстийг засах, мөн танд байхгүй болсон таних тэмдгийг солих. Тэдний үр дагавар өөр бөгөөд нэг нь нөгөө үзүүрийг хүчингүй болгодог.
Задлагч юу хүлээж байна
WireGuard түлхүүр нь base64 дэх стандарт дүүргэлттэй 32 байт түлхүүрийн материал бөгөөд энэ нь 44 тэмдэгтийн тогтмол мөр өгдөг. Хэрэгслүүд яг 32 байт болж задлагдахгүй бүхнийг татгалздаг, учир нь суурь муруй 32 байтын скаляр авдаг ба өөр юу ч авдаггүй. Нийтийн болон хувийн утгууд ижил кодчилол хэрэглэдэг тул задлагч зөвхөн форматаас аль нэгийг нь наасныг мэдэж чадахгүй. Энэхүү тодорхойгүй байдал нь энэ алдааны эргэн тойрон дахь будлианы талыг үүсгэдэг.
wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key
Хэрэв таны утга 32 байт болж задлагдвал урт нь зөв бөгөөд гомдол файлын өөр газраас ирдэг. Хэрэв богино зүйл болж задлагдвал танд таслагдсан материал байна, формат асуудал биш.
Формат гэмтэл үү, буруу материал уу?
Форматын гэмтэл ирмэг дээр хуримтлагддаг: бүрхүүлийн нэмсэн хашилт, утгатай хамт хуулагдсан private_key гэх шошго, чат клиентийн оруулсан мөр таслалт, эсвэл наалдуулалтаас амьд гарсан төгсгөлийн зай. Эдгээр бүр байтыг өөрчлөхгүйгээр мөрийг өөрчилдөг тул тэдгээрийг арилгах нь анхны таних тэмдгийг сэргээдэг. Задлагч дуугүй болтол цэг таслалыг арилгахын оронд файлыг хангамжийн бүртгэлтэй тэмдэгт тэмдэгтээр харьцуулна уу.
Буруу материал өөр нөхцөл байдал юм. Нууц үг, гэрчилгээний түлхүүр эсвэл нийтийн утга нь итгэмээр харагдаж, буруу хэмжээнд задлагдаж болно. Ямар ч цэвэрлэгээ тэдгээрийн аль нэгийг хамтрагчийн хүлээж буй скаляр болгож чадахгүй. Тэр тохиолдолд засвар биш, шинэ таних тэмдэг хэрэгтэй.
Хувийн талбар дахь нийтийн түлхүүр
Хамгийн түгээмэл будлиан бол нийтийн утгыг хувийн талбарт наах, эсвэл эсрэгээрээ. Хоёулаа 32 байтын хүчинтэй base64 тул уртын шалгалт давж, гар барилт дараа нь хэрэгтэй мессежгүйгээр бүтэлгүйтдэг. Хувийн түлхүүр нь нийтийг үүсгэдэг скаляр тул нийтийн утгыг гаргаж, хамтрагчийн зөвшөөрсөн утгатай харьцуулж шийдэж болно. Гаргасан утга бүртгэлтэй таарахгүй бол танд буруу таних тэмдэг байна, бичгийн алдаа биш.
Клиентийн хувийн түлхүүрийг нөгөө үзүүрийн зөвшөөрөгдсөн нийтийн түлхүүрийг шинэчлэхгүйгээр солих нь мөн адил зөрүүг дахин үүсгэдэг бөгөөд клиентийн өөрийн файл одоо өөртэйгөө нийцэж харагдана гэсэн нэмэлт будлиантай. Хоёр үзүүрийг нэг үйлдлээр өөрчил, эс бөгөөс дараагийн хүн буруу хагасыг дибаг хийнэ.
Профайлыг засаад, дараа нь гар барилтыг батал
Түлхүүр зөв хэмжээнд задлагдаж, зөвшөөрөгдсөн хослолтой таарвал үлдсэн ажил нь профайл ба зам юм. Доорх командууд шаардлагатай үед шинэ хослол үүсгэж, одоо байгаа түлхүүрийн задлагдсан хэмжээг шалгаж, интерфэйс бодитоор ашиглаж буй нийтийн утгыг уншдаг. Хувийн утгыг хэзээ ч тасалбар эсвэл задлах сайтад нааж болохгүй.
wg genkey | tee new.key | wg pubkey > new.pub
base64 -d private.key | wc -c
ip route get 10.60.9.5
wg show wg0 latest-handshakes
Хэмжээний шалгалт материал түлхүүрийн хэлбэртэй эсэхийг хариулж, замын асуулт пакет интерфэйс хүрэх эсэхийг хариулна. Хоёр шалгалт давсны дараа ч хоосон үлдсэн гар барилтын мөр нь оношийг хамтрагчийн төгсгөлийн цэг ба зөвшөөрөгдсөн хаяг руу шилжүүлдэг. Интерфэйсийн нийтийн түлхүүрийг хангамжийн бүртгэлтэй хамгийн сүүлд нэг удаа харьцуулж уншина уу, учир нь хуучин хадгалсан профайл зөв харагдаж болох боловч идэвхтэй нь өөр байж болно].
Аль утгыг сольсон, зөвшөөрөгдсөн хуулбар хаана байгааг тэмдэглээрэй. Дараа нь энэ хамтрагчид хүрэх хүн аль үзүүр өөрчлөгдсөнийг мэдэх ёстой.