Клиент сертификатынсыз OpenVPN: сервер саясаты, профиль емес
Сертификат пен кілт жолдарын жою еш нәрсені өзгертпейді, егер сервер оларды әлі де талап етсе. Талапты сервер жағына көшіріп, клиенттің өз сервер тексерулерін сақтаңыз.
Сіз сертификат пен кілт жолдарын жоясыз, профильді тапсырасыз, бірақ қосылым әлі де сертификат қатесімен сәтсіз аяқталады. Профиль ешқашан бұл талапты орындаушы болған емес. Клиент сертификатының міндетті екенін сервер шешеді және клиент жағындағы ешбір өзгерту оны келіссөзбен жоя алмайды. Сондықтан түзету — сервер саясатын әдейі өзгерту, оған тәуелдінің бәрі сол бір өтуде жаңартылады.
Профиль — саясат емес
Community OpenVPN 2.6 клиент сертификаттары міндетті күйде келеді, себебі verify-client-cert әдепкі бойынша require. Оны none мәніне қою сертификат талабын тоқтатып, клиент аутентификациясын сервер бұрыннан жүргізіп отырған пайдаланушы аты мен құпия сөз тәртібіне тапсырады. Ескі нұсқаулықтар сол идеяның ескірген жазылуы болып табылатын client-cert-not-required-ке жүгінеді, сондықтан орнатылған нұсқаңыз құжаттайтын директиваны қолданыңыз. Қалай болғанда да өзгеріс серверде болады және ешбір клиент профилі оны орындай алмайды.
Төмендегі үзінді — сервер жағындағы толық өзгеріс және ол өз алдына жұмыс істейтін аутентификация конфигурациясы емес. verify-client-cert none сертификат талабын алып тастайды, ал username-as-common-name шот атауын кейінгі шақырулар мен әр клиенттің файлдары көретін сәйкестендіруге айналдырады. Екі жолдың ешқайсысы құпия сөзді тексермейді, сондықтан верификатор әлі де болуы керек.
verify-client-cert none
username-as-common-name
Бұл верификатор — auth-user-pass-verify арқылы басқарылатын плагин немесе скрипт және жоғарыдағы жолдардың кез келгені мәнге ие болмас бұрын орнында болуы керек. Ретті кері айналдыру сізге сервер сертификат талап етпейтін және шотты тексермейтін терезе береді.
Серверді әлі де не тексереді
Клиент сертификатынан бас тарту TLS-тен бас тарту емес. Сервер өз сертификаты мен кілтін сақтайды, ал клиент CA сенімін және алаяқпен сөйлесуге жол бермейтін хост атауы тексерулерін сақтайды. Клиентте сертификат жоқ болғандықтан remote-cert-tls server немесе CA бумасын жою — кең таралған және ауыр қате оқу, ал 2.6 анықтамасы екі бағыттың тәуелсіз екенін анық айтады. Біреуі серверді клиентке дәлелдейді, екіншісі клиентті серверге дәлелдейді.
Профильде tls-auth немесе tls-crypt блогы да болуы мүмкін. Бұл өзінің тарату және айналдыру циклі бар ортақ басқару арнасының кілті, сондықтан сертификат немесе кілт жолдары жоқ файл автоматты түрде жариялауға қауіпсіз емес. Оны оқығанша құпия ретінде ұстаңыз.
Жұмыс істеп тұрған профильден көшірілген сертификат файлы өз алдына ештеңені дәлелдемейді; иелік оған сәйкес келетін жеке кілтті ұстауды білдіреді, оны сертификатпен аутентификацияланатын орналастыру тексереді. Сертификаты бар файл — онымен аутентификация жасауға болатын файл емес.
Верификатор не істеуі керек
Сертификат талабы алынып тасталғаннан кейін бәрі верификаторға сүйенеді: плагин немесе auth-user-pass-verify арқылы басқарылатын скрипт. Ол жарамсыз тіркелгі деректерін қабылдамауы, өшірілген немесе жарамсыз шоттарды қабылдамауы және өз backend-іне жете алмағанда жабық түрде сәтсіз аяқталуы керек. username-as-common-name жиі қатар қосылады және кейінгі шақырулар мен әр клиенттің конфигурация файлдары көретін сәйкестендіруді өзгертеді. Ол құпия сөзді тексермейді және жарамсыз шотты жарамды етпейді. Бұлар бөлек жұмыстар, оларды шатастыру — миграцияның бақытты жол сынағынан өтіп, алғашқы нақты оқиғасында сәтсіздікке ұшырау жолы.
Теріс жағдайларды оң жағдай сияқты мұқият сынаңыз. Құпия сөз сұрауын көрсететін профиль клиенттің сұрауды сала алатынын ғана дәлелдейді, ал қате құпия сөзді қабылдайтын сервер әлдеқайда жаман нәрсені дәлелдейді. Сынақ жинағына тек нашар құпия сөзді емес, өшірілген шот пен мерзімі өткен тіркелгі деректерін де қосыңыз.
Саясатты, профильді және карталауды бірге өзгертіңіз
Үш нәрсені үйлестіріңіз: сервер директивасын, клиент профилін және әр клиенттің сәйкестігін карталауды. Оларды бөлек өзгертсеңіз, клиенттер тексеруден бұрын сәтсіздікке ұшырайды немесе әкімші күтпеген атпен қосылады, бұл одан да жаман, өйткені табысқа ұқсайды. Қате сәйкестікпен табысты қосылымды сәтсіз қосылымға қарағанда байқау қиынырақ.
Бұл жол үшін екі сынақ шотын ұстаңыз, біреуі жарамды, біреуі белгілі нашар, және верификаторға кез келген өзгерістен кейін екеуін де пайдаланыңыз. Жарамды шот бақытты жолды және сәйкестік карталауын дәлелдейді; нашар шот қабылдамаудың әлі де жұмыс істейтінін дәлелдейді. Екі сынақ та сізге жарамдылық ережелері туралы ештеңе айтпайды, сондықтан орналастыруда ондай ережелер болса, саяси себептермен қабылданбауы тиіс шотты қосыңыз. Әр өзгерістен кейін үшеуін де іске қосыңыз, өйткені бәрін қабылдай бастаған верификатор жұмыс істеп тұрған кіруге дәл ұқсайды.
Сервер шын мәнінде қандай аутентификация әдістерін қабылдайтынын жазып алыңыз, профиль ұсынатындарын емес. Бұл жазба адамдар үнемі қоятын сұраққа жауап береді, яғни бұл қызметке кім қосыла алады. Ол сондай-ақ келесі әкімшіден ұзақ өмір сүреді, ол әйтпесе оны пакеттерді ұстаудан қайта ашады.