Бул ката сырсөз суралганга чейин чыгат, жана бул пайдалуу бөлүгү: азырынча эч нерсе аутентификацияланган жок, ошондуктан маселе каттоо маалыматтарында эмес. Linux'тo ошол эле 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'да бул үчүн бир которгуч жок. Балама — системанын демейки бөлүмүндө төмөнүрөөк MinProtocol жана CipherString = DEFAULT@SECLEVEL=0 орноткон /etc/ssl/openssl.cnf түзөтүүсү. Ошол эле көлөм, башка файл, чыгарылышты жаңыртуу учурунда көздөн кайым болуу бир аз жеңил.

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 шифри жана заманбап кол тамгасы бар сертификат. Бул өзгөртүүнү түзмөктүн ээсинен сураңыз, анан кардардын журналында келишилген версияны жана шифрди ырастаңыз. Өзгөчөлүктү хост, шлюз, келишилген протокол, бекитүүчү жана мөөнөтү менен бирге жазыңыз, анткени убактылуу чечимдин демейки болуп калышына дал ошол жазуу тоскоол болот.

Тектеш макалалар