Γιατί η σήραγγα IPsec σας λειτουργεί μέχρι την πρώτη ανανέωση κλειδιού CHILD SA
Μια σήραγγα που μεταφέρει κίνηση απέδειξε τις ρυθμίσεις IKE, όχι την ανταλλαγή κλειδιών που χρησιμοποιείται στην ανανέωση. Δείτε πού κρύβεται μια ασυμφωνία PFS και πώς να την αποκαλύψετε.
Η σήραγγα σηκώθηκε, το ping απάντησε και όλοι υπέγραψαν. Τέσσερις ώρες αργότερα η συνεδρία πέφτει, οι ομότιμοι καταγράφουν σφάλμα πρότασης ή ανταλλαγής κλειδιών, και η πρώτη εικασία είναι ότι κάτι άλλαξε στο δίκτυο. Τίποτα δεν άλλαξε. Μια σήραγγα που μεταφέρει κίνηση απέδειξε ότι οι δύο ομότιμοι συμφωνούν πώς να πιστοποιούνται και πώς να προστατεύουν τον πρώτο θυγατρικό συσχετισμό, και δεν απέδειξε τίποτα για την ανταλλαγή κλειδιών που θα απαιτήσουν στην ανανέωση. Η ασυμφωνία βρίσκεται στο κενό ανάμεσα σε αυτά τα δύο γεγονότα.
Το συνδεδεμένο δεν σημαίνει ότι συμφωνούν οι ρυθμίσεις PFS
Με το IKEv2, ο πρώτος θυγατρικός συσχετισμός δημιουργείται κατά την ανταλλαγή πιστοποίησης, και τα κλειδιά του παράγονται από υλικό που έχει ήδη παραγάγει ο συσχετισμός IKE. Δεν γίνεται ξεχωριστή ανταλλαγή Diffie-Hellman για αυτόν τον θυγατρικό, οπότε μια πολιτική που απαιτεί μία στην ανανέωση δεν δοκιμάζεται κατά την ανύψωση.
Η ανανέωση είναι διαφορετική ανταλλαγή. Όταν ανανεώνεται το κλειδί ενός θυγατρικού συσχετισμού, οι ομότιμοι μπορούν να εκτελέσουν νέα ανταλλαγή κλειδιών με την ομάδα που ονομάζουν οι προτάσεις τους, και αυτή είναι η πρώτη στιγμή που συγκρίνονται οι ρυθμίσεις της ομάδας. Έτσι, δύο ομότιμοι που διαφωνούν μπορούν να πιστοποιηθούν, να εγκαταστήσουν θυγατρικό συσχετισμό και να περάσουν κίνηση, και μετά να αποτύχουν στην ανανέωση.
Πού κρύβεται η ασυμφωνία στη συμβολοσειρά πρότασης
Στο strongSwan η ομάδα προσαρτάται στην πρόταση του θυγατρικού, γι’ αυτό μια συμβολοσειρά όπως aes256gcm16-prfsha256-ecp256 μοιάζει με επιλογή κρυπτογράφησης αλλά φέρει και απαίτηση ανταλλαγής κλειδιών. Ένας ομότιμος που προσφέρει μόνο aes256gcm16-prfsha256 δεν έχει τέτοια απαίτηση, και οι δύο λίστες τέμνονται στην κρυπτογράφηση ενώ διαφωνούν στην ανταλλαγή.
Διαβάστε την πρόταση του θυγατρικού και την πρόταση IKE ως ξεχωριστές λίστες. Μια ομάδα που εμφανίζεται στη λίστα IKE δεν λέει τίποτα για τη λίστα του θυγατρικού, και το να επεξεργάζεστε τη μία διαβάζοντας την άλλη είναι ο συνηθισμένος τρόπος να χαθεί αυτό.
Διαβάστε την αποτυχία, όχι το αρχείο που επεξεργαστήκατε
Βρείτε το notify που τερμάτισε την ανταλλαγή. Μια ανανέωση κλειδιού θυγατρικού που επιστρέφει «καμία αποδεκτή πρόταση» δείχνει τις λίστες προτάσεων· ένα αίτημα ανανέωσης που δεν παίρνει ποτέ απάντηση δείχνει τη διαδρομή ή έναν ομότιμο που σταμάτησε να ακούει. Αυτά τα δύο χρειάζονται διαφορετικές διορθώσεις, και η διατύπωση της γραμμής καταγραφής τα ξεχωρίζει.
Επιβεβαιώστε την ενεργή διαμόρφωση και όχι αυτή στον δίσκο. Ένα αρχείο που αποθηκεύτηκε αλλά δεν φορτώθηκε, ή μια σύνδεση που ξαναδιαβάστηκε από άλλο include, θα παραγάγουν ασυμφωνία που καμία επεξεργασία του ορατού αρχείου δεν μπορεί να διορθώσει.
Τρία γεγονότα που όλα ονομάζονται ανανέωση κλειδιού
Η ανανέωση κλειδιού του συσχετισμού IKE, η επαναπιστοποίηση IKE και η ανανέωση κλειδιού του θυγατρικού συσχετισμού είναι ξεχωριστές λειτουργίες με ξεχωριστούς κανόνες πρότασης. Μια αποτυχία που αναφέρεται σε μία από αυτές δεν λέει τίποτα άμεσα για τις άλλες, και ένα αρχείο καταγραφής που τις αναμειγνύει διαβάζεται ως ένα επαναλαμβανόμενο σφάλμα ενώ είναι τρία.
Σημειώστε ποιο γεγονός ονομάζει ο ομότιμος και μετά ελέγξτε τις προτάσεις μόνο για αυτό το γεγονός. Αλλάξτε μία λίστα, επαναφορτώστε και επιβάλετε ξανά το ίδιο γεγονός. Αν το αρχείο καταγραφής ονομάζει επαναπιστοποίηση, η πρόταση IKE είναι αυτή που πρέπει να διαβαστεί. Αν ονομάζει ανανέωση κλειδιού θυγατρικού, η πρόταση του θυγατρικού φέρει την ομάδα που έχει σημασία.
Το να απενεργοποιήσετε την ανανέωση δεν είναι διόρθωση
Το να θέσετε τον χρόνο ανανέωσης κλειδιού στο μηδέν καταστέλλει την ανταλλαγή που αποτυγχάνει, και η σήραγγα επιβιώνει μετά μέχρι να κατεδαφιστεί ή να επανεκκινήσει ο ομότιμος. Αυτό που αγοράσατε είναι ένα κλειδί με μεγαλύτερη διάρκεια ζωής και μια ασυμφωνία που θα σας ξανασυναντήσει σε μια μετάβαση, έναν έλεγχο ή μια ενημέρωση προμηθευτή. Το ίδιο ισχύει για διάρκειες ζωής τεντωμένες πολύ πέρα από την πολιτική που περιμένει η άλλη πλευρά.
Ευθυγραμμίστε αντίθετα τις προτάσεις. Διαλέξτε μια ομάδα που υλοποιούν και οι δύο ομότιμοι, βάλτε τη στην πρόταση του θυγατρικού και στα δύο άκρα, και κρατήστε την πολιτική ανανέωσης εντός του εύρους που απαιτεί πραγματικά ο οργανισμός.
Αποδείξτε το με την ανταλλαγή που απέτυχε
Συντομεύστε τον χρόνο ανανέωσης κλειδιού του θυγατρικού σε ένα παράθυρο συντήρησης ώστε το γεγονός να έρθει σε λεπτά και όχι σε ώρες, ή προκαλέστε χειροκίνητη ανανέωση. Μετά παρακολουθήστε μια επιτυχή ανανέωση και επιβεβαιώστε ότι η κίνηση συνεχίζεται μέσα από αυτήν, γιατί ένα νέο handshake που εγκαθιστά θυγατρικό συσχετισμό αλλά ρίχνει τη ροή της εφαρμογής είναι άλλο ελάττωμα.
Επαναφέρετε μετά την κανονική διάρκεια ζωής και κρατήστε και τις δύο καταγραφές γεγονότων, την αποτυχημένη και την επιτυχημένη. Η απόδειξη που θέλετε είναι ότι η σύνδεση επιβιώνει στον δικό της κύκλο ζωής, όχι ότι επέζησε ενός ping.