Оваа грешка се појавува пред барањето лозинка, и тоа е корисниот дел: ништо сè уште не е автентицирано, па проблемот не е во акредитивите. На Linux истиот дијалог на AnyConnect може да дојде од стара верзија на протоколот, од 1024-битна група за размена на клучеви или од шифрен сет што криптополитиката на системот го одбива. Го отстранив на три различни начини на три машини, и она што ги разликува тие поправки е опсегот, а не лукавството. Секоја е одбранива на вистинското место и лоша стандардна поставка секаде друго.

Прочитајте ја пораката пред да ја допрете политиката

Зачувајте го точниот текст од дијалогот. Жалбата за верзија укажува на слојот на протоколот, жалбата за сертификат на довербата или именувањето, а неуспешното најавување на акредитивите. Порта што нуди TLS 1.0 со 1024-битна DHE група, AES-256-CBC и потпис SHA-1 може да има сосема валиден сертификат и сепак да биде одбиена од современа политика пред вашите акредитиви воопшто да бидат испратени.

Проверете ја крајната точка со системскиот OpenSSL, со вистинското име на хостот и портата што ја користи клиентот.

Неуспехот на openssl s_client -connect vpn.example.com:443 -servername vpn.example.com додека -tls1 -cipher DEFAULT@SECLEVEL=0 успева покажува дека границата е верзијата и големината на клучот заедно. Ако првата команда пријави мал DH клуч наместо предупредување за протокол, верзијата е во ред и само групата бара внимание. Никогаш не ставајте приватен клуч или лозинка во проверката.

Опција 1: олабавете го целиот хост со криптополитиката

На Fedora и RHEL 8 и 9, update-crypto-policies --set LEGACY ја намалува системската политика на OpenSSL, а update-crypto-policies --show потврдува што е активно. Тоа обично го враќа тунелот, но политиката се чита при започнување на процес, затоа рестартирајте го клиентот и секој помошен процес што го создал пред повторно да тестирате. Таа исто така дозволува постари протоколи и послаби групи за секој TLS клиент на машината, од прелистувачот во соседниот прозорец до менаџерот на пакети што го ажурира јадрото.

Таа широчина е целата цел и целиот проблем. LEGACY важи за целиот хост, е трајна и лесно се заборава, затоа треба да биде дијагностички чекор или документиран исклучок во управувана изградба, никогаш постојана состојба на работна станица. Видов една што остана на LEGACY две години затоа што еден внатрешен портал го бараше, и никој не можеше да каже кога почнало.

Debian и Ubuntu немаат единствен прекинувач за ова. Еквивалентот е измена на /etc/ssl/openssl.cnf што поставува понизок MinProtocol и CipherString = DEFAULT@SECLEVEL=0 во делот за системски стандардни вредности. Ист опсег, друга датотека, малку полесно да се изгуби од вид при надградба на издание.

Опција 2: една конфигурациска датотека за еден клиент

OpenSSL конфигурацијата по процес ја држи промената во едно дрво на процеси, но само ако датотеката е поврзана како што очекува библиотеката. Именувањето на дел ssl_conf не е доволно: OpenSSL го чита клучот на највисоко ниво openssl_conf, го следи до дел за иницијализација и само тогаш стигнува до стандардните поставки на SSL.

openssl_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=0

Насочете го OPENSSL_CONF кон таа датотека и стартувајте го VPN клиентот преку обвивка што ја извезува. Сè друго на хостот ја задржува стандардната политика, и тоа е својството што е важно кога ќе дојде прашањето за усогласеност. Потврдете дека датотеката навистина е на сила пред да ја обвините портата: OPENSSL_CONF=/path/to/file openssl ciphers -s -tls1 треба да наведе TLS 1.0 шифри, а празен резултат значи дека синџирот е прекинат и клиентот тивко ги задржал системските стандардни поставки.

Датотеката е чувствителна на верзија. OpenSSL 1.1.1 и 3.x ги прифаќаат истите имиња на делови, но обработката на директивите околу давателите се промени во 3.x, затоа проверете со дневникот на клиентот и пробно ракување наместо да претпоставите дека датотеката е прочитана. Печатна грешка во името на делот пропаѓа отворено, и клиентот тивко ги користи системските стандардни поставки.

Ограничувањето е покриеноста. Сè што е поврзано со GnuTLS или NSS го игнорира OPENSSL_CONF, како и секој помошен процес што клиентот го стартува без да ја наследи околината. Проверете со ldd со која TLS библиотека бинарната датотека навистина е поврзана пред да ја изградите обвивката, бидејќи одговорот одлучува дали оваа опција воопшто постои.

Опција 3: еднократна VM или контејнер

За изведувач што две недели удира на една стара порта, посветена VM со олабавена политика е почиста граница од работната станица. Старата површина и секојдневниот профил на прелистувачот престануваат да делат политика на јадрото, а отстранувањето е бришење, а не наод од ревизија.

Таа е сè уште машина на мрежата, затоа ограничете го пристапот и држете ја подалеку од општо прелистување. Трошокот за одржување е уште една слика за крпење, што е реално но ограничено и видливо, за разлика од заборавено знаме LEGACY на преносен компјутер.

Што ви остава споредбата

Изберете врз три прашања: кому му треба стариот протокол, колку долго и кој ќе забележи ако исклучокот го надживее својот причина. Една апликација, еден човек, неколку дена укажуваат на конфигурацијата по процес. Цела флота зад еден уред укажува на самата порта. Сè што бара трајна LEGACY политика на хостот е одлука за набавка во технички костим.

Трајната поправка и припаѓа на апаратот: TLS 1.2 или понов, група од најмалку 2048 бита, AEAD шифра и сертификат со современ потпис. Побарајте таа промена од сопственикот на апаратот, потоа потврдете ја договорената верзија и шифра во дневникот на клиентот. Запишете го исклучокот со хостот, портата, договорениот протокол, одобрувачот и датум на истекување, бидејќи токму таа белешка спречува привремено решение да стане стандард.

Поврзани статии