Профайлд --csd-wrapper нэмэх нь нэвтрэх үед ажиллуулдаг демонд локал скриптийг өгдөг тул таны өмнөх шийдвэр бол кодын хяналт, сонголтын унтраалга биш. Энэ сонголт нь гарцын хост шалгах бүрэлдэхүүнийг сольж болохын тулд байгаа бөгөөд таны өгсөн скрипт хүртэлх замыг авна. Доорх бүхэн байршуулалтын эзэн ямар байрлалын шалгалт шаардлагатайг аль хэдийн хэлсэн гэж үзнэ; хэрэв тэр хэсэг нээлттэй хэвээр байвал эхлээд шийдээрэй. Гарын авлагад дөрвөн алхам байна: бүтэлгүйтсэн шатыг олох, скриптийг унших, аль таних тэмдгээр ажиллахыг сонгох, үр дүнг батлах.

1-р алхам: Бүтэлгүйтсэн шатыг олоорой

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

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

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

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

2-р алхам: Скриптийг профайлд орохоос өмнө уншаарай

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

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

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

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

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

3-р алхам: Бүрхүүл аль таних тэмдгээр ажиллахыг сонго

--csd-user нь CSD, TNCC эсвэл HIP програмын гүйцэтгэлийн үед эрх мэдлийг бууруулдаг. Тэр бүртгэл нь локал гүйцэтгэлийн зохион байгуулалтын хэсэг бөгөөд гарцад өгөх хэрэглэгчийн нэр биш.

Бүрхүүлд интерактив бүрхүүлгүй, sudo эрхгүй, хэрэггүй бүлгийн гишүүнчлэлгүй тусдаа бүртгэл өг. Скрипт болон түүний шалгадаг тодорхой файлуудад унших эрх өгөөд, VPN профайлд хүрэхээс өмнө эрх бууралтыг туршаарай. Асуудлыг эндээс олох нь клиентийн дотроос олохоос хямд.

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

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

4-р алхам: Өөрчлөлтийг буцаах боломжтой байлга

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

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

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

Хоёр дахь асуудал үүсгэдэг товчлолууд

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

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

OpenConnect гарын авлага --csd-wrapper болон --csd-user-г тусад нь баримтжуулдаг бөгөөд энэ нь чухал сануулга: скрипт ба таних тэмдэг нь хоёр шийдвэр юм. Тэдгээрийг тусад нь хянаж, хоёуланг нь бич. Тэгвэл нэвтрэх сануулга нь код наах замаар шийддэг оньсого байхаа болино.

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