Πώς να διαβάσετε μια νέα ανταλλαγή IKE_SA_INIT σε μια καταγραφή
Μια νέα διαπραγμάτευση IKEv2 διαβάζεται πριν υπάρξουν κλειδιά. Καταγράψτε την απόπειρα, διαβάστε την κεφαλίδα, αντιστοιχίστε την απάντηση και ξεχωρίστε το IKE από το ESP στη θύρα 4500.
Ξεκινήστε από μια καταγραφή που αρχίζει πριν από το πρώτο πακέτο της απόπειρας, αλλιώς θα διαβάζετε τη μέση μιας συνομιλίας. Μια διαπραγμάτευση που ήδη τρέχει δείχνει κρυπτογραφημένες ανταλλαγές και ανανεώσεις κλειδιών, και κανένα από τα δύο δεν μοιάζει με το άνοιγμα. Το άνοιγμα είναι το μέρος που μπορείτε να αποκωδικοποιήσετε χωρίς κλειδιά, γι’ αυτό απαντά τόσο καλά σε ερωτήσεις προσβασιμότητας. Τέσσερις έλεγχοι με σειρά σάς πηγαίνουν από μια φρέσκια καταγραφή σε μια υπερασπίσιμη δήλωση για το ποια πλευρά σταμάτησε να μιλά.
Πρώτον, επιβεβαιώστε ότι η καταγραφή αρχίζει από την αρχή
Μια καταγραφή που ξεκίνησε αφού ανέβηκε η σήραγγα θα περιέχει την ενθυλακωμένη ροή δεδομένων και περιοδικά keepalive, και τα δύο είναι είτε κρυπτογραφημένα είτε σχεδόν κενά. Επανεκκινήστε τον πελάτη και καταγράψτε την ίδια την απόπειρα, ή προκαλέστε σκόπιμα μια νέα σύνδεση όσο τρέχει η καταγραφή. Αν δεν μπορείτε να παραγάγετε νέα απόπειρα, γράψτε το στις σημειώσεις σας, γιατί καμία αποκωδικοποίηση δεν ανακτά ένα άνοιγμα που δεν καταγράψατε ποτέ.
Περιορίστε την καταγραφή στα δύο άκρα και στο UDP 500 και 4500 ώστε το αρχείο να μείνει αρκετά μικρό για ανάγνωση. Σε έναν πολυάσχολο κεντρικό υπολογιστή μια καταγραφή χωρίς φίλτρο θάβει τη διαπραγμάτευση κάτω από άσχετη κίνηση.
tcpdump -i any -n -s 0 -w fresh-ike.pcap 'udp port 500 or udp port 4500'Κρατήστε το αρχείο όταν η απόπειρα είναι ενδιαφέρουσα, γιατί η ίδια καταγραφή απαντά και στις δύο επόμενες ερωτήσεις: τι ήταν η ανταλλαγή και αν γύρισε κάτι. Σημειώστε πάνω του την ώρα έναρξης και το ζεύγος άκρων στο οποίο φιλτράρατε. Μια καταγραφή χωρίς αυτά τα δύο στοιχεία είναι άχρηστη μια εβδομάδα αργότερα, όταν οι διευθύνσεις έχουν αλλάξει και κανείς δεν θυμάται ποια απόπειρα κατέγραψε.
Δεύτερον, διαβάστε την κεφαλίδα πριν από τα ωφέλιμα φορτία
Η κεφαλίδα IKE μεταφέρει τους δείκτες παραμέτρων ασφαλείας, τον τύπο ανταλλαγής και το ID μηνύματος, και σε μια νέα διαπραγμάτευση αυτές οι τιμές είναι χαρακτηριστικές. Ο εκκινητής επινοεί ένα SPI διάφορο του μηδενός, το αρχικό αίτημα μεταφέρει SPI αποκρινόμενου μηδέν επειδή δεν έχει δει ακόμη απάντηση, ο τύπος ανταλλαγής είναι IKE_SA_INIT, και το ID μηνύματος είναι μηδέν. Οτιδήποτε άλλο ανήκει σε μεταγενέστερο στάδιο της ίδιας διαπραγμάτευσης ή σε εντελώς άλλη απόπειρα.
Τα ωφέλιμα φορτία πρότασης, ανταλλαγής κλειδιών και nonce σε αυτή την πρώτη ανταλλαγή διαβάζονται σε ανοιχτή μορφή. Το αναγνώσιμο δεν σημαίνει πιστοποιημένο, και σε αυτό το σημείο καμία πλευρά δεν έχει αποδείξει την ταυτότητά της.
Η ιδιωτική τιμή Diffie-Hellman δεν διασχίζει ποτέ το καλώδιο, άρα η καταγραφή δεν σας επιτρέπει να παράγετε κλειδιά συνεδρίας. Η πιστοποίηση γίνεται στην επόμενη ανταλλαγή, προστατευμένη από ό,τι διαπραγματεύτηκε η πρώτη. Αν κάποιος ρωτήσει αν ένα άκρο είναι γνήσιο, αυτή η ανταλλαγή δεν μπορεί να απαντήσει σε αυτό. Μπορεί μόνο να δείξει ότι και οι δύο πλευρές συμφώνησαν σε μια πρόταση και παρήγαγαν ένα κοινό μυστικό που το αρχείο δεν περιέχει.
Τρίτον, αντιστοιχίστε το αίτημα με την απάντησή του
Αντιστοιχίστε με το ζεύγος SPI, τον τύπο ανταλλαγής και το ID μηνύματος, και μετά ελέγξτε τη σημαία απάντησης. Μια αναμετάδοση επαναλαμβάνει το ID μηνύματος του αρχικού και δεν είναι δεύτερη απόπειρα σύνδεσης. Το να μετράτε πακέτα αντί για ανταλλαγές είναι ο τρόπος με τον οποίο μια υγιής διαπραγμάτευση γίνεται φαντασματικός βρόχος.
Μια απάντηση μπορεί να είναι και άρνηση: αίτημα cookie, ειδοποίηση μη αποδεκτής ομάδας ή σφάλμα για μια πρόταση. Αυτές είναι νόμιμες απαντήσεις, και σημαίνουν ότι η διαδρομή δουλεύει ενώ η πολιτική δεν δουλεύει. Αποκωδικοποιήστε την ειδοποίηση αντί να θεωρείτε κάθε απάντηση επιτυχία. Όταν η ειδοποίηση κατονομάζει ομάδα ή πρόταση, η διόρθωση είναι στη διαμόρφωση και όχι στο τείχος προστασίας.
Και η κατεύθυνση μετράει. Ένα αίτημα χωρίς απάντηση και μια απάντηση που δεν φτάνει ποτέ στον πελάτη είναι διαφορετικές βλάβες, και μόνο η δεύτερη μοιάζει με λήξη χρόνου στην πλευρά του πελάτη.
Τέταρτον, ξεχωρίστε το IKE από όλα τα άλλα στη 4500
Η θύρα 4500 μεταφέρει τρία πράγματα που μοιάζουν σε μια συνοπτική προβολή: IKE πίσω από έναν μηδενικό δείκτη non-ESP τεσσάρων byte, ενθυλακωμένο ESP του οποίου η θέση δείκτη κρατά SPI διάφορο του μηδενός, και σύντομα keepalive. Αυτός ο δείκτης χωρίζει το IKE από το ενθυλακωμένο ESP, οπότε διαβάστε αυτά τα byte πριν χαρακτηρίσετε την κίνηση ως IKE. Μια ετικέτα καταγραφής που γράφει 4500 είναι αριθμός θύρας, όχι πρωτόκολλο.
Το ενθυλακωμένο ESP είναι κρυπτογραφημένο ωφέλιμο φορτίο που δεν μπορείτε να ερμηνεύσετε χωρίς κλειδιά, και η παρουσία του μπορεί να είναι σημάδι σήραγγας που δουλεύει και όχι βλάβης.
Παρακολουθήστε και τις δύο θύρες για την ίδια απόπειρα, γιατί το IKE μπορεί να μετακινηθεί στη 4500 μετά την ανίχνευση NAT παρότι άνοιξε στη 500. Ένα ίχνος φιλτραρισμένο μόνο στη 500 φαίνεται σιωπηλό ακριβώς όταν η διαπραγμάτευση πέτυχε και μετατοπίστηκε. Διευρύνετε το φίλτρο και ξαναδιαβάστε το ίδιο χρονικό παράθυρο πριν βγάλετε οποιοδήποτε συμπέρασμα από την απουσία.
Τι σημαίνει σιωπή σε ένα σημείο παρατήρησης
Καμία απάντηση στον πελάτη αποδεικνύει μόνο ό,τι παρατήρησε εκείνο το σημείο. Το φιλτράρισμα, η δρομολόγηση, η λάθος απομακρυσμένη διεύθυνση, μια υπηρεσία που έχει πέσει και μια ασυμφωνία πρωτοκόλλου παράγουν όλα το ίδιο κενό ίχνος.
Ένα σχετικό ICMP unreachable προσθέτει στοιχείο, αλλά διαβάστε το πακέτο που παρατίθεται μέσα του και σημειώστε τη διεύθυνση της συσκευής που το έστειλε.
Η απόρριψη από έναν δρομολογητή είναι διαφορετικό γεγονός από ένα πιστοποιημένο σφάλμα που επιστρέφει η άλλη πλευρά, και μόνο το δεύτερο αποδεικνύει ότι η υπηρεσία είναι ζωντανή. Συσχετίστε την ίδια απόπειρα με αρχεία καταγραφής του διακομιστή ή με εγκεκριμένη παρατήρηση για να μάθετε αν έφτασε το αίτημα και αν έφυγε απάντηση. Κρατήστε τις καταγραφές περιορισμένες και ιδιωτικές, γιατί τα αναγνώσιμα πεδία χειραψίας δεν κάνουν το υπόλοιπο αρχείο ακίνδυνο. Το αποτέλεσμα που αξίζει είναι ένα ταιριασμένο ζεύγος αιτήματος και απάντησης, ή ένα τεκμηριωμένο κενό με ονομασμένο σημείο παρατήρησης.