Асуулт лицензийн асуудал болж ирдэг ч хариулт нь тооллогоос эхэлдэг. VPN интерфейс, түүнийг удирддаг OpenVPN хөдөлгүүр, TLS номын сан, суулгагч нь нөхцлийн дөрвөн өөр багцтай байж болох бөгөөд бүтээгдэхүүний гадаад төрх аль файл аль багцад хамаарахыг танд хэлэхгүй. Артефактуудыг тараагдах дарааллаар нь үзэж гарвал хариулах эрдэмтэй хүнд шилжүүлэх үед хуулийн асуулт хамаагүй нарийсах болно. Алхам бүр үүнийг улам нарийсгадаг: юу тараагдаж байна, юу өөрчлөгдсөн, хэсгүүд хэрхэн харилцаж байна.

Суулгагч диск дээр юу тавьдаг вэ гэдгээс эхэл

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

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

Жагсаалтыг хувилбаруудын хамт бич, учир нь нөхцөл гол хувилбаруудын хооронд ялгаатай.

dpkg -L openvpn | head -n 40
openssl version -a

Интерфейсийг хөдөлгүүрээс тусгаарла

OpenVPN-ийн хуулах файл GPL 2-р хувилбарыг зааж, OpenSSL-ийн холболтын үл хамаарах зүйлийг баримтжуулдаг бөгөөд энэ нь тодорхой хүрээтэй тусгай зөвшөөрөл бөгөөд нөхцөлийг холих ерөнхий лиценз биш.

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

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

Аль файлыг өөрчилснөө тэмдэглэ

Өөрчилсөн эх код нь багцлалтын аль ч нарийн ширийнээс илүү шинжилгээг өөрчилдөг. Хэрэв хөдөлгүүрт нөхөөс хийсэн бол нөхөөс нь өөрөө үүсмэл бүтээл бөгөөд үүрэг хариуцлага үр дүнг тараасан хүнд ногдоно.

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

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

OpenSSL хувилбарыг тусад нь шалга

OpenSSL 3.0 ба түүнээс хойшхи хувилбарууд Apache License 2.0-оор тараагддаг бол хуучин хувилбарууд OpenSSL/SSLeay нөхцөлийг агуулдаг. Эдгээр нь өөр өөр үүрэг хариуцлагатай өөр баримт бичгүүд бөгөөд багцлагдсан хөдөлгүүр таны бүтээцийн систем олсон аль нэгийг холбож болно.

Бүтээцийн скриптэд дурдсаныг биш, бодитоор тараагдаж буй хувилбарыг баталгаажуул.

OpenVPN-ээс хамааралтай байх нь OpenSSL-ийн өөрчлөлт бүрийг GPL код болгодоггүй бөгөөд холболтын үл хамаарах зүйл нь номын санг дахин тараахтай холбоотой бусад үүргийг арилгахгүй. Үл хамаарах зүйлийг илүү өргөн шинжилгээний нэг заалт гэж үзэж, TLS номын сангийн өөрийн мэдэгдлүүдийг бусад бүхний хамт тэмдэглэ.

Нотолгооны багцыг бүрдүүл

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

Багцыг нэг эзний мэдэлд барь, ингэснээр ямар ч хувилбар түүнгүйгээр гарахгүй.

Эдгээрийн аль нь ч хуулийн асуудлыг шийдэхгүй бөгөөд гол нь тэр: хэн нэгний ой санамжаас бүрдүүлсэн хураангуйг биш, эрдэмтэй шүүмжлэгчид баримтуудыг өгдөг. Нийлүүлэгчийн маркетингийн тодорхойлолт нь түүний архитектурын нотолгоо биш бөгөөд таны өөрийн таамаг ч нотолгоо биш.

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