Спачатку прачытайце тып супастаўлення, потым тэкст: verify-x509-name дырэктыва можа выглядаць правільнай і ўсё ж прыняць сертыфікат, якому вы не хацелі давяраць. Два радкі з аднолькавым чаканым тэкстам, але рознымі тыпамі — гэта розныя патрабаванні. Спачатку прачытайце тып, потым тэкст. Разглядайце дырэктыву як яшчэ адну ўмову злучэння, а не як усю праверку.

Што опцыя фактычна сцвярджае

Дырэктыва называе ідэнтычнасць, якую мусіць мець сертыфікат партнёра. Калі параўнанне не ўдаецца, OpenVPN спыняе рукапацісканне, і тунель не ўзнікае. Усё астатняе ў профілі працягвае дзейнічаць: сертыфікат павінен выводзіцца да даверанага CA, і праверка ролі павінна прайсці, таму гэта дадатковая ўмова, а не замена. Профіль, які задавальняе чаканне імя і не праходзіць праверку ролі, усё яшчэ зламаны, і журнал звычайна гэта паказвае.

Ён таксама адрозніваецца ад праверкі імя хоста, якую робіць браўзер. Браўзер супастаўляе імёны з альтэрнатыўнымі імёнамі суб'екта паводле правілаў свайго стэка TLS, а OpenVPN параўноўвае адно поле сертыфіката з выбраным вамі тыпам. Таму ўстаўка імя хоста ў стылі браўзера ў дырэктыву можа даць несупадзенне, нават калі сертыфікат сапраўды пакрывае паслугу.

subject: поўнае адрозненае імя, сімвал за сімвалам

Калі тып не напісаны, выкарыстоўваецца subject, і чаканае значэнне мусіць узнавіць усё поле subject DN сертыфіката. Парадак палёў, раздзяляльнікі, прабелы і экранаванне ўсё мае значэнне, бо параўнанне ідзе па закадаваным радку. Калі пакінуць тып па-за ўвагай, вы абралі самае строгае з трох параўнанняў. Няма кроку нармалізацыі, які выратаваў бы касметычную розніцу. Гэта варта ведаць перад першым абнаўленнем, а не пасля.

Гэтая строгасць крохкая паміж абнаўленнямі. CA, які пераўпарадкоўвае атрыбуты, дадае лішняе поле або змяняе спосаб экранавання значэння, стварае новы радок для той жа машыны, і дырэктыва, што працавала гадамі, пачынае падаць на наступнай выдачы. Захаванне прынятага DN у запісе змен ператварае наступнае абнаўленне ў дыф. Калі аператар публікуе поўны DN і гарантуе яго форму, subject — разумны выбар; у іншых выпадках вузейшае поле лягчэй утрымаць дакладным.

name: адно поле, звычайна агульнае імя

Тып name параўноўвае адно поле суб'екта. Калі профіль не кажа іншае, гэта поле — агульнае імя, і чаканае значэнне — менавіта гэта поле, а не DN вакол яго.

Прычэпка ў тым, што сучасныя сертыфікаты не заўсёды змяшчаюць імя паслугі ў CN. Многія нясуць яго ў альтэрнатыўным імені суб'екта і пакідаюць CN пустым або агульным, таму сертыфікат, які браўзер прымае, можа ўсё ж не прайсці гэтае параўнанне. Праверце сертыфікат, які вам фактычна выдалі, перш чым пісаць чаканне, і пацвердзіце, якое поле выбірае профіль. Пусты CN, параўнаны з імем, — гэта несупадзенне, а не выпадак канфігурацыі.

name-prefix: шырокі па задуме, таму абмяжуйце ахоп

Чаканне тыпу name-prefix супадае з пачаткам выбранага поля. Гэта зручна для схемы наймення і небяспечна для ўсяго агульнага.

Калі ўзяць vpn.example у якасці чакання, абодва vpn.example.com і vpn.example.net прайшлі б, калі б астатняя частка ланцуга была даверанай. Шырыня — гэта ўласцівасць, і менавіта яе трэба абгрунтаваць пісьмова. Прэфікс разумны, калі CA і схема наймення вашыя, і куды слабейшы, калі публічны CA выдае ў тым жа шаблоне. Калі схеме патрэбна гнуткасць, абмяжуйце яе на CA, а не пашырайце кліенцкую праверку.

Выберыце тып з ідэнтыфікатара, потым дакажыце

Ідзіце ад ідэнтычнасці, якую мае на ўвазе аператар. Калі ён публікуе поўны DN і трымае яго стабільным, subject выражае менавіта гэта. Калі паслуга называецца агульным імем, выкарыстоўвайце name. Калі ён валодае схемай наймення і прымае ўсю яе прастору, name-prefix гаворыць пра гэта проста.

Абнаўленні — гэта месца, дзе дырэктыва праходзіць праверку. Параўноўвайце зацверджаную ідэнтычнасць з новым сертыфікатам, а не са старым файлам, бо новы адрас канчатковай кропкі не азначае новую ідэнтычнасць сертыфіката. Не выдаляйце дырэктыву толькі таму, што знаёмы адрас адказвае: дасягальнасць і меркаваны партнёр — розныя факты, а адрас даказвае толькі тое, што нешта адказала. Запішыце дакладную памылку і публічныя звесткі пра імя ў ачышчанай справаздачы, бо несупадзенне імя можна паказаць без якога-небудзь матэрыялу прыватнага ключа.

Пасля падтрыманага выпраўлення перападлучыцеся з уключанымі ўсімі патрэбнымі праверкамі і праверце рэсурс, які вам сапраўды патрэбны. Поспех азначае, што патрэбны сервер прыняты, а не што нейкі сертыфікат працягнулі. Афіцыйны дакумент OpenVPN 2.6 manual апісвае тры тыпы і іх заўвагі пра давер, і гэта той даведнік, на які спасылаюцца, калі інтэрфейс пастаўшчыка разыходзіцца з профілем.

Падобныя артыкулы