Появява се едно старо устройство, не успява да се свърже, и най-бързата на вид поправка е да се отслаби целият хост, докато връзката успее. Тази размяна е невидима в момента и постоянна на практика, защото никой не премахва минимум, който най-накрая работи. Две много различни повреди създават натиска и само една от тях изобщо е за шифри. Първо подредете повредата, после поставете изключението там, където не може да се разпространи.

Разделете повредата на две, преди да редактирате директива

Ред в сървърния журнал за липсваща обща шифра или за неподдържана версия на протокола идва от контролния канал: двете страни не са успели да се споразумеят как да защитят самото договаряне. Редът на клиента, че не е включен метод за проверка на сървърния сертификат, идва от съвсем друго място, защото този клиент изобщо не проверява кой е отговорил. Смяната на шифра за данни не прави нищо за втория случай, а добавянето на проверка на ролята не прави нищо за първия.

Вземете най-ранния ред на отказ от всяка страна, а не последния ред преди прекъсването, защото последният обикновено е следствие. След това установете кой файл клиентът действително е отворил: импортираният профил често съществува два пъти под различни показвани имена и редактирането на копието, което никой не чете, дава убедителна липса на промяна. Работещият процес пази настройките, с които е стартирал, така че записан файл не е зареден файл. Командите по-долу показват договарянето на клиента до виждането на сървъра за същия опит.

openvpn --config <profile>.ovpn --verb 4 2>&1 | head -n 40
journalctl -u [email protected] --since '-10 min' | grep -iE 'cipher|tls|verify'

Вторият слушател е честното място за по-слаб минимум

Когато устройството стига до TLS 1.0 с канал за данни преди 2.5, сървърът трябва да предложи по-нисък минимум за контролния канал и шифър за данни, който старият клиент разпознава. Резервната директива съществува точно за такъв партньор, а списъкът с шифри задържа съвременните клиенти на съвременни набори. И двете директиви принадлежат на слушателя, а не на потребител или връзка, и никаква опция за отделен клиент не ги стеснява след това. Затова едно старо устройство на основния порт е решение за всеки партньор, който го споделя.

Където платформата позволява, пуснете стария слушател като собствен екземпляр на отделен порт, разрешете този порт само от адреса на устройството и оставете основната услуга на мира. Запишете защо съществува вторият слушател във файла, който носи конфигурацията му, защото бъдещо почистване иначе ще го прочете като остатък. Разделянето си струва само ако по-слабият минимум свършва там, където свършва устройството.

tls-version-min 1.0
data-ciphers AES-128-GCM:AES-256-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC

Какво всъщност чупи старият сертификат на доставчик

Грешката при проверка е липсващо обвързване с роля: без него клиентът ще приеме всеки сертификат, който се свързва с доверен CA, независимо дали е издаден за сървър. Първо обвържете сертификата с ролята на сървъра и третирайте обвързването като изискване, а не като копче за настройка. Само профил, който все още се проваля след тази стъпка, има истински проблем със сертификата.

Стар сертификат на доставчик, чийто размер на ключа или алгоритъм за подпис вече не удовлетворява стандартната политика на OpenSSL, е случаят за ограничена промяна на нивото на сигурност на контролния канал. Понижаването на нивото там не изключва проверката и никога не бива да се съчетава с празен CA, изключена настройка за проверка или непроверено име на хост. Дръжте реда в единствения профил, който се нуждае от него; глобалното експортиране на разхлабена конфигурация на OpenSSL би дало същото разхлабване на всяка програма на машината.

remote-cert-tls server
tls-cipher "DEFAULT:@SECLEVEL=0"

Четете договорените стойности, не банера

При ниво на подробност 4 двете страни отпечатват версията на TLS и шифъра на контролния канал, за които са се споразумели, и шифъра за данни на сесията. Четете тези редове, а не банера за инициализация, който съобщава успех, а не условията му. След това свържете отново съвременен клиент към основния слушател и потвърдете, че все още попада на съвременен набор, защото изключение, изтекло в споделената конфигурация, се показва първо тук. Стойностите, които копирате, стават изходна база за следващия преглед.

Тествайте старото устройство самостоятелно: то трябва да се свърже и да бъде единствената сесия в журналите, която показва по-слабите параметри. Ако втори партньор също договори стария набор, изключението е по-широко от предвиденото и разделянето на слушателя не се е случило наистина. Запишете и двете наблюдения, а не само извода.

Всяко изключение се нуждае от собственик и дата

Изключение без условие за премахване тихо става стандарт, затова поставете устройството, собственика, причината и датата, на която изчезва, до конфигурацията, която оправдава. Без този ред по-слабият минимум надживява хардуера, който се е нуждаел от него.

Смяната на клиента или искането към доставчика за актуален профил е резултатът, към който да се стремите; изключението е забавяне, а не решение. Когато устройството се изтегли, премахнете слушателя и профила в една и съща промяна, за да не остане нито една половина да работи. Нищо от това не прави старите параметри безопасни, то само пречи границата на едно устройство да стане база за всички.

Подобни статии