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

Μια έμπιστη αλυσίδα δεν λέει τίποτα για την ιδιότητα μέλους υπηρεσίας

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

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

Μετατρέψτε τις προαιρετικές παρακάμψεις σε πύλη εισδοχής

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

client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive

Η έκδοση κοινότητας του OpenVPN 2.6 ccd-exclusive στη σελίδα εγχειριδίου του τεκμηριώνει ακριβώς αυτή τη συνθήκη, και η αναζήτηση του ονομασμένου αρχείου εξαρτάται από την πραγματική ταυτότητα του πελάτη. Άλλες εκδόσεις και διακομιστές που διαχειρίζονται προϊόντα μπορεί να διαφέρουν, οπότε επιβεβαιώστε την εγκατεστημένη έκδοση πριν βασιστείτε στην ίδια σημασιολογία αλλού.

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

Ένας κατάλογος ανά υπηρεσία, όχι μία κοινή λίστα

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

Μια εγγραφή DEFAULT είναι η περίπτωση που παραπλανά. Παρέχει εφεδρικές ρυθμίσεις όταν δεν βρίσκεται ονομασμένο αρχείο, αλλά δεν είναι το ονομασμένο αρχείο που απαιτεί η πύλη, άρα δεν μπορεί να δεχτεί πελάτη μόνη της. Δοκιμάστε έναν πελάτη που δεν έχει καθόλου εγγραφή και επιβεβαιώστε την απόρριψη· αν αυτός ο πελάτης γίνει δεκτός, εφαρμόζεται η εφεδρεία και ccd-exclusive δεν ισχύει σε εκείνη την περίπτωση.

Η πραγματική ταυτότητα αποφασίζει ποιο αρχείο διαβάζεται

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

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

Παρατηρήστε την απόρριψη, την εισδοχή και την ανάκληση χωριστά

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

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

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

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