IPsec ESP: ол нені тасымалдайды және оның ағып жатқанын қалай дәлелдеу керек
ESP туннель режимінде ішкі IP пакетін қаптайды және өз ассоциациясын SPI арқылы анықтайды. Күйін оқыңыз, содан кейін бір ағынның есептегіштерді қозғағанын бақылаңыз.
ESP IPsec VPN-де трафикті тасымалдайды, ал оның runbook-ы бір ережеден басталады: саясатты өзгертуден бұрын қауіпсіздік ассоциациясын оқыңыз. ESP-нің түсініксіз мінез-құлқының көбі сәйкес келмеген селекторға, оқылудың орнына болжалған режимге немесе бір ағын жіберіліп жатқанда ешкім тексермеген есептегішке саяды. Төмендегі үш қадам ненің нені тасымалдайтынын анықтайды, бір ағынның оны қолданатынын дәлелдейді және жадыға тәуелді емес қайтаруды қалдырады. Әр қадам жазуды қажет ететін бір бақылау береді.
Өрістерді оқымас бұрын біліңіз
ESP қорғалған деректердің алдына тақырып, артына құйрық қояды. Тақырып қабылдаушы қай ассоциацияны қолдануы керегін анықтайтын қауіпсіздік параметрлерінің индексін, қайталануды анықтау үшін реттік нөмірді, ал құйрықта шифр үшін пайдалы жүктемені туралап ұстайтын толтыруды тасымалдайды. Құйрықтағы келесі тақырып өрісі қорғалған мазмұнның не екенін айтады, осылайша қабылдаушы не декапсуляциялағанын біледі.
Режим сол қорғаныстың ішінде не тұрғанын өзгертеді. Туннель режимінде қорғалған материал толық ішкі IP пакеті, ал жаңа сыртқы тақырып оны екі шеткі нүкте арасында тасымалдайды. Транспорт режимінде қорғаныс бар пакеттің жоғарғы қабатының жүктемесін орап, ашу үшін екінші IP тақырыбы болмайды. Қай режим қолданылып жатқаны конфигурация фактісі, түсіндіру мәселесі емес. Оны диаграммадан болжамай, күй жазбасынан оқыңыз.
Екі режимнің ешқайсысы пакетті жеткізуі тиіс сыртқы адрестеуді жасырмайды. Бұл дизайнның қасиеті, кемшілік емес, сондықтан аралық бақылаушы жүктеме күңгірт болса да қай екі адрестің сөйлесіп жатқанын әлі көре алады.
Бірінші қадам: күйді, содан кейін саясатты оқыңыз
Күй жазбалары кілттер мен есептегіштерді ұстайды; саясат жазбалары оларды кімнің қолдануға құқылы екенін шешетін селекторларды ұстайды. Linux-те екеуі де пакеттерді ұстамай-ақ көрінеді, және осы ретпен оқу екі сұрақты бөлек ұстайды.
ip xfrm state
ip xfrm policy
Күй шығысында ассоциацияның көзі мен межесін, режимін және капсуляцияның UDP порттарын көрсететінін тексеріңіз. Бұл порттар NAT арқылы өту қолданылып жатқанын білдіреді, бұл аралық файрвол нені рұқсат етуі керегін өзгертеді, бірақ шеткі нүктелерде қандай селекторлар немесе кілттер қолданылатынын емес.
Содан кейін саясаттағы селекторларды оқыңыз. Сынақтан өткізіп жатқан трафиктен тар префиксті атайтын селектор жұмыс істеп тұрған туннельдің ағынды елемейтін сияқты көрінуінің ең көп тараған себебі, ал дұрыс емес протоколға арналған селектор дәл сол үнсіздікті береді.
| Field | Where it appears | What it decides |
|---|---|---|
| Security parameter index | ESP header, and the receiving state entry | Which association and keys the receiver applies |
| Sequence number | ESP header | Replay detection for that association |
| Next header | ESP trailer | What the decapsulated payload contains |
| Inner IP header | Inside tunnel-mode payload only | The original source and destination the endpoints act on |
| Traffic selectors | Policy, not the packet | Which local traffic is allowed to use the association |
Өндірушілердің құралдары сол ақпаратты ыңғайлырақ пішінде басып шығарады. ipsec statusall strongSwan-да ол еншілес ассоциацияларды, олардың селекторларын және байт есептегіштерін тізіп шығарады, бұл қай еншілесті қарау керегін білсеңіз, шикі xfrm шығысын оқудан жиі жылдамырақ.
Екінші қадам: бір ағынның есептегіштерді қозғайтынын дәлелдеңіз
Есептегіштер оларды ненің қозғауы керегін білгенде ғана мағыналы, сондықтан селектор сөзсіз қамтитын көз бен межені таңдап, бір зиянсыз сұраныс жіберіңіз. Содан кейін сол жазбаны қайта оқып, салыстырыңыз.
ip -s xfrm state
tcpdump -ni any esp
Екі оқу әртүрлі әңгіме айтады. Шығатын жақта өсіп, кіретін жақта ешқашан өспейтін пакеттер кілт мәселесіне емес, қайта бағыттау немесе қайту жолы мәселесіне нұсқайды, өйткені пакет капсуляцияланып кетті. Ешбір есептегіш қозғалмаса, трафик саясатқа ешқашан сәйкес келмеген, ал селектор — қарау керек орын.
Сол қадамдағы ұстау сымдағы капсуляцияны растайды, оның ішінде сыртқы пакеттердің ESP немесе UDP-ге капсуляцияланған ESP екенін де. Ол сондай-ақ ағынды шын мәнінде тасымалдаған адрестерді көрсетеді, ал олар кейде сіз оқып отырған конфигурациядағылардан өзгеше болады.
Үшінші қадам: бір нәрсені өзгертіп, қайтаруды сақтаңыз
Бірдеңені өңдеуден бұрын ассоциацияның көзін, межесін, режимін, селекторларын және есептегіштерін жазып алыңыз. Егер өзгеріс жағдайды нашарлатса, дәл сол жазба болжамнан жұмыс істейтін конфигурацияны қайта құрудың орнына алдыңғы күйді қалпына келтіруге мүмкіндік береді. Бұл жазба жазуға бір минут алып, кейін бір сағатты үнемдейді. Ол сондай-ақ өзгерісті жасаған адамнан кейін қалатын жалғыз артефакт.
Бір селекторды немесе бір параметрді өзгертіп, оны қайта жүктеп, екінші қадамды сол ағынға қайталаңыз. Ассоциацияны жою оны қолданатын әр ағынды құлатады, сондықтан мақсатты өңдеу мен еншілесті қайта жүктеу не болатынын көру үшін күйді тазартудан әрдайым дерлік жақсы.
Селекторды өңдеудің қайтарылуы — алдыңғы саясатты қалпына келтіріп, оны қайта жүктеу, егер селектор жергілікті емес, келісілетін болса, серіктеске сәйкес өзгеріс қажет болуы мүмкін деген ескертумен. Осы тәуелділікті ол жаңа кезінде жазып қойыңыз, өйткені жартылай қалпына келтірілген жұп екі соңғы күйдің қайсысынан да ойлауға қиын.
Соңында, ауқымды адал ұстаңыз. Ағып жатқан ESP ассоциациясы екі шлюз сегментті қорғап, жеткізіп жатқанын дәлелдейді және оның үстіндегі қолданба өз пайдаланушыларын аутентификациялай ма, әлде сақтайтынын шифрлай ма дегенге ештеңе айтпайды. Бұлар жеке дәлелдері бар жеке бақылаулар, ал runbook келесі адам оны жазбалардан қайталай алғанда ғана аяқталады.