Ponovni prenosi TCP proti zavrnitvam ponovitev IPsec: berite vsak sloj
Zastavica ponovnega prenosa, podvojeni ACK in števec zavrnjenih ponovitev ESP merijo različne dogodke na različnih slojih. Berite vsak števec tam, kjer nastane.
Tri različna orodja poročajo o treh različnih dvojnikih in le eden od njih je omrežni dogodek, na katerega lahko ukrepate. Ponovni prenos TCP je pošiljatelj, ki znova pošlje obseg, podvojeni ACK je prejemnik, ki ponovi potrditev, zavrnitev ponovitve ESP pa je varnostna asociacija, ki zavrne zaporedno številko, ki jo je že sprejela. Nobeno od treh ne pomeni drugega. Berite vsak števec na sloju, ki ga ustvari, preden jih povežete v eno zgodbo.
Trije števci, ki nikoli ne merijo istega dogodka
Oznaka ponovnega prenosa TCP pomeni, da je pošiljatelj znova postavil obseg zaporedja na žico. Izguba je eden od razlogov za to, in zajem, ki ga imate, morda preprosto nima izvirnega paketa ali potrditve, ki bi pojasnila čas. Podvojeni ACK je prejemnik, ki po pravilih obnovitve TCP ponovi kumulativno potrditev, kar ni niti podvojen zapis aplikacije niti druga kopija podatkov.
ESP deluje v svojem zaporednem prostoru. Vsaka varnostna asociacija oštevilči pakete, ki jih pošilja, prejemnik pa hrani okno že sprejetih številk, zato se paket ESP, ki prispe dvakrat, zavrne samo na tej podlagi. Zato ponovno poslan segment TCP potuje v novem paketu ESP z novo zaporedno številko, kar je pravilno vedenje na obeh slojih. Isti bajti so lahko v enem števcu videti novi, v drugem pa stari, in noben sloj ne laže.
Kaj analizator lahko vidi in česa ne
Začnite z besediščem analizatorja, ker imena filtrov opisujejo opažanja in ne notranjosti končnih točk. Štetje z istimi imeni, ki jih uporablja orodje, vas ohranja poštene glede tega, kaj je bilo res izmerjeno. Število iz nepopolnega zajema je število tega, kar je preživelo, ne tega, kar se je zgodilo na žici.
tshark -r trace.pcap -Y "tcp.analysis.retransmission" | wc -l
tshark -r trace.pcap -Y "tcp.analysis.duplicate_ack" | wc -l
Berite strokovne informacije ob teh številkah, ker opozorila o kontrolni vsoti in vrstnem redu spremenijo, koliko teže si zaslužijo. Združena sled dveh senzorjev lahko pokaže en okvir dvakrat, štetje obeh kopij pa si izmisli dogodek obnovitve, ki se ni nikoli zgodil.
Števci ESP živijo v stanju jedra
Zaporedne številke ESP pripadajo varnostni asociaciji, ne toku TCP, zato je prehod mesto, kjer je treba vprašati. Seznam stanja poroča števce paketov in napak na asociacijo, ki jih noben zajem ne more obnoviti.
ip -s xfrm state
tshark -r trace.pcap -Y "esp" -T fields -e esp.seq | head
RFC 4303 določa zaporedno številko in okno proti ponovitvam, ki jo porablja, zato števec narašča tudi, ko ni nič narobe. Monotone zunanje zaporedne številke brez ustrezne anomalije TCP kažejo na drugega pošiljatelja ali podvojeno pot, ne na nevihto ponovnih prenosov. Zunanji zajem šifriranega tunela običajno skrije notranje zaporedne številke TCP, zato ne more dokazati, kaj je storil notranji sklad. Zajemajte znotraj tunela le tam, kjer politika to dovoljuje, in nikoli ne izklopite zaščite pred ponovitvami, da bi utišali nepovezano opozorilo.
Kje opazovalna točka spremeni odgovor
Pred stopnjevanjem zapišite, kako je bil zajem narejen: vmesnik, ali je postopek zajema poročal o izgubah in ali so časovni žigi med senzorji primerljivi. Ena opazovalna točka ne vidi obeh koncev poti, zato je vsaka trditev o vedenju prejemnika sklep in ne meritev. Sled, posneta na prehodu, in sled, posneta na gostitelju, se bosta glede vrstnega reda pod obremenitvijo razhajali, in to razhajanje običajno pripada zajemu, ne tunelu. Koreliranje dveh pogledov je tisto, kar štetje spremeni v dokaz.
Uporabite en dovoljen aplikacijski tok in zabeležite števce končnih točk poleg števil zajema v istem trenutku. Če se številke razhajajo, zaupajte sloju, ki ima dogodek, drugega pa obravnavajte kot artefakt opazovanja, dokler ni dokazano nasprotno. To pravilo reši večino takih primerov brez poseganja v konfiguracijo tunela.
Branje števil v pravilnem vrstnem redu
Začnite na sloju, kjer je bilo vprašanje zastavljeno: na opozorilo TCP se odgovori iz zajema TCP, na zavrnitev ESP pa iz števcev varnostne asociacije na prehodu. Šele nato vprašajte, ali oba pogleda opisujeta isti paket. Sklep, ki potrebuje oba sloja, bi moral imenovati oba, ker je trditev o tunelu, oprta le na oznako TCP, ugibanje.
Zabeležite sloj, števec in opazovalno točko pri vsaki ugotovitvi, in naslednji bralec ne bo združil treh dogodkov v eno izmišljeno okvaro. Stopnjujte s temi tremi polji, popravek pa običajno sledi iz prvega.