Қатемен аяқталатын қол алысу шабуылдай сезіледі, әзірге хабарламаға қарамайсыз, және көбінесе бұл арифметика: ортақ ұсыныс жоқ, сертификаттың мерзімі өткен немесе пакет ешқашан келмеген. Төмендету шабуылы нақты нәрсе: қарсылас екі жақты өздері таңдайтыннан әлсіз мінез-құлыққа итермелейді және басқа дәлелдер қалдырады. Әрбір сәтсіздікті қасақаналық деп санау сізді болмауы мүмкін құрбанды іздеуге жібереді, ал нақты төмендетуді конфигурация қатесі деп санау әлсіз нәтижені орнында қалдырады. Бұл екі қатенің құны басқа, және тек біреуін ғана арзан түзетуге болады.

Төмендету шабуылы шын мәнінде нені өзгертеді

Мақсат шифрды бұзу және кілтті болжау емес. Мақсат келіссөзге әсер етіп, екі жақ шабуылдаушы шебере алатын ескірек нұсқаға немесе әлсіз алгоритмге тоқтауы, немесе бір жақ екіншісі тек соны қолдайды деп сенуі.

Өзгеретін нәрсе — келісім, аутентификация емес. Егер шабуылдаушы ұсынысты байқатпай өзгерте алса, тараптар қол алысуды аяқтап, бір-бірін аутентификациялай алады, бірақ шабуылдаушыға ұнайтын параметрлермен. Сондықтан қызықты сұрақ — келіссөздің өзі тұтастық қорғанысымен қамтылған ба.

Неге келіссөздің өзі аутентификациялануы керек

TLS 1.3 бұл қорғанысты айқын етеді. Жаңа нұсқаны ұсынған клиент үнсіз кейін шегінген серверді анықтай алады, өйткені сервердің кездейсоқ мәні 1.2 немесе төмен келіскенде тұрақты үлгі алып жүреді, ал клиент оны көргенде тоқтауға міндетті. Толық транскрипт те қорытынды хабарламалармен қамтылған, сондықтан келіссөздің кез келген жеріндегі өзгеріс кейінірек сәтсіз болады, үнсіз өтпейді.

Ескі протокол нұсқаларының әңгімелері әлсіз болды, және дәл сондықтан кері шегіну ережелері маңызды. Бір конфигурациядағы TLS 1.0 соңғы нүктесі төмендету шабуылы емес; бұл сіз рұқсат беруді таңдаған рұқсат етілген нәтиже. Айырмашылық — әлсіз нәтиже қорғалған шешімнен бе, әлде делдал әсер ете алатын қорғалмаған жолдан ба келді. Осылайша тұжырымдасаңыз, оқиғалардың көбі конфигурация сұрағына айналады.

IKEv2 басқаша әрекет етеді, бірақ сол идеяға сүйенеді. Ұсыныс кейін екі жақты аутентификациялайтын алмасуда тасымалданады, сондықтан алгоритмдерді қайта жазатын аралық құрылғы аутентификацияны бағыттамай, бұзады. OpenVPN бақылау арнасы келіссөзін TLS-пен қорғайды, содан кейін сол арнамен деректер арнасының шифрларын келіседі, сондықтан бақылау арнасының журнал жолы қызықты.

Конфигурацияланған үйлесімділік шабуыл емес

Әкімші құжатталған клиентті қолдау үшін ескі таңдауларға әдейі рұқсат бере алады, және бұл шешім конфигурацияда көрінеді. Шабуылдаушы ондай конфигурация жасай алмайды; ол ұсынысқа әсер етуге мүмкіндік беретін жолды ғана пайдалана алады.

Қауіпті жөндеу — айырмашылықтың дәлелін жоятын жөндеу. Барлық мұрагерлік опцияны қосу, сертификатты тексеруді өшіру немесе қатені жою үшін кез келген шифрды қабылдау соңғы нүкте келісетін ауқымды кеңейтеді және әлсіз нәтижені хабарлайтын тексерулерді жояды.

Бір ескі опцияны сақтау керек болса, себебі мен клиентті конфигурация түсініктемесінде жазыңыз, содан кейін опцияны оған мұқтаж профильмен шектеңіз. Бір тыңдаушыға шектелген үйлесімділік ерекшелігі тексеріле алады; жаһандық қолданылғаны — ешкім оны таңдағанын есіне түсірмейтін әлсіз әдепкі мән ғана.

Себеп атамас бұрын сәтсіздікті оқыңыз

Кез келген өзгеріске дейін нақты қате жолын, клиент пен сервер нұсқаларын және уақытты сақтаңыз. Содан кейін жіктеңіз: тараптар ұсыныс туралы келіспеген бе, пакет жолы сәтсіз болды ма, әлде бір жақ бұрын қабылдаған параметрді қабылдамады ма?

Ұсыныс сәйкессіздігі әдетте кінәлі нұсқаларды немесе алгоритмдерді атайды және әр жолы сол нүктеде сәтсіз болады. Маршруттау немесе MTU мәселесі тоқтайды немесе уақыт шегіне жетеді, және жиі желіге байланысты өзгереді. Мерзімі өткен сертификат келіссөз емес, тексеру қатесін береді.

Бұлардың ешқайсысы шабуылдаушының дәлелі емес. Бірінші сәтсіздікте қасақана себеп тағу — қате, өйткені ертең қайта сәтсіз болатын детерминдік қатені жасырады.

Шын мәнінде не таңдалғанын растаңыз

Кез келген түзетуден кейін байланыс көтерілді деп сенудің орнына келісілген нәтижені оқыңыз. Тексеру жойылғандықтан сәтті болған байланыс — сіз аулақ болғыңыз келген нәтиже. Төмендегі екі команда TLS алдындағы соңғы нүктенің таңдалған нұсқасы мен шифрын, сондай-ақ OpenVPN сервер журналынан бақылау арнасының жолын көрсетеді.

openssl s_client -connect 198.51.100.30:443 -servername vpn.example.net -brief </dev/null
grep -iE 'Control Channel|Data Channel' /var/log/openvpn.log | tail -5

Нәтижені қазір қосылып жатқанмен емес, көздеген конфигурацияңызбен салыстырыңыз. Егер таңдалған нұсқа рұқсат етілген минимумнан ескі болса, профиль немесе кері шегіну тізімі қаралатын жер, ал жауап — сол тізімді түзету, шабуыл жариялап, айналасындағының бәрін қайта салу емес.

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