Профайлыг ширээний клиентэд импортлоход эхний алдаа нь ихэвчлэн клиент дагахыг татгалздаг мөр байдаг: ажиллуулахгүй скриптийн дэгээ, эсвэл хэт зөвшөөрөмжтэй гэж үздэг script-security утга. Тоог өсгөхөд харилцах цонх алга болно. Гэхдээ энэ нь тухайн профайл таны машин дээр юу гүйцэтгэж болохыг ч өргөжүүлдэг бөгөөд зөвхөн анхааруулгыг хаахын тулд үүнийг өгөх нь хачин юм. Импортыг заавар хүртэл дагавал шийдвэр бодитой болно.

Импортын цонхоос заавар хүртэл

Профайл нь заавруудтай текст файл бөгөөд аль ч туннель үүсэхээс өмнө клиент тэдгээрийг уншдаг. up, down эсвэл tls-verify зэрэг заавар нь OpenVPN тодорхой мөчид ажиллуулах ёстой гадаад програмыг нэрлэдэг. OpenVPN үүнийг ажиллуулахад бэлэн эсэх нь script-security гэдэг тусдаа тохиргоо бөгөөд профайл ихэвчлэн үүнийг ч тогтоодог.

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

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

Түвшин бүр үнэхээр юуг нээдэг вэ

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

LevelWhat OpenVPN may executeWhat it exposes
0No external programs at allInterface and route setup must not depend on helpers
1 (default)Built-in helpers such as ip, ifconfig, route or netshPrivileged commands the platform already ships
2Built-in helpers plus user-defined scriptsWhatever the named script does with the client's privileges
3Everything above, plus passwords in environment variablesCredentials visible to child processes and their logs

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

Эдгээр тоонуудын аль нь ч хүч чадлын тохиргоо биш. 3-р түвшний профайл 1-р түвшнийхээс илүү сайн шифрлэлтгүй; зүгээр л илүү том гүйцэтгэлийн гадаргуутай, туннель нь ижил.

Профайл юунд хүртэх ёстойг шийдээрэй

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

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

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

grep -nE 'script-security|^up |^down |tls-verify' client.ovpn

Нэг зүйлийг өөрчил, дараа нь буулгалтыг ч ажиглаарай

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

openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default

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

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

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

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