Comença per una captura que comenci abans del primer paquet de l’intent, o llegiràs el mig d’una conversa. Una negociació que ja va mostra intercanvis xifrats i renovacions de claus, i cap de les dues no s’assembla a l’obertura. L’obertura és la part que pots descodificar sense claus, i per això respon tan bé les preguntes d’abastabilitat. Quatre comprovacions en ordre et porten d’una captura nova a una afirmació defensable sobre quin costat va deixar de parlar.

Primer, confirma que la captura comença al principi

Una captura iniciada després que el túnel pugi contindrà el flux de dades encapsulat i keepalives periòdics, i tots dos són o xifrats o gairebé buits. Reinicia el client i enregistra l’intent mateix, o provoca deliberadament una connexió nova mentre la captura s’executa. Si no pots produir un intent nou, digues-ho a les notes, perquè cap descodificació recupera una obertura que mai no vas enregistrar.

Limita la captura als dos extrems i a UDP 500 i 4500 perquè el fitxer quedi prou petit per llegir-lo. En un amfitrió ocupat, una captura sense filtre enterra la negociació sota trànsit no relacionat.

tcpdump -i any -n -s 0 -w fresh-ike.pcap 'udp port 500 or udp port 4500'

Guarda el fitxer quan l’intent sigui interessant, perquè la mateixa captura respon les dues preguntes següents: què va ser l’intercanvi i si va tornar res. Etiqueta’l amb l’hora d’inici i la parella d’extrems per la qual vas filtrar. Una captura sense aquests dos fets és inútil una setmana després, quan les adreces han canviat i ningú no recorda quin intent va enregistrar.

Segon, llegeix la capçalera abans de les càrregues

La capçalera IKE porta els índexs de paràmetres de seguretat, el tipus d’intercanvi i l’ID del missatge, i en una negociació nova aquests valors són distintius. L’iniciador inventa un SPI diferent de zero, la petició inicial porta un SPI de responedor igual a zero perquè encara no s’ha vist cap resposta, el tipus d’intercanvi és IKE_SA_INIT i l’ID del missatge és zero. Qualsevol altra cosa pertany a una etapa posterior de la mateixa negociació o a un intent completament diferent.

Les càrregues de proposta, intercanvi de claus i nonce d’aquest primer intercanvi són llegibles en clar. Llegible no vol dir autenticat, i en aquest punt cap dels dos extrems no ha provat la seva identitat.

El valor privat de Diffie-Hellman no travessa mai el cable, així que la captura no et permet derivar claus de sessió. L’autenticació passa en el següent intercanvi, protegida pel que el primer va negociar. Si algú pregunta si un extrem és genuí, aquest intercanvi no pot respondre aquesta pregunta. Només pot mostrar que tots dos costats es van posar d’acord en una proposta i van produir un secret compartit que el fitxer no conté.

Tercer, aparella la petició amb la seva resposta

Aparella per la parella d’SPI, el tipus d’intercanvi i l’ID del missatge, i després mira el senyal de resposta. Una retransmissió repeteix l’ID del missatge original i no és un segon intent d’inici de sessió. Comptar paquets en lloc d’intercanvis és com una negociació sana es converteix en un bucle fantasma.

Una resposta també pot ser un refús: una petició de galeta, una notificació de grup inacceptable o un error sobre una proposta. Són respostes legítimes i volen dir que el camí funciona mentre la política no. Descodifica la notificació en lloc de tractar cada resposta com un èxit. Quan la notificació anomena un grup o una proposta, la reparació és a la configuració i no al tallafoc.

La direcció també importa. Una petició sense resposta i una resposta que mai no arriba al client són avaries diferents, i només la segona sembla un temps d’espera del costat del client.

Quart, separa IKE de tota la resta al 4500

El port 4500 porta tres coses que en una vista resumida semblen iguals: IKE darrere d’un marcador non-ESP zero de quatre bytes, ESP encapsulat la posició del marcador del qual conté un SPI diferent de zero, i keepalives curts. Aquest marcador és el que separa IKE de l’ESP encapsulat, així que llegeix aquells bytes abans d’etiquetar el trànsit com a IKE. Una etiqueta de captura que llegeix 4500 és un número de port, no un protocol.

L’ESP encapsulat és càrrega xifrada que no pots interpretar sense claus, i la seva presència pot ser el senyal d’un túnel que funciona més que no pas una avaria.

Vigila els dos ports per al mateix intent, perquè IKE es pot moure al 4500 després de la detecció de NAT encara que s’hagi obert al 500. Una traça filtrada només al 500 sembla silenciosa justament quan la negociació ha tingut èxit i s’ha traslladat. Amplia el filtre i torna a llegir la mateixa finestra de temps abans de treure cap conclusió de l’absència.

Què significa el silenci en un punt d’observació

Cap resposta al client només demostra el que aquell punt ha observat. El filtratge, l’encaminament, l’adreça remota equivocada, un servei aturat i una discrepància de protocol produeixen la mateixa traça buida.

Un ICMP unreachable rellevant afegeix proves, però llegeix el paquet citat que hi ha dins i anota l’adreça del dispositiu que el va enviar.

El rebuig d’un encaminador és un esdeveniment diferent d’un error autenticat retornat per l’extrem, i només el segon demostra que el servei és viu. Correlaciona el mateix intent amb registres del servidor o una observació aprovada per saber si la petició va arribar i si una resposta va sortir. Mantén les captures limitades i privades, perquè els camps llegibles de l’apretada de mans no fan la resta del fitxer inofensiva. El resultat que val la pena és una petició i una resposta aparellades, o un buit documentat amb un punt d’observació anomenat.

Articles relacionats