IPsec ESP: wat it draacht en hoe't bewiisd wurdt dat it floeit
ESP ferpakt in ynterne IP-pakket yn tunnermodus en identifisearret syn assosjaasje fia de SPI. Lês de tastân en sjoch dan hoe't ien stream de tellers beweecht.
ESP draacht it ferkear yn in IPsec-VPN, en syn runbook begjint mei ien regel: lês de befeiligingsassosjaasje ear'tst in belied feroarje. It measte ûnferklearre ESP-gedrach giet werom op in selektor dy't net oerienkaam, in modus dy't oannommen waard ynstee fan lêzen, of in teller dy't gjinien kontrolearre wylst ien stream ferstjoerd waard. De trije stappen hjirûnder stelle fêst wat wat draacht, bewize dat ien stream it brûkt, en litte in weromdraai efter dy't net fan ûnthâld ôfhinklik is. Eltse stap jout ien waarnimming dy't it opskriuwen wurdich is.
Kinst de fjilden ear'tst se lêst
ESP set in kop foar de beskerme gegevens en in trailer efter. De kop draacht in befeiligingsparameter-yndeks dy't identifisearret hokker assosjaasje de ûntfanger brûke moat, in folchnûmer foar werhellingdeteksje, en yn 'e trailer opfolning dy't de lading foar de sfers rjochte hâldt. It fjild foar folgjende kop yn 'e trailer seit wat de beskerme ynhâld is, en sa wit de ûntfanger wat er dekapsulearre hat.
De modus feroaret wat binnen dy beskerming sit. Yn tunnermodus is it beskerme materiaal in folslein ynterne IP-pakket, en in nije bûtenkop draacht it tusken de einpunten. Yn transportmodus omklammet de beskerming de lading fan 'e boppeste laach fan in besteand pakket, dus der is gjin twadde IP-kop om iepen te meitsjen. Hokker modus brûkt wurdt is in feit fan 'e konfiguraasje, net in kwestje fan ynterpretaasje. Lês it út 'e tastânynfier ynstee fan it út in diagram ôf te lieden.
Gjin fan beide modi ferberget de bûtenadressearring dy't it pakket leverje moat. Dat is in eigenskip fan it ûntwerp en net in tekoart, en dêrom kin in tuskenlizzende waarnimmer noch sjen hokker twa adressen prate, sels as de lading ûntrochsichtich is.
Stap ien: lês de tastân, dan it belied
De tastânynfierden hâlde de kaaien en tellers; de beliedynfierden hâlde de selektors dy't beslute wat se brûke mei. Op Linux binne beide sichtber sûnder pakketopname, en se yn dy folchoarder lêze hâldt de twa fragen skieden.
ip xfrm state
ip xfrm policy
Yn 'e tastânútfier moatst de boarne en bestimming fan 'e assosjaasje kontrolearje, de modus, en oft de inkapseling UDP-poarten toant. Dy poarten betsjutte dat NAT-trochgong brûkt wurdt, wat feroaret wat in tuskenlizzende firewall tastean moat, mar net hokker selektors of kaaien op 'e einpunten jilde.
Lês dan de selektors yn it belied. In selektor dy't in smeller foarheaksel neamt as it ferkear datsto testest, is de meast foarkommende reden wêrom't in wurkjende tunnel in stream liket te negearjen, en in selektor foar it ferkearde protokol jout deselde stilte.
| 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 |
Tûlen fan leveransiers printsje deselde ynformaasje yn in freonliker foarm. ipsec statusall op strongSwan listet it de bernassosjaasjes, har selektors en har byttetellers, wat faak flugger is as rau xfrm-útfier lêze assto al wist hokker bern te besjen.
Stap twa: bewis dat ien stream de tellers beweecht
Tellers binne allinnich sinfol assto wist wat se beweegje moatten hie, dus kies in boarne en bestimming dy't de selektor grif beslacht en stjoer ien ûnskiplik fersyk. Lês dan deselde ynfier wer en fergelykje.
ip -s xfrm state
tcpdump -ni any esp
Twa lêzingen fertelle ferskillende ferhalen. Pakketten dy't oan 'e útgeande kant tanimme mar nea oan 'e yngeande kant, wize op in trochstjoer- of weromweisprobleem ynstee fan in kaai-probleem, om't it pakket inkapsulearre waard en fuortgie. As gjin inkele teller beweecht, hat it ferkear nea by it belied past, en de selektor is it plak om te sykjen.
De opname yn deselde stap befêstiget de inkapseling op 'e tried, ynklusyf oft de bûtenpakketten ESP binne of UDP-inkapsulearre ESP. It lit dy ek de adressen sjen dy't de stream eins droegen, en dy ferskille soms fan dy yn 'e konfiguraasje dy'tst liesdst.
Stap trije: feroarje ien ding en hâld in weromdraai
Skriuw de boarne, bestimming, modus, selektors en tellers fan 'e assosjaasje op ear'tst eat bewurkest. As in feroaring saken slimmer makket, is dat ferslach wat dy de foarige tastân weromsette lit, ynstee fan in wurkjende konfiguraasje út in gissing wer op te bouwen. Dat ferslach kostet in minút om te skriuwen en sparret in oere letter. It is ek it iennichste artefakt dat de persoan dy't de feroaring die oerlibbet.
Feroarje ien selektor of ien parameter, laad it wer, en werhelje stap twa tsjin deselde stream. It wiskjen fan in assosjaasje brekt elke stream dy't it brûkt ôf, dus in rjochte bewurking en in werladen fan it bern binne hast altyd better as de tastân leegje om te sjen wat der bart.
Weromdraai foar in selektorbewurking is it foarige belied weromsette en werlade, mei de betingst dat de pearein in oerienkommende feroaring nedich wêze kin as de selektor ûnderhannele wurdt en net lokaal is. Skriuw dy ôfhinklikheid op wylst se farsk is, want in heal werombrocht pear is dreger te beredenearen as ien fan 'e beide einstannen.
Hâld ta beslút de omfang earlik. In floeiende ESP-assosjaasje bewiist dat de twa poarten it segmint beskermje en leverje, en it seit neat oer oft de applikaasje derboppe syn brûkers autentisearret of fersiferelet wat er bewarret. Dat binne aparte kontrôles mei apart bewiis, en it runbook is pas klear as de folgjende persoan it út 'e notysjes werhelje kin.