ESP kuljettaa liikennettä IPsec-VPN:ssä, ja sen runbook alkaa yhdellä säännöllä: lue tietoturvaliitos ennen kuin muutat käytäntöä. Suurin osa selittämättömästä ESP-käyttäytymisestä palautuu valitsimeen, joka ei täsmännyt, tilaan, joka oletettiin lukemisen sijaan, tai laskuriin, jota kukaan ei tarkistanut, kun yhtä virtausta lähetettiin. Alla olevat kolme vaihetta selvittävät, mikä kuljettaa mitä, todistavat, että yksi virtaus käyttää sitä, ja jättävät peruutuksen, joka ei riipu muistista. Jokainen vaihe tuottaa yhden havainnon, joka kannattaa kirjata.

Tunne kentät ennen kuin luet ne

ESP asettaa otsakkeen suojattujen tietojen eteen ja peräosan niiden taakse. Otsake kuljettaa tietoturvaparametri-indeksin, joka määrittää, mitä liitosta vastaanottajan pitäisi käyttää, järjestysnumeron toiston havaitsemiseksi ja peräosassa täytteen, joka pitää hyötykuorman salaimen kannalta kohdistettuna. Peräosan seuraavan otsakkeen kenttä kertoo, mikä suojattu sisältö on, ja niin vastaanottaja tietää, mitä se purki kapseloinnista.

Tila muuttaa sitä, mikä on suojauksen sisällä. Tunnelitilassa suojattu materiaali on täydellinen sisempi IP-paketti, ja uusi ulompi otsake kuljettaa sitä päätepisteiden välillä. Siirtotilassa suojaus käärii olemassa olevan paketin ylemmän kerroksen hyötykuorman, joten toista IP-otsaketta ei ole avattavana. Kumpi tila on käytössä, on kokoonpanon tosiasia, ei tulkintakysymys. Lue se tilamerkinnästä sen sijaan, että päättelet sen kaaviosta.

Kumpikaan tila ei piilota ulompaa osoitteistusta, jonka on toimitettava paketti. Se on suunnittelun ominaisuus eikä puute, ja siksi välissä oleva tarkkailija näkee yhä, mitkä kaksi osoitetta puhuvat, vaikka hyötykuorma olisi läpinäkymätön.

Vaihe yksi: lue tila ja sitten käytäntö

Tilamerkinnät pitävät avaimet ja laskurit; käytäntömerkinnät pitävät valitsimet, jotka päättävät, mikä saa käyttää niitä. Linuxissa molemmat näkyvät ilman pakettien sieppausta, ja niiden lukeminen tässä järjestyksessä pitää kaksi kysymystä erillään.

ip xfrm state
ip xfrm policy

Tarkista tulosteesta liitoksen lähde ja kohde, tila ja se, näyttääkö kapselointi UDP-portteja. Nuo portit tarkoittavat, että NAT-läpäisyä käytetään, mikä muuttaa sitä, mitä välissä olevan palomuurin on sallittava, mutta ei sitä, mitkä valitsimet tai avaimet pätevät päätepisteissä.

Lue sitten käytännön valitsimet. Valitsin, joka nimeää kapeamman etuliitteen kuin testaamasi liikenne, on yleisin syy siihen, että toimiva tunneli näyttää jättävän virtauksen huomiotta, ja väärän protokollan valitsin tuottaa saman hiljaisuuden.

FieldWhere it appearsWhat it decides
Security parameter indexESP header, and the receiving state entryWhich association and keys the receiver applies
Sequence numberESP headerReplay detection for that association
Next headerESP trailerWhat the decapsulated payload contains
Inner IP headerInside tunnel-mode payload onlyThe original source and destination the endpoints act on
Traffic selectorsPolicy, not the packetWhich local traffic is allowed to use the association

Valmistajien työkalut tulostavat samat tiedot ystävällisemmässä muodossa. ipsec statusall strongSwanissa se luettelee alaliitokset, niiden valitsimet ja niiden tavulaskurit, mikä on usein nopeampaa kuin raa'an xfrm-tulosteen lukeminen, kun jo tiedät, mitä alaliitosta katsoa.

Vaihe kaksi: todista, että yksi virtaus liikuttaa laskureita

Laskurit ovat mielekkäitä vain, jos tiedät, mikä niitä olisi pitänyt liikuttaa, joten valitse lähde ja kohde, jotka valitsin varmasti kattaa, ja lähetä yksi vaaraton pyyntö. Lue sitten sama merkintä uudelleen ja vertaa.

ip -s xfrm state
tcpdump -ni any esp

Kaksi lukemaa kertovat eri tarinat. Paketit, jotka kasvavat lähtevällä puolella mutta eivät koskaan saapuvalla, viittaavat edelleenlähetyksen tai paluupolun ongelmaan eivätkä avainongelmaan, koska paketti kapseloitiin ja lähti. Jos yksikään laskuri ei liiku, liikenne ei koskaan täsmännyt käytäntöön, ja valitsin on paikka, johon katsoa.

Samassa vaiheessa tehty sieppaus vahvistaa kapseloinnin johdolla, mukaan lukien sen, ovatko ulommat paketit ESP vai UDP:hen kapseloitu ESP. Se näyttää myös osoitteet, jotka todella kuljettivat virtauksen, ja ne eroavat joskus niistä, jotka olivat lukemassasi kokoonpanossa.

Vaihe kolme: muuta yhtä asiaa ja pidä peruutus

Kirjaa liitoksen lähde, kohde, tila, valitsimet ja laskurit ennen kuin muokkaat mitään. Jos muutos pahentaa asioita, juuri se kirjaus antaa sinun palauttaa edellisen tilan sen sijaan, että rakentaisit toimivan kokoonpanon uudelleen arvauksesta. Kirjaus vie minuutin ja säästää tunnin myöhemmin. Se on myös ainoa artefakti, joka jää muutoksen tehneen henkilön jälkeen.

Muuta yhtä valitsinta tai yhtä parametria, lataa se uudelleen ja toista vaihe kaksi samaa virtausta vastaan. Liitoksen poistaminen repii alas jokaisen sitä käyttävän virtauksen, joten kohdennettu muokkaus ja alaliitoksen uudelleenlataus ovat lähes aina parempia kuin tilan tyhjentäminen sen näkemiseksi, mitä tapahtuu.

Valitsimen muokkauksen peruutus on edellisen käytännön palauttaminen ja uudelleenlataus, sillä varauksella, että vastapuoli voi tarvita vastaavan muutoksen, jos valitsimesta neuvotellaan eikä se ole paikallinen. Kirjoita tuo riippuvuus muistiin tuoreeltaan, sillä puoliksi palautettua paria on vaikeampi hahmottaa kuin kumpaakaan lopputilaa.

Pidä lopuksi laajuus rehellisenä. Virtaava ESP-liitos todistaa, että kaksi yhdyskäytävää suojaa ja toimittaa segmentin, eikä se kerro mitään siitä, todentaako ylempi sovellus käyttäjänsä vai salaako se tallentamansa. Ne ovat erillisiä kontrolleja erillisine todisteineen, ja runbook on valmis vasta, kun seuraava henkilö voi toistaa sen muistiinpanoista.

Aiheeseen liittyvät artikkelit