Половина окружења се поново повезује после обнове, а три уређаја одбијају, сваки са упозорењем о идентитету приступника. Сама обнова је рутинска. Оно што та три уређаја држе је приквачивање на стари објекат, а приквачивање није CA листа, провера имена ни запис у складишту поверења. Упоредите три механизма пре него што додирнете било ког клијента.

Једна обнова, два понашања

Клијенти који се поново повезују имају одлуку о поверењу која још пролази, а они који одбијају имају захтев који нови сертификат не задовољава. Та разлика је информација, не шум. Пажљиво прочитајте поруку клијента који не успева. Неслагање имена, непознат издавалац и промењен отисак су три различите пресуде, а само последња указује на приквачивање.

Проверите и који је профил изабрао клијент који не успева. Увезени примерак који живи у сопственом складишту не мења се када администратор уређује изворни фајл негде другде.

Обнова замењује објекат, не само датум

Отисак идентификује кодирани садржај сертификата. Обнова ствара нови сертификат, па се отисак мења и када име субјекта и јавни кључ остану идентични. То је очекивано и безопасно за клијенте који верују CA и проверавају име. То је кобно за клијента конфигурисаног да прихвати тачно један сертификат, а кобно је и за клијента чије складиште поверења никада није добило новог издаваоца.

openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256

Други ред одговара на друго питање: да ли је пар кључева преживео. Обнова која поново користи кључ задржава ту вредност и мења само сертификат, и управо је то случај у којем администратор лако претпостави да се ништа није променило. Прегледајте сертификат који је распоређен, не онај на градитељском хосту. Поређење фајла у репозиторијуму доказује шта је генерисано, не шта слушалац тренутно представља.

Прочитајте шта клијент приквачује

Неки клијенти држе отисак у свом профилу и пореде га при свакој вези. Други га чувају у платформском складишту поверења, а трећи се ослањају само на CA. Поправка се разликује у сваком случају, па прво препознајте механизам.

grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256

Прва наредба показује приквачивање у уобичајеном профилу; друга показује отисак који крајња тачка управо сада сервира. Када се та два разликују, лоцирали сте квар без нагађања. Не лепите нову вредност у сваког клијента који се жали. Клијент који одбија због издаваоца наставиће да одбија, а ви ћете себи доказати да је отисак био проблем када није.

Упоредите сертификат који сервира сваки backend

Испрекидани резултати обично значе више од једне крајње тачке, а обнова примењена на једном чвору оставља остале да представљају стари објекат. Упоредите сваки backend по адреси, а не по заједничком имену.

for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done

Скуп у којем један чвор заостаје објашњава клијента који се повезује из другог покушаја, а пада из првог. Објашњава и надзорну проверу која пролази док се корисници жале. Прво поправите заостатак. Котрљање конфигурације поверења пре него што сваки чвор сервира нови сертификат ствара прозор у којем ништа не ради, а котрљање после оставља клијенте да непредвидиво падају.

Промените поверење управљаним путем

Потврдите замену кроз већ поуздан административни канал пре него што је било где прихватите. Веродостојан датум истека није доказ власништва. Ажурирајте управљану конфигурацију кроз процес који је поседује, са планираним преклапањем прихватљивих идентитета и провером имена коју распоређивање захтева. Приквачивање без провере имена слабији је дизајн од CA поверења које је заменило.

Затим проверите по клијенту: повежите се, потврдите идентитет који је прихватио и забележите верзију сертификата којој сада верује. Упозорење одбачено једном има обичај да се врати код следеће обнове.

Повезани чланци