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 დასრულებულია მხოლოდ მაშინ, როცა შემდეგ ადამიანს შეუძლია მისი გამეორება ჩანაწერებიდან.