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 нь дараагийн хүн тэмдэглэлээс давтаж чадсан үед л дууссан болно.