Πώς ένας δημόσιος διακομιστής μεσολάβησης φτάνει σε έναν ιδιωτικό προορισμό μέσω VPN
Ένας αντίστροφος διακομιστής μεσολάβησης μπορεί να σερβίρει έναν δημόσιο ιστότοπο από έναν ιδιωτικό προορισμό μέσω σήραγγας. Διαχωρίστε τη δημοσίευση, τα τελικά σημεία TLS και την αποδοχή χρηστών πριν τον εκθέσετε.
Η δημοσίευση ενός ιστότοπου μέσω σήραγγας και η παροχή πρόσβασης VPN στους χρήστες είναι δύο διαφορετικές ρυθμίσεις που μοιράζονται ένα καλώδιο. Στην πρώτη, ένας δημόσιος αντίστροφος διακομιστής μεσολάβησης δέχεται το αίτημα του επισκέπτη και το προωθεί μέσω της σήραγγας σε έναν προορισμό που κανείς δεν μπορεί να φτάσει άμεσα. Στη δεύτερη, ο χρήστης πρέπει να συνδεθεί στο VPN πριν η εφαρμογή γίνει καθόλου προσβάσιμη. Η ανάμειξη των δύο περιγραφών είναι ο τρόπος με τον οποίο ένα ιδιωτικό backend καταλήγει δημόσια εκτεθειμένο.
Δύο μοντέλα που μοιάζουν ίδια σε ένα διάγραμμα
Σχεδιάστε τα βέλη πριν επιλέξετε οτιδήποτε. Ένα μοντέλο δημόσιας δημοσίευσης πηγαίνει από το πρόγραμμα περιήγησης στον διακομιστή μεσολάβησης μέσω HTTPS, μετά από τον διακομιστή μεσολάβησης στον προορισμό μέσω της σήραγγας, και ο προορισμός δεν δέχεται ποτέ σύνδεση από το διαδίκτυο. Ένα μοντέλο μόνο VPN πηγαίνει από τον πελάτη στην πύλη, και η εφαρμογή είναι προσβάσιμη μόνο από μέσα σε αυτή τη διαδρομή. Ο φορητός υπολογιστής του χρήστη βρίσκεται στο ίδιο δίκτυο με την εφαρμογή, και αυτό είναι όλο το νόημα αυτού του μοντέλου.
Τα μοντέλα διαφέρουν ως προς το ποιος πιστοποιεί και πού. Στο πρώτο, ο διακομιστής μεσολάβησης είναι η δημόσια είσοδος και προωθεί όποιο αίτημα φτάνει, ακόμη και εχθρικό, σύμφωνα με την πολιτική που έχει ρυθμιστεί σε αυτόν. Στο δεύτερο, η ίδια η προσβασιμότητα είναι η πύλη, η οποία είναι μια χονδρική αλλά πραγματική αποδοχή.
Πού σταματά το TLS και τι αποδεικνύει στην πραγματικότητα
Το TLS μεταξύ προγράμματος περιήγησης και διακομιστή μεσολάβησης προστατεύει αυτό το άλμα και επιτρέπει στο πρόγραμμα περιήγησης να επαληθεύσει τον ιστότοπο που σκόπευε να επισκεφθεί. Αν ο διακομιστής μεσολάβησης τερματίσει το TLS, το αίτημα υπάρχει σε αναγνώσιμη μορφή μέσα σε αυτή τη διεργασία πριν προωθηθεί. Μια δεύτερη συνεδρία TLS προς τον προορισμό μπορεί να προστατεύσει το επόμενο άλμα και να επαληθεύσει ξεχωριστά το τελικό σημείο της εφαρμογής. Καμία από τις δύο συνεδρίες δεν αποφασίζει ποιος άνθρωπος επιτρέπεται να χρησιμοποιεί την εφαρμογή. Ένα πιστοποιητικό μπαλαντέρ στον διακομιστή μεσολάβησης δεν επεκτείνεται ούτε σε αυτό το δεύτερο άλμα.
Αυτό είναι το κομμάτι που οι άνθρωποι συμπιέζουν στη λέξη κρυπτογραφημένο. Η εμπιστευτικότητα, η ακεραιότητα και η ταυτότητα του διακομιστή είναι ιδιότητες μεταφοράς· η εξουσιοδότηση είναι απόφαση εφαρμογής. Μια ιδιωτική διεύθυνση πίσω από σήραγγα αλλάζει ποιος μπορεί να φτάσει στην υποδοχή, όχι ποιος επιτρέπεται να συνδεθεί αφού το κάνει.
Εμπιστευτείτε τις προωθημένες κεφαλίδες μόνο από τον διακομιστή μεσολάβησης
Οι εφαρμογές που καταγράφουν ή εξουσιοδοτούν με βάση τη διεύθυνση του πελάτη συνήθως διαβάζουν μια κεφαλίδα που προσθέτει ο διακομιστής μεσολάβησης. Αυτή η κεφαλίδα είναι απλώς κείμενο, επομένως οτιδήποτε μπορεί να φτάσει άμεσα στον προορισμό μπορεί να διεκδικήσει όποια διεύθυνση θέλει. Περιορίστε τον προορισμό ώστε μόνο η διεύθυνση σήραγγας του διακομιστή μεσολάβησης να μπορεί να συνδεθεί, και ρυθμίστε την εφαρμογή να δέχεται την κεφαλίδα μόνο από αυτή τη διεύθυνση.
curl -s -o /dev/null -w '%{http_code}
' -H 'X-Forwarded-For: 203.0.113.9' http://172.20.5.40/
Αν αυτό το αίτημα πετύχει από κεντρικό υπολογιστή που δεν είναι ο διακομιστής μεσολάβησης, ο προορισμός εμπιστεύεται μια κεφαλίδα που θα έπρεπε να αγνοεί. Διορθώστε τον ακροατή πριν αγγίξετε την εφαρμογή. Μια άρνηση είναι πολύ καλύτερο αποτέλεσμα από μια γραμμή καταγραφής που φέρει πλαστή διεύθυνση.
Κρατήστε τον προορισμό προσβάσιμο από ακριβώς ένα σημείο
Δέστε τον ακροατή του προορισμού στη διεύθυνση της σήραγγας ή φράξτε τον με τείχος προστασίας προς τον διακομιστή μεσολάβησης, και μετά επιβεβαιώστε τι ακούει πραγματικά. Μια υπηρεσία που ξεκίνησε με δέσμευση μπαλαντέρ δέχεται συνδέσεις σε κάθε διεπαφή που έχει ο κεντρικός υπολογιστής, συμπεριλαμβανομένης μιας που ξεχάσατε ότι είναι δρομολογήσιμη. Ο πίνακας ακρόασης είναι η βασική αλήθεια, όχι το αρχείο ρυθμίσεων που σκοπεύατε να εφαρμόσετε. Αν η δέσμευση μπαλαντέρ είναι σκόπιμη, το τείχος προστασίας πρέπει και πάλι να είναι το στοιχείο που τη στενεύει.
ss -ltnp | grep -E ':(80|443)'
Κάντε την ίδια επισκόπηση για τις διεπαφές διαχείρισης, που είναι η συνήθης τυχαία έκθεση. Έπειτα γράψτε τα δύο μοντέλα χωριστά: τον δημόσιο ιστότοπο μέσω του διακομιστή μεσολάβησης και τη διεπαφή διαχείρισης που είναι προσβάσιμη μόνο μέσω της σήραγγας. Η φράση ότι ο διακομιστής είναι πίσω από VPN δεν λέει τίποτα από αυτά.