Бұл қате құпия сөз сұралмай тұрып шығады, және бұл пайдалы бөлік: әлі ешнәрсе аутентификацияланбаған, сондықтан мәселе тіркелгі деректерінде емес. 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-да бұл үшін бір қосқыш жоқ. Балама — жүйенің әдепкі бөлімінде төменірек 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 шифры және заманауи қолтаңбасы бар сертификат. Бұл өзгерісті құрылғы иесінен сұраңыз, содан кейін клиент журналында келісілген нұсқа мен шифрды растаңыз. Ерекшелікті хост, шлюз, келісілген протокол, бекітуші және мерзімімен бірге жазыңыз, өйткені дәл сол жазба уақытша шешімнің әдепкі болып кетуіне жол бермейді.

Қатысты мақалалар