IPsec ESP: nima tashiydi va uning oqayotganini qanday isbotlash mumkin
ESP tunnel rejimida ichki IP paketni o'raydi va o'z assotsiatsiyasini SPI orqali aniqlaydi. Holatni o'qing, so'ngra bitta oqim hisoblagichlarni qanday qo'zg'atishini kuzating.
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.
| 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 |
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.