Грешка „нема заједничке шифре“ звучи као једна поставка коју треба променити, а поставка коју већина људи мења је погрешна. OpenVPN држи одвојене политике за контролни канал који обавља TLS руковање и за податковни канал који преноси пакете унутар тунела, а грешка именује први док људи уређују други. Поређење онога што свака страна допушта, у правом реду, претвара нагађање у две или три одлуке: верзија, затим листа скупова, затим акредитиви.

Погрешите ли тај ред, можете потрошити сат додајући AES назив на листу која никада није ни консултована.

Две листе шифри, а само једна квари руковање

Контролни канал преговара TLS сесију, а његова политика се записује помоћу tls-cipher за TLS 1.2 и tls-ciphersuites за TLS 1.3. Податковни канал се поставља одвојено помоћу data-ciphers, где неслагање даје везу која се успостави и затим не може пропустити саобраћај. Обе дају грешке које спомињу шифре, зато се бркају. Руковање које се никада не заврши упућује на контролни канал, док успостављени тунел који губи пакете упућује на податковни канал.

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

Упоредите верзије пре него што упоредите скупове

Страна ограничена на TLS 1.2 и страна која захтева 1.3 не деле ниједну верзију и никакав низ шифре то не премошћује. Запишите tls-version-min и tls-version-max на обе стране, или задате вредности коришћених градњи, јер OpenSSL политика дистрибуције може подићи минимум без да то иједна OpenVPN опција каже. Ако је једна страна уређај или клијент треће стране, њен прозор је оно што њен фирмвер допушта. Поређење скупова има смисла тек када се прозори преклопе.

Ти записи треба да именују и стварне бинарне датотеке. Командни openvpn на вашем преносном рачунару није нужно клијент који обрађује увезени профил.

Листе за TLS 1.2 и TLS 1.3 се не мешају

Називи скупова за TLS 1.2 изгледају као ECDHE-RSA-AES256-GCM-SHA384 и припадају у tls-cipher, који прихвата OpenSSL низ шифре. Скупови за TLS 1.3 називају се као TLS_AES_256_GCM_SHA384 и припадају у tls-ciphersuites; додавање једног у низ за 1.2 не поставља листу за 1.3, а парсер може прихватити текст без да га икада упари. Филтер који је исправан за једну верзију не каже ништа о другој. Запишите за коју је верзију која листа намењена.

openvpn --show-tls исписује шта локална градња подржава, и то је инвентар, а не обећање: удаљена страна можда не допушта те скупове, а активни профил их можда не укључује. Користите га да искључите градњу која уопште не може понудити скуп, затим упоредите конфигурисане листе.

Докажите преговарање на новој вези

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

Ако не постоји одобрена заједничка конфигурација, одговор је надоградња или план миграције, а не ослабљена политика. Снижавање tls-version-min, искључивање провере или укључивање сваког наслеђеног скупа уклања одбијање без испуњавања безбедносног захтева који га је произвео.

Запишите преговарану верзију, скуп и податковну шифру у тикет за промену. Следећа особа која наиђе на TLS грешку почеће од тог записа, а не од низа шифре пронађеног у посту на форуму.

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