ESP IPsec VPN'da trafikni tashiydi, uning runbook'i bitta qoida bilan boshlanadi: siyosatni o'zgartirishdan oldin xavfsizlik assotsiatsiyasini o'qing. ESP'ning tushuntirib bo'lmaydigan xatti-harakatlarining ko'pchiligi mos kelmagan selektorga, o'qish o'rniga faraz qilingan rejimga yoki bitta oqim yuborilayotganda hech kim tekshirmagan hisoblagichga borib taqaladi. Quyidagi uch qadam nima nima tashishini aniqlaydi, bitta oqim undan foydalanishini isbotlaydi va xotiraga bog'liq bo'lmagan qaytarishni qoldiradi. Har bir qadam yozib qo'yishga arziydigan bitta kuzatish beradi.

O'qishdan oldin maydonlarni biling

ESP himoyalangan ma'lumotlar oldiga sarlavha va orqasiga dum qo'yadi. Sarlavha qabul qiluvchi qaysi assotsiatsiyadan foydalanishi kerakligini aniqlaydigan xavfsizlik parametrlari indeksini, takrorlanishni aniqlash uchun tartib raqamini olib yuradi, dumda esa yukni shifr uchun tekis tutadigan to'ldirish bo'ladi. Dumdagi keyingi sarlavha maydoni himoyalangan tarkib nima ekanini aytadi, shu bilan qabul qiluvchi nimani dekapsulyatsiya qilganini biladi.

Rejim shu himoya ichida nima turishini o'zgartiradi. Tunnel rejimida himoyalangan material to'liq ichki IP paket bo'lib, yangi tashqi sarlavha uni ikki uch o'rtasida tashiydi. Transport rejimida himoya mavjud paketning yuqori qatlam yukini o'raydi, shuning uchun ochish uchun ikkinchi IP sarlavha yo'q. Qaysi rejim ishlatilayotgani konfiguratsiya fakti, talqin masalasi emas. Uni diagrammadan taxmin qilmasdan holat yozuvidan o'qing.

Ikkala rejim ham paketni yetkazishi kerak bo'lgan tashqi manzillashni yashirmaydi. Bu dizaynning xususiyati, kamchilik emas, shuning uchun o'rta kuzatuvchi yuk noaniq bo'lsa ham qaysi ikki manzil gaplashayotganini hali ham ko'ra oladi.

Birinchi qadam: holatni, so'ngra siyosatni o'qing

Holat yozuvlari kalitlar va hisoblagichlarni saqlaydi; siyosat yozuvlari kim ulardan foydalanishi mumkinligini hal qiladigan selektorlarni saqlaydi. Linux'da ikkalasi ham paket ushlamasdan ko'rinadi va shu tartibda o'qish ikki savolni alohida saqlaydi.

ip xfrm state
ip xfrm policy

Holat chiqishida assotsiatsiyaning manbasi va manzilini, rejimni va inkapsulyatsiya UDP portlarini ko'rsatishini tekshiring. Bu portlar NAT orqali o'tish ishlatilayotganini bildiradi, bu o'rta xavfsizlik devori nimaga ruxsat berishi kerakligini o'zgartiradi, lekin uchlarida qaysi selektorlar yoki kalitlar amal qilishini emas.

So'ngra siyosatdagi selektorlarni o'qing. Siz sinovdan o'tkazayotgan trafikdan torroq prefiksni ko'rsatadigan selektor ishlayotgan tunnel oqimni e'tiborsiz qoldirayotgandek ko'rinishining eng keng tarqalgan sababi, noto'g'ri protokol uchun selektor esa xuddi shu sukunatni beradi.

FieldWhere it appearsWhat it decides
Security parameter indexESP header, and the receiving state entryWhich association and keys the receiver applies
Sequence numberESP headerReplay detection for that association
Next headerESP trailerWhat the decapsulated payload contains
Inner IP headerInside tunnel-mode payload onlyThe original source and destination the endpoints act on
Traffic selectorsPolicy, not the packetWhich local traffic is allowed to use the association

Ishlab chiqaruvchilar asboblari xuddi shu ma'lumotni qulayroq shaklda chop etadi. ipsec statusall strongSwan'da u bola assotsiatsiyalarni, ularning selektorlarini va bayt hisoblagichlarini sanab chiqadi, bu qaysi bolani ko'rishni allaqachon bilsangiz, xom xfrm chiqishini o'qishdan ko'pincha tezroq.

Ikkinchi qadam: bitta oqim hisoblagichlarni qo'zg'atishini isbotlang

Hisoblagichlar ularni nima qo'zg'atishi kerakligini bilsangizgina mazmunga ega, shuning uchun selektor aniq qamrab oladigan manba va manzilni tanlab, bitta zararsiz so'rov yuboring. So'ngra o'sha yozuvni yana o'qib, solishtiring.

ip -s xfrm state
tcpdump -ni any esp

Ikki o'qish turli hikoyalarni aytadi. Chiqish tomonda o'sib, kirish tomonda hech qachon o'smaydigan paketlar kalit muammosiga emas, uzatish yoki qaytish yo'li muammosiga ishora qiladi, chunki paket inkapsulyatsiya qilinib ketdi. Agar hech bir hisoblagich qo'zg'almasa, trafik siyosatga hech qachon mos kelmagan, va qarash kerak bo'lgan joy selektordir.

Xuddi shu qadamdagi tutish simdagi inkapsulyatsiyani tasdiqlaydi, tashqi paketlar ESP yoki UDP'ga inkapsulyatsiya qilingan ESP ekanini ham o'z ichiga oladi. Shuningdek, oqimni haqiqatda tashigan manzillarni ko'rsatadi va ular ba'zan siz o'qiyotgan konfiguratsiyadagilardan farq qiladi.

Uchinchi qadam: bitta narsani o'zgartirib, qaytarishni saqlang

Biror narsani tahrirlashdan oldin assotsiatsiyaning manbasi, manzili, rejimi, selektorlari va hisoblagichlarini yozib oling. Agar o'zgarish vaziyatni yomonlashtirsa, aynan o'sha yozuv taxmindan ishlaydigan konfiguratsiyani qaytadan qurish o'rniga oldingi holatni tiklash imkonini beradi. O'sha yozuv yozishga bir daqiqa oladi va keyin bir soatni tejaydi. Bu o'zgarishni qilgan odamdan keyin qoladigan yagona artefakt ham.

Bitta selektorni yoki bitta parametrni o'zgartiring, uni qayta yuklang va xuddi shu oqimda ikkinchi qadamni takrorlang. Assotsiatsiyani o'chirish undan foydalanadigan har bir oqimni buzadi, shuning uchun maqsadli tahrir va bolani qayta yuklash nima bo'lishini ko'rish uchun holatni tozalashdan deyarli har doim yaxshiroq.

Selektor tahririning qaytarilishi — oldingi siyosatni tiklash va uni qayta yuklash, selektor mahalliy emas, muzokara qilinadigan bo'lsa, sherik ham mos o'zgarishga muhtoj bo'lishi mumkin degan shart bilan. Bu bog'liqlikni u yangi paytda yozib qo'ying, chunki yarim tiklangan juftlikni ikki yakuniy holatdan birortasidan ham o'ylash qiyin.

Nihoyat, doirani halol tuting. Oqayotgan ESP assotsiatsiyasi ikki shlyuz segmentni himoya qilib yetkazayotganini isbotlaydi va yuqoridagi ilova o'z foydalanuvchilarini autentifikatsiya qiladimi yoki saqlayotganini shifrlaydimi degan haqda hech narsa demaydi. Bular alohida dalillarga ega alohida nazoratlar, runbook esa keyingi odam uni yozuvlardan takrorlay olgandagina tugallanadi.

O'xshash maqolalar