Και οι δύο πλευρές λένε AES-128 και η σήραγγα εξακολουθεί να αρνείται να στηθεί. Τα CBC και GCM είναι διαφορετικοί μετασχηματισμοί που τυχαίνει να μοιράζονται το ίδιο μήκος κλειδιού, και ένας πελάτης που προσφέρει το ένα δεν ικανοποιεί μια πύλη που δέχεται μόνο το άλλο. Η λέξη AES περιγράφει μια οικογένεια, όχι μια συμφωνία.

Υπάρχει και ένας δεύτερος άξονας, και αυτός είναι που παράγει τα μπερδεμένα σφάλματα.

Δύο επίπεδα, δύο ανεξάρτητες λίστες

Το IKE προστατεύει την ίδια τη διαπραγμάτευση, ενώ η θυγατρική συσχέτιση προστατεύει την κίνηση που πραγματικά σας ενδιαφέρει. Τα Windows εκθέτουν την πρώτη ως μέθοδο κρυπτογράφησης και μέθοδο ακεραιότητας, και τη δεύτερη ως σταθερές μετασχηματισμού κρυπτογράφησης και πιστοποίησης. Αυτά τα πεδία δεν είναι ψευδώνυμα μεταξύ τους, και μια τιμή έγκυρη στο ένα μπορεί να είναι άνευ νοήματος ή λανθασμένη στο άλλο. Η ανάγνωση του προφίλ με αυτόν τον διαχωρισμό κατά νου αφαιρεί το μεγαλύτερο μέρος της σύγχυσης.

Η πρακτική συνέπεια είναι ότι μπορείτε να έχετε μια απολύτως αποδεκτή πολιτική ανταλλαγής κλειδιών και μια πολιτική καναλιού δεδομένων που ο ομότιμος δεν θα δεχτεί. Η μία λίστα διαπραγματεύεται· η άλλη προστατεύει πακέτα. Η αλλαγή μιας τιμής στην πρώτη δεν έχει καμία επίδραση στη δεύτερη, όσο παρόμοιες κι αν φαίνονται οι δύο σε ένα παράθυρο διαλόγου ρυθμίσεων.

Γράψτε και τις δύο λίστες πριν τις συγκρίνετε με την πύλη. Μια σύγκριση από μνήμης είναι ο τρόπος με τον οποίο ένα πεδίο επεξεργάζεται δύο φορές και το άλλο ποτέ. Κρατήστε την κονσόλα της πύλης ανοιχτή δίπλα στο προφίλ.

Διαβάστε το σφάλμα δίπλα στις προτάσεις

Το στάδιο που απέτυχε σας λέει ποια λίστα να εξετάσετε. Μια απόρριψη κατά την αρχική ανταλλαγή κλειδιών είναι πρόβλημα πρότασης IKE, και συμβαίνει πριν υπάρξει οποιαδήποτε θυγατρική συσχέτιση. Μια αποτυχία ενώ διαπραγματεύεται η συσχέτιση προστατευμένης κίνησης είναι πρόβλημα πρότασης ESP, και η ανταλλαγή κλειδιών έχει ήδη επιτύχει. Ένα γενικό μήνυμα αντιστοίχισης πολιτικής από τον πελάτη δεν ονομάζει κανένα από τα δύο στάδια, γι' αυτό η οπτική της ίδιας της πύλης είναι η χρήσιμη.

swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 60 --no-pager

Συγκρίνετε την πρόταση που ελήφθη, την πρόταση που ρυθμίστηκε και την επιλεγμένη για αυτή τη μοναδική προσπάθεια. Τρεις διαφορετικές λίστες έχουν σημασία εδώ, και μόνο η τελευταία περιγράφει τι χρησιμοποιήθηκε πραγματικά. Παραθέστε την αυτολεξεί στο εισιτήριο αντί να τη συνοψίσετε.

Κρατήστε τα CBC και GCM ως ξεχωριστές εναλλακτικές

Μια πύλη που της επιτρέπεται σκόπιμα να δέχεται οποιαδήποτε οικογένεια χρειάζεται δύο προτάσεις, όχι μία. Στο strongSwan ένα κόμμα χωρίζει τις εναλλακτικές, και μια παύλα ενώνει τα συστατικά ενός μόνο συνόλου. Ο συνδυασμός και των δύο οικογενειών με παύλες παράγει μία αδύνατη πρόταση αντί για δύο αποδεκτές.

proposals = aes128gcm16-prfsha256-ecp256, aes128-sha256-ecp256
esp_proposals = aes128gcm16-ecp256

Η πρώτη εναλλακτική φέρει πιστοποιημένη κρυπτογράφηση και εξακολουθεί να ονομάζει μια ψευδοτυχαία συνάρτηση, επειδή η παραγωγή κλειδιού χρειάζεται μία ακόμη και όταν η ακεραιότητα προέρχεται από τον κρυπταλγόριθμο. Η δεύτερη εναλλακτική είναι κλασική κρυπτογράφηση με ξεχωριστό αλγόριθμο ακεραιότητας. Και οι δύο παραμένουν εξαρτημένες από το τι υποστηρίζει η φορτωμένη υλοποίηση κρυπτογραφίας.

Μια πρόταση ESP δεν είναι μια μετονομασμένη πρόταση IKE

Το διακριτικό κρυπτογράφησης φαίνεται πανομοιότυπο και στις δύο λίστες, και σχεδόν τίποτε άλλο δεν μεταφέρεται. Μια πρόταση ESP δεν έχει ψευδοτυχαία συνάρτηση ανταλλαγής κλειδιών, και οι απαιτήσεις της για ακεραιότητα και μπροστινή μυστικότητα υποστηρίζονται απέναντι στην πολιτική Windows στην άλλη πλευρά αντί να αντιγράφονται από τη γραμμή IKE. Η μηχανική μετάφραση της μίας λίστας στην άλλη παράγει κάτι που επικυρώνεται και ποτέ δεν διαπραγματεύεται.

Επιλέξτε μια κατεύθυνση και μείνετε σε αυτήν. Είτε η πύλη διατηρεί πολιτική μόνο GCM και ο πελάτης αναπτύσσει μια πλήρη συμβατή πολιτική, είτε η πύλη δέχεται και τις δύο οικογένειες και ο πελάτης διατηρεί το υπάρχον σύνολό του. Η ενεργοποίηση μιας εφεδρικής επιλογής που η πολιτική ασφαλείας απαγορεύει δεν είναι διόρθωση, όσο γρήγορα κι αν καθαρίζει το σφάλμα.

Επαληθεύστε και τα δύο σύνολα και μετά μια ανανέωση κλειδιού

Επιβεβαιώστε το επιλεγμένο σύνολο ανταλλαγής κλειδιών και το επιλεγμένο σύνολο κίνησης χωριστά, επειδή προέρχονται από διαφορετικές λίστες και μπορούν να πετύχουν ανεξάρτητα. Στη συνέχεια αφήστε μια ανανέωση κλειδιού να συμβεί και επιβεβαιώστε την επίσης. Μια πρώτη χειραψία που λειτουργεί και μια ανανέωση κλειδιού που αποτυγχάνει περιγράφουν ένα σύνολο προτάσεων που είναι μόνο εν μέρει αποδεκτό.

Κρατήστε αυτή την απόδειξη μαζί με την αλλαγή. Μια επαναλαμβανόμενη αποσύνδεση χρειάζεται το δικό της αρχείο αποτυχημένης ανταλλαγής πριν κάποιος κατηγορήσει έναν χρονόμετρο ή ένα ελάττωμα της πλατφόρμας.

Σχετικά άρθρα