OpenVPN verify-x509-name: subject, name и name-prefix
Тип поређења одлучује које се име сертификата пореди. subject, name и name-prefix нису једнака очекивања, а подразумевано је subject.
Прво прочитајте тип поређења, па текст: verify-x509-name директива може изгледати исправно и ипак прихватити сертификат коме нисте намеравали да верујете. Два реда са истим очекиваним текстом, али различитим типовима су два различита захтева. Прво читајте тип, па текст. Третирајте директиву као још један услов за везу, а не као целу проверу.
Шта опција заиста тврди
Директива именује идентитет који сертификат друге стране мора да носи. Када поређење не успе, OpenVPN прекида руковање и тунел се не подиже. Све остало у профилу и даље важи: сертификат мора да се ланчано повеже на поуздан CA и провера улоге мора да прође, па је ово додатни услов, а не замена. Профил који испуњава очекивање имена, а падне на провери улоге, и даље је покварен, и дневник то обично каже.
Разликује се и од провере имена домаћина коју ради прегледач. Прегледач пореди имена са алтернативним именима subject-а по правилима свог TLS стека, док OpenVPN пореди једно поље сертификата са типом који сте изабрали. Зато лепљење имена домаћина у стилу прегледача у директиву може дати неслагање чак и када сертификат заиста покрива услугу.
subject: цело разликовно име, знак по знак
Када тип није написан, подразумевано је subject, а очекивана вредност мора да репродукује цео subject DN сертификата. Редослед поља, разделници, размаци и escaping сви се рачунају, јер поређење иде по низу како је кодиран. Ако изоставите тип, изабрали сте најстроже од три поређења. Нема корака нормализације који би спасао козметичку разлику. То вреди знати пре прве обнове, а не после.
Та строгост је крхка кроз обнове. CA који преуреди атрибуте, убаци додатно поље или промени начин escaping-а вредности ствара нови низ за исти рачунар, и директива која је радила годинама почиње да пада на следећем издавању. Чување прихваћеног DN-а у запису промена претвара следећу обнову у разлику. Где оператер објављује пун DN и гарантује његов облик, subject је разуман избор; другде је уже поље лакше одржати истинитим.
name: једно поље, обично уобичајено име
Тип name пореди једно поље subject-а. Ако профил не каже другачије, то поље је уобичајено име, а очекивана вредност је тачно то поље, а не DN око њега.
Квака је у томе што савремени сертификати не стављају увек име услуге у CN. Многи га носе у алтернативном имену subject-а и остављају 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 документује три типа и њихове напомене о поверењу, и то је референца која се цитира када се сучеље добављача не слаже са профилом.