Нэг клиент хуваалцсан түлхүүрээр баталгаажиж, нөгөө нь түүнийг татгалздаг бөгөөд таны оруулсан тэмдэгтүүд хоёр талд ижил харагдана. Эдгээр нь ижил тэмдэгт байх магадлалтай; ялгаа нь файл тэдэнд аль тайлах дүрмийг хэрэглэхэд л байна. Хашилт доторх мөрийг шууд утгаар авна, 0x-ээр эхэлсэн токеныг арван зургаатын тоо гэж уншина, 0s-ээр эхэлсэн токеныг Base64 гэж уншина. Эдгээр гурван бичлэгийн зөвхөн нэг нь таны зорьсон утгыг илэрхийлдэг тул засвар нь ихэвчлэн илүү сайн нууц үг биш, харин хөрвүүлэлт байдаг.

Шинж тэмдэг нь шифр биш, кодчилол руу заана

Хоёр төгсгөл өөр байт хадгалах үед, хэлэлцээр амжилттай болж, нотолгоо нь дараа нь бүтэлгүйтнэ. Тэгвэл лог нь алгоритмын зөрүү биш, бүрэн бүтэн байдал эсвэл HMAC-ийн алдааг бүртгэнэ, учир нь санал сонгогдсон бөгөөд баталгаажуулалтын алхам тохироогүй. Тэр мөр нууцын хэлбэрийг хэзээ ч дурдахгүй.

Үе шат нь сэжүүр. Сонгогдсон саналын дараа ирэх алдаа нь хоёр тал түлхүүрийн материалаас бусад бүх зүйлд санал нэгдсэнийг илэрхийлнэ, харин «санал сонгогдоогүй» нь бодлого эсвэл шифрийн багцад хамаарна. Нууц үг зөв харагдах үед бүтэлгүйтэх бүрэн бүтэн байдлын шалгалт нь кодчилолын зөрүүний харагдах нүүр юм.

Нэг нууц, файлын түүнийг уншиж болох гурван арга

Дөрвөн байтын утгын хувьд key1 арван зургаатын тоо болон Base64 нь ижил байтуудын хоёр дахин кодчилол бөгөөд зөвхөн эхний тэмдэгтүүд нь задлагчид аль нь байгааг хэлнэ. swanctl-ийн итгэмжлэлүүд мөн ижил конвенцийг дагадаг тул хоёр интерфейсийн хооронд шилжүүлсэн утга нь угтвар нь хамт явах үед л утгаа хадгална.

10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==

Тэр блок дахь хоёр дэлгэрэнгүй зүйл хамгийн их цаг авдаг. Арван зургаатын цифрүүд хоёр регистрийг хүлээж авдаг тул 0x6b657931 ба 0x6B657931 нь ижил утга, гэхдээ сондгой тооны тэмдэгтийг татгалзахын оронд чимээгүй буруу уншдаг нь зүсэлтийн дараах байт бүрийг зөрүүлнэ. Base64-ийн дүүргэлт нь утгын нэг хэсэг тул төгсгөлийн = тэмдэггүй наасан мөр нь чанга бүтэлгүйтэхийн оронд өөр байт руу тайлагдана.

Утгыг нэг удаа тайлсан профайл түүнийг аль хэдийн хөрвүүлсэн байдаг тул дахин тайлах нь өөр байт болон буруу нууц үг мэт харагдах баталгаажуулалтын алдаа үүсгэнэ. Ойлгомжгүй бүх зүйлд хашилт нь аюулгүй чиглэл, учир нь агуулга нь кодчилолын тэмдгээр эхэлсэн ч шууд утгаараа хэвээр байна.

Base64 текст хаанаас ирдэг

Профайлын экспорт болон нийлүүлэгчийн порталууд түлхүүрийг ихэвчлэн аль хэдийн кодчилсон байдлаар өгдөг, ихэвчлэн гараар бичихэд зориулагдаагүй өгөгдлийн талбарт. Тэр утгыг онгойлгож тайлагдсан текстийг хашилтад хадгалаарай, эсвэл тэмдгийг урд нь тавьж кодчилсон хэвээр үлдээгээрэй. Хоёулаас хагасыг нь хийх нь эвддэг зүйл. Хоёр зам нь бүхэл утга хуулбараас амьд гарсан тохиолдолд л ажиллана.

Хоёр чиглэл тус бүр нэг команд бөгөөд хадгалсан утгыг үүсгэсэн яг тэр үйлдэл гэж тэдгээрийг тасалбарт хадгах нь зүйтэй. Тэдгээрийг энэ дарааллаар ажиллуулна уу:

printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64

Кодчилсон текстийг энгийн мэт наах нь үнэтэй алдаа. Файл тэмдэгтүүдийг бичсэнээр нь яг хэш хийдэг, үүсмэл түлхүүр нь түншийн тооцсоноос ойролцоогоор гуравны нэгээр урт гардаг, мөн оролдлого бүр анхааруулгагүйгээр ижилхэн бүтэлгүйтдэг, учир нь задлагч өөрт нь өгсөн дүрмийг дагасан.

Түнш бүр яг ямар байт ашиглаж байгааг баталгаажуулна уу

Алдааны мөрнөөс шалтгааныг таамаглахын оронд эхлээд демоны холболтын талаарх харагдацыг, дараа нь баталгаажуулалтын үр дүнг уншина уу. Хадгалсан уртыг харьцуулах нь хурдан ухаалаг шалгалт, учир нь кодчилсон текст нь түүний төлөөлж буй байтуудаас урт. Дараа нь аль таних мөр тохирсныг баталгаажуулна уу, учир нь буруу түншийн дор хадгалсан зөв нууц нь буруутай адил бүтэлгүйтдэг. Мөрүүдийн дараалал үүнийг шийднэ: эхний тохирол ялна, тиймээс дээд талд ойрхон өргөн %any мөр нь дөнгөж зассан тодорхой мөрийг чимээгүй орлуулна.

Файл зөв болсны дараа дахин эхлүүлэхийн оронд дахин ачаална уу. ipsec rereadsecrets нь IKE демоны хуулбарыг шинэчилдэг, swanctl тохиргоо нь итгэмжлэлүүдийг өөрийн командаар ачаалдаг. Дахин эхлүүлэх нь тогтоосон холбоо бүрийг хаяж, таны хийх гэж байсан харьцуулалтыг устгана.

Эдгээр шалгалтын аль нь ч нууцыг ил болгохыг шаарддаггүй. Урт, таних сонгогч, мөрийн байрлал нь ийм алдааны ихэнхийг тайлбарладаг, хэн нэгэнд арван зургаатын дамп хэрэгтэй болохоос өмнө.

Үр дүнг нуухгүйгээр файлыг өөрчил

Файлыг демоны бүртгэлээр хязгаарлаж, амьд нууцуудыг тасалбар, чат, дэлгэцийн зурагнаас хол байлгаарай, учир нь наасан түлхүүр нь алдагдал, оношилгоо биш. Энэ нь өөрийг нь үүсгэсэн тохиолдлоос ч урт насалдаг.

Тохиргоог нь та өөрөө хянадаг клиентээс туршиж, баталгаажуулалт амжилттай болохыг, дараа нь туннель трафик зөөж байгааг баталгаажуулна уу. Гар барилтыг засаж, чиглүүлэлт эвдэрхий үлдсэн дахин ачаалт нь өөр асуудал бөгөөд нууц хөдөлгөөн зогссон даруйд илэрдэг.

Холбоотой нийтлэлүүд