openssl rand яагаад tls-crypt-ийн хүсдэг түлхүүрийг үүсгэж чадахгүй вэ
OpenSSL санамсаргүй байт үүсгэдэг; tls-crypt-д бүтэцтэй статик түлхүүрийн файл хэрэгтэй, tls-crypt-v2-д зөвхөн сервер боож чадах түлхүүр хэрэгтэй. openvpn --genkey ашиглана уу.
OpenSSL аль хэдийн суулгагдсан, хостод энтропи байгаа бөгөөд түүгээр түлхүүр үүсгэх нь тодорхой богино зам мэт санагддаг. Гаралт нь санамсаргүй, нууц бөгөөд бүрэн ашиглах боломжгүй байх бөгөөд алдаа нь түлхүүрийн формат дурдсан зүйл биш харин хяналтын сувгийн алдаа болж ирнэ. Энэ төөрөгдүүлэлт нь үнэтэй хэсэг, учир нь хүмүүсийг өөрсдийн шифрээ шалгуулахад явуулдаг. VPN-ийн уншдаг зүйл бол тодорхой файлын бүтэц, дур зоргоороо байтын блок биш бөгөөд энэ боломжийн нэг хувилбарыг серверээс гадна огт үйлдвэрлэх боломжгүй.
Диск дээрх файл яг юу байх ёстой вэ
OpenVPN-ийн статик түлхүүрийн файл бол текст. Энэ нь юу болохыг зарласан тайлбарын мөрөөр эхэлж, тогтмол өргөнтэй мөрүүдэд hex өгөгдөл агуулж, нийт 256 байт түлхүүрийн материал болно. OpenVPN үүнийг хяналтын сувгийн нийтлэг нууц гэж уншдаг, сертификат гэж биш, нууц үг гэж биш, TLS сан таних зүйл гэж ч биш.
Ижил төрлийн объект нь хяналтын сувгийн хоёр боломжид үйлчилдэг. tls-auth-ийн үед нэг талын пакетууд өөр рүү нь буцаж тусгагдахгүйн тулд хос бүр чиглэл хэрэгтэй. tls-crypt-ийн үед нэг нийтлэг нууц хяналтын сувгийг хоёр чиглэлд шифрлэж, баталгаажуулдаг бөгөөд энэ нь гар барилтыг нуухын зэрэгцээ хамгаалдаг.
Эдгээрийн аль нь ч нууц мэдлэг биш бөгөөд формат нь гол зүйл биш. Гол нь файл уншигчийн хүлээж буйтай яг тохирох ёстой: толгой, мөрийн өргөн, төгсгөлийн шинэ мөр, нийт урт. Нэг мөрөөр зөрсөн файл хог болж ачаалагдах эсвэл огт бүтэлгүйтдэг. Тиймээс хоёр хосыг байт байтаар харьцуулах нь хууль ёсны эхний тест бөгөөд хоёр тохиргооны файлын аль нэгийг уншихаас илүү хурдан.
Нэгийг үйлдвэрлэх дэмжигдсэн арга
Энгийн статик түлхүүрийг түүнийг хэрэглэх хэрэгслээр үүсгээд, дараа нь хоёр төгсгөлөөс нь лавлана уу:
openvpn --genkey secret /etc/openvpn/tc-shared.key
tls-crypt /etc/openvpn/tc-shared.key
Сонголтын бичлэг цаг хугацааны явцад өөрчлөгдсөн: 2.4 үеийн хуучин суулгацууд файлын нэрний өмнө тусдаа тугтай хэлбэрийг ашигладаг байсан бол одоогийн бүтээцүүд богиныг хүлээн авдаг. Ямар ч байсан үүссэн файл нь ижил төрлийн объект тул шалгалт нь хоёр хос ижил байттай эсэх юм.
Хоёр дахь үе нь гадаад үүсгэгч зохиож чадахгүй бүтцийг нэмдэг. Серверийн түлхүүр нэг удаа үүсч, үйлчлүүлэгч бүр түүнээс гаралтай ороосон түлхүүр авдаг:
openvpn --genkey tls-crypt-v2-server /etc/openvpn/tc-v2-server.key
openvpn --genkey tls-crypt-v2-client /etc/openvpn/laptop1.key --tls-crypt-v2 /etc/openvpn/tc-v2-server.key
Үйлчлүүлэгчийн авдаг зүйл нь серверийн өөрийн түлхүүрийн хуулбар биш. Энэ нь зөвхөн сервер онгойлгож чадах мета өгөгдөл агуулсан ороосон объект бөгөөд энэ ороолт нь нэг төхөөрөмжийн файлыг бусад ямар ч төхөөрөмжид хүрэхгүйгээр хүчингүй болгох боломжийн шалтгаан юм. Серверийн түлхүүрийг сервер дээр хадгалж, түүнийг тэр төхөөрөмж тутмын итгэлийн үндэс гэж үзээрэй.
Гараар хийсэн байтууд хаана эвдэрдэг
Зөв толгойн доор 256 санамсаргүй байтыг hex хэлбэрээр хэвлэх нь онолын хувьд ачаалагдах статик түлхүүрийн файл болно. Энэ нь гуйлгасан муу санаа хэвээр. Форматлалтын нарийн ширийн бүр нь ачаалах үед бүтэлгүйтэх, эсвэл бүр муу нь зөвхөн баталгаажуулалтын алдаа болж илрэх өөр утгатай хоёр хосыг үлдээх материал үйлдвэрлэх боломж болдог.
v2 хувилбарт ижил төстэй зүйл боломжгүй. Ороосон үйлчлүүлэгчийн түлхүүр нь зөвхөн серверийн түлхүүрийн процессын гаралт болж оршдог бөгөөд сервер түүнийг онгойлгоход шаардлагатай материалыг хадгалдаг. Санамсаргүй блок татгалзагдах эсвэл шифр тайлахад бүтэлгүйтэх бөгөөд хоёр мессежийн аль нь ч санамсаргүй байдлыг дурдахгүй.
Хувилбарын нийцэл энэ бүхний дээр байдаг. Эхний үе нь хоёр төгсгөлд нь дэмждэг хувилбар шаарддаг, хоёр дахь нь дахин шинэ хувилбар шаарддаг. Боломж байхын өмнө бүтээсэн үйлчлүүлэгч зөвхөн ороосон материал хүлээн авдаг сервертэй гар барилтыг дуусгаж чадахгүй бөгөөд түүний мэдээлсэн алдаа нь хувилбар руу биш, хяналтын суваг руу заана.
Бүгдийг гадаа түгжихгүйгээр эргүүлэх
Нэг нийтлэг нууцыг эргүүлэх нь техникийн бус, зохицуулалтын дасгал юм. Сервер өмнөхийг буцааж татахаас өмнө хос бүр солих файлыг гартаа байлгах ёстой бөгөөд хуучин утгыг хадгалсан аливаа машин тэр мөчид бүтэлгүйтдэг. Ажлын өдрийн дундуур энэ эргэлтийг бүү эхлүүл.
v2 зохицуулалтад эргэлт нь төхөөрөмж тус бүрээр явагдана: нэг машин руу шинэ ороосон түлхүүр гаргаж, хуучныг зөвхөн тэр машин руу тэтгэвэрт гаргана. Үйлчлүүлэгч бүр түүнийг дэмждэг хувилбарт байх үед шилжих гол үндэслэл энэ.
Файлын зөвшөөрөл нь мөн тэр ярианы нэг хэсэг. Түлхүүр нь зөвхөн үйлчилгээг ажиллуулж буй бүртгэлд уншигдахуйц байх ёстой бөгөөд түүний хамгаалж буй профайлуудтай нэг репозитор дотор байх ёсгүй. OpenVPN 2.6-ийн лавлах нь үүсгэх хэлбэр, түлхүүрийн материалын хэсгүүдийг баримтжуулдаг бөгөөд энэ нь форумын нийтлэлээс хуулсан командаас илүү сайн эх сурвалж юм.