Жараксыз сырсөздөр — бул контейнердин көйгөйү, сырсөз эрежеси эмес
Четке кагылган ыйгарым укук дарбазага жетпеши мүмкүн. Адегенде киргизүү контейнерин, аутентификация баскычын жана аккаунтту салыштырыңыз.
"invalid secrets" көргөндө адатта бир тыянак келет: VPN тыныш белгилерди жактырбайт. Бул тыянак адатта туура эмес, анткени билдирүү көбүнчө кандайдыр бир дарбаза аккаунтту караганга чейин эле жергиликтүү иштетүүдөн келет. Бир эле сырсөздү эки долбоор жеткирет — графикалык талаа жана ыйгарым укук файлы — жана алар ар башка жерде ишке ашпайт. Башында эле туура болгон сырсөздү жөнөкөйлөтүүдөн мурун контейнерлерди салыштырыңыз.
Ката дарбазадан мурун келет
Жергиликтүү текшерүү, кулпуланган сыр сактагыч, жок агент жана туура эмес форматтагы ыйгарым укук файлы — баары колдонуучуга бир эле баш тартуу катары көрүнгөн ийгиликсиздиктерди жаратат. Алардын эч бири аутентификация серверине тиешеси жок. Дарбазанын өзүнүн баш тартуусу өзүнчө окуя жана адатта башка билдирүү жана башка убакыт менен келет. Ал тоннель пайда болуп, ыйгарым укуктар берилгенден кийин болот.
Демек, биринчи суроо кайсы белгилер мыйзамдуу экени эмес, аракет кайсы жерде токтогону. Байланышты такыр ачпаган клиентти эч ким четке каккан эмес. Байкаган баскычыңызды жазыңыз, анткени кийинки ар бир кадам ошол классификацияга көз каранды.
Бул айырма ким оңдой турганын да өзгөртөт. Контейнердин көйгөйү түзмөккө жана анын ээсине таандык, ал эми аккаунттан баш тартуу аутентификация бэкенди иштеткендерге таандык.
Белгилерди эмес, контейнерлерди салыштырыңыз
GUI сырсөз талаасы, көпчөктөгү жазуу, эки саптуу ыйгарым укук файлы жана автоматташтыруу сыры — баары бир эле маанини башка капта жеткирет. Каптын өз эрежелери бар жана адатта ошол эрежелер бузулат. Көйгөй мааниде сейрек, маанинин ташылышында. Эки түшүнүктү бөлүп кармасаңыз, диагностика кыскарат.
| Where the value stops | What you see | What you check | Who owns the fix |
|---|---|---|---|
| GUI field or managed profile | A validation message before any connection opens | The selected authentication mode and whether the field holds the secret or the username | The device owner or the profile author |
| Keychain or secret agent | A prompt that keeps reappearing, or an agent error | Whether the agent is unlocked and holds an entry for this profile | The user who owns the keychain |
| Two-line credential file | A prompt for a password that was already supplied | Line count, line order and whether a trailing newline is present | Whoever generated the file |
| Shell argument or environment | Works interactively but fails in automation | Whether the shell expanded, trimmed or logged the value | Whoever 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 баш тарткандай көрүнөт, анткени дисктеги сырсөз сиз билген сырсөздөн чындап эле башка. Шектенсеңиз, сырды өзүн басып чыгарбай файлдын байт узундугун күтүлгөн маани менен салыштырыңыз. Бир же эки байт айырма — цитата кырсыгынын белгиси.
Биринчи катадан баскычты окуңуз
Бир аракеттен биринчи конкреттүү билдирүүнү сактап, анан классификациялаңыз. Жергиликтүү текшерүү катасы, жок жеке ачкыч, жеткиликсиз сыр агенти жана дарбаза аутентификациясынын ийгиликсиздиги — бул төрт башка натыйжа, төрт башка жоопкер. Алардын бирөө гана аккаунтка тиешелүү.
Эгер дарбаза туура жеткирилген ыйгарым укукту чындап четке какса, администратор менен аккаунтту, аутентификация бэкенди жана талап кылынган чакырыкты текшериңиз. Жалпы аутентификация ийгиликсиздиги тыюу салынган белгини атабайт.
Бекитилген маанини тамга жана санга чейин кыскартуунун ордуна туура механизм аркылуу калыбына келтириңиз. Сырсөз саясаты операторго таандык жана аны жашыруун түрдө жеңген айла жол оңдоо эмес. Ал кийинки адамдан чыныгы кемчиликти жашырат, ал ошол эле катаны алсызыраак сырсөз менен жолуктурат.