OpenVPN түлхүүр үүсгэхэд түр файл шаардлагагүй
Түлхүүрийн материалыг санах ойд барих нь файлын амьдралын мөчлөгөөс зайлсхийх бөгөөд алдагдалаас биш. Гаралт болон алдааны урсгалыг тусдаа байлгаж, дараа нь түлхүүрийг нууц гэж үзээрэй.
Түлхүүр үүсгэхэд түр файл шаардлагагүй бөгөөд түүнийг алгасах нь ихэнх гарын авлагаас доош зүйлийг засдаг. Түүний арилгадаг зүйл нь файлын амьдралын мөчлөг болон түүний эргэн тойрны цэвэрлэгээний уралдаан юм. Хөндөхгүй үлдээдэг зүйл нь дараа нь нууцыг алдуулах бүх боломж юм. Эдгээр скрипт дэх зөв байдлын асуудал ихэвчлэн өөр газар суудаг, учир нь оношилгоо болон түлхүүрийн материал өөр өөр урсгалаар аялдаг.
Файл хэзээ ч таны бодож байсан тэр илрэл байгаагүй
Түр файл нь бүгдэд уншигдахуйц байх үед, гацаанаас амьд үлдэх үед, эсвэл үл хамаарах зүйлийн дараа цэвэрлэгээний алхам алгасах үед тодорхой эрсдэл юм. Эдгээр нь бодит бөгөөд тэдгээрийг засах нь үнэ цэнэтэй. Тэд бас орон нутгийн, харагдахуйц, шалгахад хялбар. Өөрчлөлт зөвхөн гоо зүйн байсан гэж дүгнэхээс өмнө тус бүрийг өөрийн скрипт дотор нэрлээрэй.
Илүү нам гүм эрсдэлүүд доош суудаг: дибаг хийх үед хэвлэгдсэн түлхүүр, бүх үр дүнгийн объектыг цуваа болгож буй үл хамаарах зүйл, цөмийн дамп бичдэг гацааны зохицуулагч, эхлээд файлын зам, дараа нь агуулгыг хүлээн авдаг лог цуглуулагч. Түр файлаас зайлсхийх нь тэдний аль нэгэнд ч юу ч хийхгүй бөгөөд эсрэгээр итгэх нь сайн санааны дахин бичилт нууцыг өмнөхөөс илүү ил гаргаж үлдээх зам юм. Өөрчлөлтийг дараалал дахь нэг сайжруулалт гэж үзээрэй, шийдэл гэж биш.
Файлын нэр өгөөгүй үед клиент юу бичдэг
Клиентийн одоогийн хувилбарууд гаралтын замгүйгээр түлхүүрийн команд өгөгдсөн үед үүсгэсэн түлхүүрийг стандарт гаралт руу илгээдэг. Яг энэ баримтжуулсан зан төлөв нь санах ойн аргыг амьдрах чадвартай болгож, хэрэгслийг төхөөрөмжийн зам руу чиглүүлэх хуучин заль мэхний хэрэгцээг арилгадаг.
import subprocess
proc = subprocess.run(
["openvpn", "--genkey", "tls-crypt"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=True,
)
key_material = proc.stdout
Командыг жагсаалт хэлбэрээр дамжуулна уу. Энд бүрхүүлийн өргөтгөл шаардлагагүй бөгөөд бүрхүүлийг идэвхжүүлэх нь аргументын хил хязгаарыг таны хянадаггүй хашилтаас хамааралтай болгох байсан. Скрипт таны хүлээж байснаас өөр хайлтын замтай ажиллаж чадах бол төлөвлөсөн гүйцэтгэх файлыг үнэмлэхүй замаар ашиглана уу.
Буцаах кодын шалгалт нь бүтэлгүй дуудлагын дараа амжилтын зам үргэлжлэхийг сэргийлдэг. Үүнгүйгээр хоосон байт мөр урагш урсаж, зөвхөн хамаагүй хожуу, түлхүүр ашиглагдах цэгт бүтэлгүйтдэг бөгөөд алдааны мэдээлэл үүсгэхийг огт дурдахгүй болдог.
Хоёр урсгал, хоёр утга
Стандарт гаралт түлхүүрийг зөөдөг. Стандарт алдаа нь хэрэгслийн танд хэлэхийг хүсч буй бүхнийг зөөдөг, үүнд тохиргоо, хувилбар, түлхүүрийн төрлийн тухай анхааруулгууд багтана. Хоёуланг нь нэг буфер руу чиглүүлэх нь итгэмээр харагдах түлхүүрийн голд өгүүлбэр оёж гаргадаг алдаа юм.
Бүтэлгүйтлийн замыг ч тусдаа барина уу. Дуудлага бүтэлгүйтэх үед бүтэлгүйтсэн команд болон гарах төлөвийг мэдээлж, дараа нь стандарт алдааны аль нэг хэсгийг үзүүлэх нь аюулгүй эсэхийг ухамсартайгаар шийдээрэй. Бүх үр дүнгийн объектыг лог руу асгах нь түгээмэл богино зам бөгөөд түлхүүрийг дагуулан авч болно.
Хожим материалыг хэш хийх эсвэл харьцуулах бол хоёртын хувьд аюулгүй унших нь чухал. Гэнэтийн кодчилол бүхий текст горим нь хэзээ ч текст байхаар төлөвлөгдөөгүй байтуудыг өөрчилж болзошгүй бөгөөд өөрчлөгдсөн түлхүүр нь гар барилт бүтэлгүйтэх хүртэл буруу түлхүүрээс ялгагдахгүй.
Хэрэв та үүнийг хадгалж байгаа бол ухамсартайгаар хий
Ихэнх байршуулалтад эцэст нь түлхүүр диск дээр, гарц дээр эсвэл нууцын агуулахад хэрэгтэй болдог. Үүнийг нэг удаа бичнэ үү, дараагийн chmod биш, үүссэн үеэс хязгаарлагдмал эрхтэйгээр, бичилтийг атом болгоорой, ингэснээр хэсэгчилсэн файл үйлчилгээ эхлэхэд унших файл болохгүй. Нэг директор дахь замаас нэр солих нь үүнд ихэвчлэн хангалттай. Бүтэлгүйтлийн салбарт бэлтгэлийн замыг устгаарай, учир нь бүтэлгүйтсэн бичилт бол хүмүүсийн мартдаг хуулбар нь юм.
Файл үүсгэх үед түүний горимыг тохируулж, директорын горимыг ч хязгаарлагдмал байлгаарай. Нөөцлөлтийн ажил бодолгүй шүүрддэг газрын доорх аль ч замаас зайлсхий, учир нь шөнийн нөөцлөлт дэх нууц нь тэр нөөцлөлтийн хуулбар бүр дэх нууц юм. Мөн адил үндэслэл бусад үйлчилгээ уншиж болох хуваалцсан эзэлхүүнд хамаарна.
Хуваалцсан түлхүүр нь таних тэмдэг биш
Энэ материалыг үүсгэх нь гэрчилгээ олгохгүй, клиентийг бүртгэхгүй, хэн холбогдож байгааг тогтоохгүй. Хуваалцсан түлхүүр нь аль хэдийн бие биедээ итгэдэг талуудын хоорондын сувгийг хамгаалдаг; таних тэмдэг нь гэрчилгээ болон түүний өмнө сууж буй аливаа баталгаажуулалтаас хараахан ирдэг.
Түлхүүрийн төрлүүд ч солигддоггүй. Нэг онцлогт зориулсан тэгш хэмт түлхүүр нь нөгөөд бэлэн орлуулагч биш бөгөөд шинэ хувилбарууд хоёр үзүүрт өөр файлтай өөрийн хувилбаруудыг нэмдэг. Таны тохиргоо үнэхээр нэрлэж буй төрлийг үүсгээд, дараа нь тэр төрөөс тодорхойлсон үүрэгт ашиглаарай.
Үр дүнг файлын хэмжээг харахын оронд бодит холболтоор шалгаарай. Гар барилт дуусч, лог түлхүүрийн анхааруулга харуулахгүй бол үүсгэх зам зөв; хэрэв түлхүүр нэгтгэсэн урсгалаас таслагдсан бол холболт скрипт биш, эсрэг тал руу заасан байдлаар бүтэлгүйтэх байсан.