Ποιο πρόγραμμα κατέχει αυτό το config.json στη ρύθμιση OpenVPN σας;
Ένα αρχείο με όνομα config.json μπορεί να ανήκει σε ένα GUI, σε έναν δαίμονα ή σε μια μορφή εξαγωγής και όχι στο OpenVPN. Βρείτε τον αναλυτή πριν επεξεργαστείτε ή αντικαταστήσετε κλειδιά.
Βρίσκετε ένα αρχείο με όνομα config.json, αναφέρει έναν διακομιστή VPN και η υπόθεση ακολουθεί αμέσως: αυτή πρέπει να είναι η σύνδεση OpenVPN. Συχνά δεν είναι. Ένα αρχείο JSON με αυτό το όνομα μπορεί να ανήκει σε ένα γραφικό περιβάλλον που εκκινεί τον πελάτη, σε έναν δαίμονα που αποθηκεύει τις δικές του ρυθμίσεις ή σε μια μορφή εξαγωγής ενός προϊόντος, και καθένα από αυτά έχει το δικό του σχήμα.
Το όνομα του αρχείου είναι η λιγότερο χρήσιμη ένδειξη. Ξεκινήστε από τη διεργασία που διαβάζει το αρχείο, μετά ελέγξτε αν η μορφή που περιμένει είναι καν JSON και μόνο τότε αποφασίστε αν η επεξεργασία του αρχείου είναι ο υποστηριζόμενος τρόπος να αλλάξετε κάτι.
Ξεκινήστε από τη διεργασία, όχι από το όνομα του αρχείου
Δείτε τι εκτελείται πραγματικά. Μια μονάδα υπηρεσίας, ένα σενάριο εκκίνησης ή μια εφαρμογή δίσκου συστήματος θα ονομάσουν το εκτελέσιμο που ξεκινούν και συχνά τη διαδρομή ρυθμίσεων που περνούν. Ο κατάλογος που περιέχει το αρχείο είναι δεύτερη ένδειξη: κατάλογοι δεδομένων εφαρμογών, κατάλογοι ρυθμίσεων υπηρεσιών και κατάλογοι προφίλ χρηστών υποδηλώνουν διαφορετικούς ιδιοκτήτες.
Στη συνέχεια διαβάστε την τεκμηρίωση του προϊόντος που κατέχει αυτό το στοιχείο. Αν το JSON ανήκει σε ένα περιτύλιγμα, τα κλειδιά του είναι τα κλειδιά του περιτυλίγματος, και ένα αντικείμενο που φαίνεται εύλογο αλλά έχει χτιστεί από το παράδειγμα άλλου προϊόντος θα απορριφθεί ή θα αγνοηθεί σιωπηρά.
Δύο αρχεία με το ίδιο όνομα σε διαφορετικούς καταλόγους είναι συνηθισμένη παγίδα. Το ένα μπορεί να είναι παραγόμενη κατάσταση που η υπηρεσία ξαναγράφει σε κάθε εκκίνηση και το άλλο το πρότυπο που υποτίθεται ότι επεξεργάζεται ένας άνθρωπος. Η αλλαγή του λάθος αρχείου παράγει μια διόρθωση που κρατά μέχρι την επόμενη επανεκκίνηση.
Τι είναι στην πραγματικότητα ένα προφίλ Community OpenVPN
Το Community OpenVPN 2.6 διαβάζει μορφή κειμένου βασισμένη σε επιλογές. Ένα προφίλ είναι μια ακολουθία οδηγιών: γραμμή λειτουργίας πελάτη, γραμμή συσκευής, απομακρυσμένο τελικό σημείο, καθώς και επιλογές ταυτότητας, κρυπτογράφησης και διαδρομών, και μπορεί να ενσωματώνει υλικό πιστοποιητικού και κλειδιού μέσα σε ενσωματωμένα μπλοκ.
Αυτή η μορφή αναλύεται γραμμή προς γραμμή από τον ίδιο τον πελάτη. Η παράδοση ενός εγγράφου JSON μέσω της επιλογής config δεν ενεργοποιεί αναλυτή JSON· η πρώτη γραμμή θα απορριφθεί ως άγνωστη οδηγία. Η μετονομασία ενός αρχείου JSON ώστε να τελειώνει σε .ovpn δεν μετατρέπει ούτε το περιεχόμενό του, και ένα έγκυρο αρχείο επιλογών δεν γίνεται άκυρο επειδή η επέκτασή του είναι ασυνήθιστη.
Τα OpenVPN Connect και OpenVPN 3 Linux έχουν τις δικές τους διαδρομές εισαγωγής και διαχείρισης προφίλ. Αυτά τα προϊόντα μπορούν να δεχτούν ένα προφίλ και να το αποθηκεύσουν στη δική τους βάση δεδομένων ή κατάσταση υπηρεσίας, κάτι που δεν είναι το ίδιο με ένα αρχείο JSON που τυχαίνει να περιγράφει έναν διακομιστή.
Επεξεργασία κατάστασης που ανήκει σε άλλο στοιχείο
Αν το JSON παράγεται, η επεξεργασία του είναι αγώνας. Μια ενεργή υπηρεσία μπορεί να το ξαναγράψει κατά το τερματισμό, κατά την επανασύνδεση ή στην επόμενη αλλαγή ρυθμίσεων, και μια χειροκίνητη αλλαγή εξαφανίζεται χωρίς σφάλμα. Προτιμήστε την εντολή εισαγωγής του προϊόντος, το API διαχείρισης ή τη διεπαφή ρυθμίσεων, γιατί αυτές οι διαδρομές ενημερώνουν την εσωτερική κατάσταση που αντιπροσωπεύει το αρχείο. Ένα αρχείο που επανέρχεται μετά από επανεκκίνηση σας λέει ποια διαδρομή ήταν η διαρκής.
Αν όντως επεξεργαστείτε ένα παραγόμενο αρχείο, σταματήστε πρώτα την υπηρεσία, κρατήστε αντίγραφο ασφαλείας και κάντε τη μικρότερη δυνατή αλλαγή. Έπειτα ελέγξτε αν η υπηρεσία ξαναγράφει το αρχείο κατά την εκκίνηση, γιατί ένα αρχείο που επανέρχεται κατά την εκκίνηση σημαίνει ότι η πραγματική πηγή αλήθειας βρίσκεται αλλού και η αλλαγή δεν επρόκειτο ποτέ να μείνει.
Οι κωδικοί και τα ενσωματωμένα ιδιωτικά κλειδιά είναι ξεχωριστό ζήτημα. Το JSON μπορεί να μεταφέρει ένα πλήρες κλειδί εξίσου εύκολα με ένα αρχείο επιλογών, γι’ αυτό αντιμετωπίστε κάθε εξαγωγή ως μυστικό, κρατήστε την έξω από κοινόχρηστους δίσκους και καλύψτε τις τιμές πριν επικολλήσετε τη δομή σε ερώτηση φόρουμ.
Επαλήθευση της αλλαγής και προστασία του αρχείου
Η επαλήθευση δεν είναι «το JSON αναλύεται». Η ανάλυση αποδεικνύει μόνο ότι οι αγκύλες ταιριάζουν· δεν λέει τίποτα για το αν ο ιδιοκτήτης αναγνωρίζει τα κλειδιά. Ελέγξτε την κατάσταση του ίδιου του προϊόντος: τη λίστα ενεργών προφίλ, την επιλεγμένη σύνδεση και μια επανασύνδεση που χρησιμοποιεί πραγματικά τις νέες τιμές. Ένα προφίλ που εμφανίζεται στη λίστα αλλά δεν γίνεται ποτέ το επιλεγμένο εξακολουθεί να μην είναι το προφίλ σε χρήση.
Παρακολουθήστε το αρχείο καταγραφής του στοιχείου που επεξεργαστήκατε, όχι μόνο του πελάτη VPN. Ένα περιτύλιγμα που απορρίπτει το αρχείο σας συνήθως το αναφέρει στο δικό του αρχείο καταγραφής, και ένας πελάτης που δεν έλαβε ποτέ το αρχείο μοιάζει ίδιος με πελάτη που έλαβε κακές ρυθμίσεις.
Κρατήστε αντίγραφο του αρχείου που λειτουργεί και καταγράψτε την έκδοση του προϊόντος με την οποία δοκιμάσατε. Αυτές οι μορφές αλλάζουν μεταξύ εκδόσεων, και μια δομή που λειτουργούσε πέρυσι μπορεί να απορριφθεί μετά από αναβάθμιση με μήνυμα που δεν αναφέρει καθόλου το σχήμα.
Σύνοψη της διαδρομής: εντοπίστε τη διεργασία, διαβάστε την τεκμηρίωσή της, επιβεβαιώστε αν το αρχείο είναι καν JSON, χρησιμοποιήστε την υποστηριζόμενη διαδρομή επεξεργασίας και επαληθεύστε μέσω της κατάστασης του ίδιου του προϊόντος. Το όνομα του αρχείου δεν απάντησε ποτέ σε καμία από αυτές τις ερωτήσεις.