"invalid secrets" көргөндө адатта бир тыянак келет: VPN тыныш белгилерди жактырбайт. Бул тыянак адатта туура эмес, анткени билдирүү көбүнчө кандайдыр бир дарбаза аккаунтту караганга чейин эле жергиликтүү иштетүүдөн келет. Бир эле сырсөздү эки долбоор жеткирет — графикалык талаа жана ыйгарым укук файлы — жана алар ар башка жерде ишке ашпайт. Башында эле туура болгон сырсөздү жөнөкөйлөтүүдөн мурун контейнерлерди салыштырыңыз.

Ката дарбазадан мурун келет

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

Демек, биринчи суроо кайсы белгилер мыйзамдуу экени эмес, аракет кайсы жерде токтогону. Байланышты такыр ачпаган клиентти эч ким четке каккан эмес. Байкаган баскычыңызды жазыңыз, анткени кийинки ар бир кадам ошол классификацияга көз каранды.

Бул айырма ким оңдой турганын да өзгөртөт. Контейнердин көйгөйү түзмөккө жана анын ээсине таандык, ал эми аккаунттан баш тартуу аутентификация бэкенди иштеткендерге таандык.

Белгилерди эмес, контейнерлерди салыштырыңыз

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

Where the value stopsWhat you seeWhat you checkWho owns the fix
GUI field or managed profileA validation message before any connection opensThe selected authentication mode and whether the field holds the secret or the usernameThe device owner or the profile author
Keychain or secret agentA prompt that keeps reappearing, or an agent errorWhether the agent is unlocked and holds an entry for this profileThe user who owns the keychain
Two-line credential fileA prompt for a password that was already suppliedLine count, line order and whether a trailing newline is presentWhoever generated the file
Shell argument or environmentWorks interactively but fails in automationWhether the shell expanded, trimmed or logged the valueWhoever wrote the automation

Community OpenVPN 2.6 клиент параметрлери auth-user-pass үчүн ошол эки саптуу файлды сүрөттөйт, сырсөз сабы жок болгондогу жүрүм-турумду да кошуп: клиент анда сурайт. Ошол эле деталь "мен буга чейин берген сырсөздү эмнеге дагы сурайт" деген билдирүүлөрдүн классын түшүндүрөт. Бош экинчи сап зыянсыз форматтык тандоо эмес, маанилүү абал экенин да айтат.

Цитата дагы өзүнчө катмар: жөнөкөй ыйгарым укук файлындагы тырмакчалар дайын катары сакталат, ал эми shell аларды программа көргөнгө чейин алып салат. Бир эле белги бир жерде зыянсыз, экинчисинде структуралык. Клиентиңиз кайсы контейнерди колдонгонун таблица айта албайт, ошондуктан сапты тандаардан мурун клиенттин өз конфигурациясын окуңуз.

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

Shell зыянысыз ыйгарым укук файлын түзүңүз

Эң коопсуз жергиликтүү жол сырды shell тарыхынан жана процесс аргументтеринин тизмесинен сыртта кармайт. Эки талааны интерактивдүү окуп, анан клиент күткөн эки сапты жазыңыз. Калганы текшерүүгө оңой конфигурация файлында калсын.

read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds

Алгачкы эки буйрук колдонуучу атын, анан сырсөздү жаңыртпай окуйт, үчүнчүсү эки сапты жазат, төртүнчүсү файлды чектейт, акыркысы ошол файл менен клиентти баштайт. read -r артка кайырма белгилерин сактайт, жана так ушул деталды таштап кетсеңиз, иштеп турган сырсөз иштебей калат.

Файлды тырмакчасыз өзгөрмө же shell кеңейтүүлөрүнө толгон here-document менен түзбөңүз. Экөө тең белгилерди файлга жеткенге чейин өзгөртүшү мүмкүн, натыйжадагы ийгиликсиздик VPN баш тарткандай көрүнөт, анткени дисктеги сырсөз сиз билген сырсөздөн чындап эле башка. Шектенсеңиз, сырды өзүн басып чыгарбай файлдын байт узундугун күтүлгөн маани менен салыштырыңыз. Бир же эки байт айырма — цитата кырсыгынын белгиси.

Биринчи катадан баскычты окуңуз

Бир аракеттен биринчи конкреттүү билдирүүнү сактап, анан классификациялаңыз. Жергиликтүү текшерүү катасы, жок жеке ачкыч, жеткиликсиз сыр агенти жана дарбаза аутентификациясынын ийгиликсиздиги — бул төрт башка натыйжа, төрт башка жоопкер. Алардын бирөө гана аккаунтка тиешелүү.

Эгер дарбаза туура жеткирилген ыйгарым укукту чындап четке какса, администратор менен аккаунтту, аутентификация бэкенди жана талап кылынган чакырыкты текшериңиз. Жалпы аутентификация ийгиликсиздиги тыюу салынган белгини атабайт.

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

Тектеш макалалар