Λειτουργία VPN και ιστοτόπου σε έναν κεντρικό υπολογιστή χωρίς συγκρούσεις
Ένας κεντρικός υπολογιστής μπορεί να εξυπηρετεί έναν ιστότοπο και να τερματίζει ομότιμους VPN, αλλά μόνο με ρητή απόφαση για ακροατή, ταυτότητα και διαχείριση. Στη συνέχεια δοκιμάστε τα όρια.
Όταν μοιράζεστε έναν κεντρικό υπολογιστή ανάμεσα σε έναν δημόσιο ιστότοπο και ένα VPN, κληρονομείτε δύο ερωτήματα, όχι ένα: τι ακούει πού και ποιος επαληθεύει ποιον. Απαντήστε και στα δύο πριν αγγίξετε αρχείο διαμόρφωσης, γιατί οι προεπιλογές είναι λάθος με τρόπους που εμφανίζονται μόνο υπό φόρτο. Μια σελίδα που φορτώνει μέσω HTTPS αποδεικνύει ότι ο ακροατής ιστού απαντά και τίποτα για τον ακροατή των ομότιμων. Αυτό που ακολουθεί είναι μια σειρά αποφάσεων που εμποδίζει τα δύο να φαγωθούν μεταξύ τους.
Αποφασίστε τι ακούει σε ποια διεύθυνση και μεταφορά
Γράψτε έναν πίνακα με τρεις στήλες, διεύθυνση, μεταφορά και θύρα, και μία γραμμή ανά υπηρεσία, μαζί με τη διαχειριστική διεπαφή. Το TCP 443 για τον ιστότοπο και το UDP 443 για το VPN δεν είναι σύγκρουση ακόμη και όταν οι αριθμοί ταιριάζουν, επειδή η μεταφορά διαφέρει. Δύο υπηρεσίες στην ίδια διεύθυνση, μεταφορά και θύρα χρειάζονται μια ρύθμιση που τεκμηριώνει η υλοποίηση, όχι μία που επινοείτε κατά τη διάρκεια μιας διακοπής. Αυτός ο πίνακας είναι επίσης το τεκμήριο που κάνει την επόμενη αλλαγή ελέγξιμη.
Ξεχωριστές διευθύνσεις ή δεύτερη θύρα κάνουν την κυριότητα ορατή σε μια σύλληψη πακέτων, και αυτό αξίζει περισσότερο από την κομψότητα. Ορισμένες υλοποιήσεις VPN υποστηρίζουν κοινή χρήση θύρας με διακομιστή ιστού, αλλά ο μηχανισμός είναι συγκεκριμένος: ο δαίμονας εξετάζει τα πρώτα byte και προωθεί την κίνηση που δεν είναι το δικό του πρωτόκολλο. Ένας γενικός αντίστροφος διαμεσολαβητής HTTP δεν το κάνει αυτό, και η επανεγγραφή κεφαλίδων δεν θα τον κάνει να καταλάβει μια χειραψία κρυπτογραφημένης σήραγγας. Διαβάστε τις σημειώσεις ανάπτυξης του πρωτοκόλλου, όπως την τεκμηρίωση ακροατή του OpenVPN, και ακολουθήστε τη ρύθμιση που περιγράφει.
Αποφασίστε ποια ταυτότητα ανήκει σε ποια υπηρεσία
Ένα πιστοποιητικό προγράμματος περιήγησης και ένα διαπιστευτήριο ομότιμου VPN είναι διαφορετικά αντικείμενα με διαφορετικά μοντέλα εμπιστοσύνης. Το πιστοποιητικό ιστού επικυρώνεται από δημόσια αρχή και ονομάζει όνομα κεντρικού υπολογιστή, ενώ το διαπιστευτήριο ομότιμου επαληθεύει μια συσκευή ή έναν χρήστη προς τον συγκεντρωτή και μπορεί να είναι αυτοϋπογεγραμμένο ή να εκδίδεται εσωτερικά. Η επαναχρησιμοποίηση του ενός ως του άλλου λειτουργεί σε στενές περιπτώσεις και σπάνια αξίζει τη σύζευξη. Η απενεργοποίηση της επαλήθευσης ώστε να ταιριάξει ένα κοινόχρηστο πιστοποιητικό δεν είναι σχέδιο διαχωρισμού· αφαιρεί τον έλεγχο που έδινε νόημα στο διαπιστευτήριο.
Κρατήστε τις δύο αποθήκες ανεξάρτητες και γράψτε ποια αρχή εκδίδει καθεμία. Όταν περιστρέφεται η μία, η άλλη δεν θα έπρεπε να χρειάζεται αλλαγή, και αν χρειάζεται, η σύζευξη είναι αυτό που πρέπει να διορθωθεί.
Αποφασίστε πού ζει η διαχείριση
Η διαχειριστική διεπαφή του VPN ανήκει σε διαδρομή διαχείρισης, ποτέ στον δημόσιο ακροατή, ακόμη και όταν ο κεντρικός υπολογιστής εξυπηρετεί ήδη το διαδίκτυο. Ένας διακομιστής ιστού στη θύρα 443 δεν συνεπάγεται ότι η κονσόλα των ομότιμων πρέπει να είναι προσβάσιμη από οπουδήποτε, και η κονσόλα είναι συνήθως ο στόχος μεγαλύτερης αξίας. Δέστε την σε διεύθυνση βρόχου ή διαχείρισης, περιορίστε την κατά προέλευση και κρατήστε μια διαδρομή ανάκτησης που δεν εξαρτάται από το ότι η σήραγγα είναι ενεργή. Η διαδρομή ανάκτησης έχει σημασία γιατί η συνηθισμένη αποτυχία είναι να κλειδώσετε τον εαυτό σας έξω ενώ διορθώνετε το κλείδωμα.
Γράψτε στενούς κανόνες τείχους προστασίας, έναν ανά ακροατή, ονομάζοντας τη διεπαφή ή τον λογαριασμό υπηρεσίας όπου το υποστηρίζει η πλατφόρμα. Οι ευρείς κανόνες που ανοίγουν τον κεντρικό υπολογιστή επειδή ο ιστότοπος χρειάζεται το 443 είναι ο τρόπος με τον οποίο οι διαχειριστικές διεπαφές καταλήγουν σε ευρετήρια σαρωτών.
Ελέγξτε αυτούς τους κανόνες με τον πίνακα ακροατών κάθε φορά που προστίθεται υπηρεσία. Ο έλεγχος είναι φθηνός και πιάνει τον κανόνα που πρόσθεσε κάποιος στις δύο τα ξημερώματα.
Αποφασίστε τι να κάνετε όταν τα δύο ανταγωνίζονται
Το να μοιράζεστε έναν κεντρικό υπολογιστή σημαίνει να μοιράζεστε CPU, μνήμη, περιγραφείς αρχείων και εύρος ζώνης, και ο αμφισβητούμενος πόρος δεν είναι πάντα ο προφανής. Ένας πολυάσχολος ιστότοπος μπορεί να γεμίσει τον πίνακα συνδέσεων, να εξαντλήσει τις θέσεις εργασίας ή να πιέσει την ουρά του δίσκου τόσο ώστε να κολλήσει η καταγραφή του VPN. Παρατηρήστε τη χρήση ανά υπηρεσία αντί για τα σύνολα του κεντρικού υπολογιστή, γιατί ένας μέσος όρος κρύβει ποια διεργασία λιμοκτονεί. Αν ένα φορτίο εργασίας διαταράσσει επανειλημμένα το άλλο, απομονώστε τα αντί να συντονίζετε γύρω από το σύμπτωμα.
Η απομόνωση μπορεί να είναι ένα κοντέινερ, ένα όριο cgroup, μια ξεχωριστή ουρά ή ένας δεύτερος κεντρικός υπολογιστής, και η σωστή επιλογή εξαρτάται από το ποιος πόρος ανταγωνίζεται. Μια αλλαγή θύρας δεν διορθώνει τίποτα εδώ, και ένα μεγαλύτερο στιγμιότυπο δεν διορθώνει τίποτα αν το όριο είναι μία κορεσμένη ουρά. Αποφασίστε με μια μέτρηση: ονομάστε τον πόρο, φορτώστε τον και μετά διαλέξτε τη μικρότερη απομόνωση που αφαιρεί τον ανταγωνισμό.
Επαληθεύστε από έξω και μετά ξανά μετά από επανεκκίνηση
Δοκιμάστε από μια συσκευή που δεν βρίσκεται στο δικό της δίκτυο του κεντρικού υπολογιστή: φορτώστε τον ιστότοπο, σηκώστε τη σήραγγα και φτάστε σε έναν πόρο που την απαιτεί. Στη συνέχεια επανεκκινήστε κάθε υπηρεσία χωριστά και επαναλάβετε την άλλη δοκιμή, γιατί μια επανεκκίνηση είναι όταν μια ρύθμιση κοινόχρηστου ακροατή χάνει τη σειρά της. Αν το VPN ξεκινήσει πριν από τον διακομιστή ιστού που κατέχει την κοινόχρηστη θύρα, ο μηχανισμός κοινής χρήσης μπορεί να μην προσαρτηθεί ποτέ, και το σύμπτωμα είναι μια σήραγγα που δούλευε χθες. Κάντε την εξάρτηση ρητή στη σειρά των μονάδων.
Στη συνέχεια επιβεβαιώστε τα όρια: ο ιστότοπος απαντά στη θύρα του, το VPN απαντά στη δική του, και η διαχειριστική διεπαφή απαντά μόνο από τη διαδρομή διαχείρισης. Καταγράψτε το αποτέλεσμα δίπλα στον πίνακα ακροατών με την ημερομηνία. Ένας κεντρικός υπολογιστής που περνά και τους τρεις ελέγχους μετά από επανεκκίνηση είναι ένας κεντρικός υπολογιστής που μπορείτε να παραδώσετε σε κάποιον άλλο χωρίς ενημέρωση.