Неге тек шифрлау ғана қайта жіберілген пакетті тоқтатпайды
Ескі пакет жарамды аутентификация тегін сақтайды, сондықтан тұтастық ешқашан жаңалықты дәлелдемейді. Реттілік күйі мен қабылдаушы терезесі осы жұмысты атқарады.
Қорғалған пакеттер криптографиялық түрде мерзімі бітпейді, сондықтан бес минут бұрын жарамды болған пакет қазір де жарамды, өйткені шифрлау мен тұтастық қорғанысы байттардың қашан жасалғаны туралы ештеңе айтпайды. Трафикті ұстап алып, қайта жібере алатын шабуылдаушыға шифрды бұзудың қажеті жоқ. Сондықтан әрбір маңызды туннель протоколы кілттерімен қатар реттілік күйін алып жүреді.
Механизм шағын, ал оның істен шығу тәсілдерін пакет жоғалтуымен шатастыру оңай.
Жарамды шифрмәтін жаңа шифрмәтін емес
Аутентификация бір сұраққа жауап береді: бұл байттар кілт иесінен өзгеріссіз келді ме. Ол қабылдаушы оларды бірінші рет көріп отыр ма, жоқ па дегенге жауап бермейді. Қайта жіберілген пакет бірінші сынақтан мінсіз өтеді, сондықтан тек тұтастық тексерісі қайта жіберуді тоқтата алмайды және протоколға қабылдау туралы екінші ереже қажет. Тек аутентификация жасайтын қабылдаушының жазбасы бар шабуылдаушыға қарсы қорғанысы жоқ.
Бұл ережені енгізу де, тұжырымдау да арзан: берілген қорғалған пакетті берілген кілт астында бір рет қабылда. Бұл саладағы қалғанның бәрі іске асырудың сол бір ретті қалай бақылайтынынан шығады.
Қайта жіберудің қабылданбауын шешудің қатесі деп оқу сізді мүлдем дұрыс емес ішкі жүйеге жібереді.
Реттілік нөмірі және терезе
IPsec ESP реттілік нөмірін алып жүреді және қабылдаушы жақында қабылданған мәндердің жылжымалы терезесін ұстайды, ал ESP сипаттамасы әдепкі терезе өлшемін және оны кеңейту мүмкіндігін сипаттайды. WireGuard басқа жолмен жүреді: әр кілтке санауыш және оған қарсы айқын тексеру. Екі дизайн да пакеттердің ретімен келуін болжамайды, өйткені нақты желілер оларды қайта реттейді. Екеуі де қайта реттеуге төзеді, ешқайсысы қайталауға төзбейді.
Дәл терезе сол төзімділікті мүмкін етеді. Көрілген ең жоғары мәннен сәл артта қалған пакет бұрын қабылданбаған болса, әлі де қабылдануы мүмкін; әлдеқайда артта қалған немесе орны әлдеқашан белгіленген пакет тасталады. Терезені үлкейтсеңіз, әр бірлестікке көбірек күй есебінен көбірек қайта реттеуге төзесіз.
Диагностикалық санауыштар қай жағдайда екеніңізді көрсетеді. Қайта жіберудің қабылданбауы жалпы қате емес, нақты санауышты арттырады, және сол санауышты оқу — бірінші пайдалы байқау.
nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer
Күй кілтке тиесілі, хостқа емес
Санауыш күйі қауіпсіздік бірлестігіне немесе кілт дәуіріне байланған, сондықтан кілтті ауыстыру жаңа контекст пен өз реттілік кеңістігін жасайды. Кілтті ауыстырмай санауышты тазалау немесе қолмен қайта қосудан кейін бірлестікті қайта пайдалану қабылдаушы терезесі сүйенетін болжамды бұзады. Сондықтан операторға көрінетін қайта қосу батырмасының орнына протокол басқаратын кілт ауыстыру бар.
Қолмен араласудан кейін туннель дұрыс жұмыс істемесе, араласу реттілік күйіне тиді ме деп сұраңыз. Бірдей көрінетін конфигурация басқаша әрекет етуі мүмкін, өйткені ол мұраға алған күй оның күткен күйі емес.
Бірдеңені өшіруден бұрын себебін диагностикалаңыз
Жоғалту, қайта реттеу, қайталанған трафик және іске асыру ақауы — бәрі қайта жіберу ретінде көрінеді, және олардың тек біреуі ғана қайта жіберу мәселесі. Шуды басу үшін тексеруді өшіру сіз сүйенген қасиетті алып тастайды және бастапқы себепті табуды қиындатады, өйткені енді қайта жіберулердің ешқандай түсіндірмесі жоқ.
Шектеулі дәлел жинаңыз: бірлестік идентификаторлары, реттілік нөмірлері және санауыштар, пайдалы жүктемесіз. Бұл көшірмені қайта реттелген келуден ажыратуға жетеді және диагностикалық файлыңызды пайдаланушы трафигінің көшірмесіне айналдырмайды.
Тексеру нені уәде етпейді
Қайта жіберуден қорғаныс — бір протокол ішіндегі пакет өңдеуінің қасиеті. Бұл оператор ешқандай журнал ұстамайды, сайт аккаунтты тани алмайды немесе сессия анонимді дегенді білдірмейді. Бұл бөлек жүйелер туралы бөлек сұрақтар, және күшті қайта жіберуге қарсы дизайн олардың ешқайсысына жауап бермейді.
Қолдау көрсетілетін параметрлермен күтілетін бағдарламалық жасақтама — пайдаланушыға қолжетімді практикалық бақылау. Пакетті протокол өңдейді; қалғанының бәрі операциялық шешім болып қалады.