Το να περάσει το dhparam -check μοιάζει με ετυμηγορία για τη ρύθμιση Diffie-Hellman του VPN σας. Δεν είναι. Η εντολή συγκρίνει ένα αρχείο παραμέτρων με την αριθμητική που ισχυρίζεται ότι ικανοποιεί, και δεν λέει τίποτα για το αν το μέγεθος της ομάδας ταιριάζει με την πολιτική σας ή αν η σήραγγα φορτώνει καν αυτό το αρχείο. Το να το διαβάζετε ως έλεγχο ασφαλείας είναι η υπόθεση που αξίζει να διορθωθεί πρώτη.

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

Τι επιβεβαιώνει πραγματικά ο έλεγχος εγκυρότητας

Εκτελέστε τον έλεγχο στο αρχείο που έχετε και διαβάστε την απάντηση. Το openssl dhparam -in dh.pem -check -noout εκτελεί τους ελέγχους παραμέτρων και καταστέλλει την κωδικοποιημένη έξοδο. Ένα μήνυμα ότι οι παράμετροι φαίνονται εντάξει σημαίνει ότι οι τιμές είναι δομικά συνεπείς· δεν σημαίνει ότι μια σύντομη ομάδα είναι αποδεκτή στο περιβάλλον σας.

Η παραγωγή χωρίς -dsaparam δίνει ασφαλείς πρώτους αριθμούς, όπου και το (p-1)/2 είναι πρώτος, γι’ αυτό παίρνει τόσο χρόνο. Η διαδρομή τύπου DSA χτίζει παραμέτρους γρηγορότερα και τις μετατρέπει σε μορφή DH, και το εγχειρίδιο του OpenSSL συνδέει πρόσθετες απαιτήσεις φρέσκων κλειδιών με τη χρήση τους. Καμία από τις δύο κατασκευές δεν είναι μυστικό συνεδρίας: το αρχείο είναι δημόσιο υλικό διαμόρφωσης, όχι το ιδιωτικό κλειδί του πιστοποιητικού και όχι το κοινόχρηστο μυστικό του καναλιού ελέγχου.

Διαβάστε το μέγεθος και τον γεννήτορα πριν κρίνετε το αρχείο

Ένα αποτέλεσμα εγκυρότητας σημαίνει περισσότερα όταν ξέρετε τι επαληθεύτηκε. Εκτυπώστε τις παραμέτρους με openssl dhparam -in dh.pem -text -noout και μετά σημειώστε το μήκος του πρώτου αριθμού και την τιμή του γεννήτορα.

Συγκρίνετε αυτό το μήκος με γραπτή πολιτική και όχι με συνήθεια. Αν η απαίτησή σας είναι μια εγκεκριμένη ονομασμένη ομάδα από σύγχρονο TLS stack, ένα χειροποίητο αρχείο μπορεί να είναι εντελώς λάθος τεχνούργημα. Καταγράψτε και τους δύο αριθμούς στο αρχείο αλλαγών, ώστε ο επόμενος ελεγκτής να μην πρέπει να τους εξαγάγει ξανά.

Μην κάνετε μια επιθεώρηση αναπαραγωγή

Ο τρόπος αποτυχίας εδώ είναι μια εντολή που μοιάζει με έλεγχο και συμπεριφέρεται σαν γεννήτορας. Η προσθήκη μήκους σε bit, όπως στο openssl dhparam -check 2048, ζητά νέες παραμέτρους και το αρχείο εισόδου αγνοείται. Μια επιλογή γεννήτορα μπορεί να κάνει το ίδιο. Αν θέλατε μόνο να επιθεωρήσετε, δώστε -in και -check και τίποτα που να περιγράφει μέγεθος.

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

Ταιριάξτε την ομάδα με το πρωτόκολλο, όχι με μια τάση

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

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

Επιβεβαιώστε ότι το VPN φορτώνει καν το αρχείο

Ένα σωστό αρχείο παραμέτρων που καμία διεργασία δεν διαβάζει δεν αλλάζει τίποτα. Στο OpenVPN η οδηγία διακομιστή είναι dh με διαδρομή, και αναπτύξεις που βασίζονται σε ECDH ή σε ανταλλαγή κλειδιών TLS 1.3 μπορούν να ορίσουν dh none. Ελέγξτε τη διαμόρφωση που εκτελείται και όχι ένα πρότυπο, και μετά επιβεβαιώστε ότι πελάτες και ομότιμοι διαπραγματεύονται την ίδια κατασκευή.

Κλείστε τον κύκλο με τα στοιχεία που πραγματικά χρειάζεστε: την ομάδα που διαπραγματεύτηκε η σήραγγα, το μήκος παραμέτρων στο αρχείο και τη γραμμή πολιτικής που αυτό το μήκος ικανοποιεί. Ένας επιτυχημένος έλεγχος ανήκει σε εκείνη τη λίστα ως ένα στοιχείο. Το να τον θεωρείτε ολόκληρη την απάντηση είναι το πώς μια σύντομη ομάδα επιβιώνει από έναν έλεγχο που υποτίθεται ότι θα την έπιανε.

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