Πού να παρακολουθήσετε την κίνηση ενός πελάτη OpenVPN στην πύλη
Μια πύλη VPN με δρομολόγηση προωθεί πακέτα χωρίς να ανοίγει υποδοχές γι' αυτά. Επιλέξτε conntrack, περιορισμένη σύλληψη της σήραγγας ή αρχεία καταγραφής του μεσολαβητή ανάλογα με το πού τρέχει η ροή.
Θέλετε να μάθετε ποιους προορισμούς φτάνει ένας συνδεδεμένος πελάτης, οπότε ανοίγετε ένα κέλυφος στον διακομιστή VPN και πληκτρολογείτε ss. Δεν εμφανίζεται τίποτα χρήσιμο και το συμπέρασμα ότι η σήραγγα είναι χαλασμένη έρχεται λίγο πολύ εύκολα. Μια πύλη OpenVPN με δρομολόγηση προωθεί τα πακέτα του πελάτη· δεν τερματίζει τις συνδέσεις TCP τους και δεν κατέχει υποδοχές γι' αυτές. Η απόδειξη ζει αλλού και το πού εξαρτάται από το πώς αντιμετωπίζεται η κίνηση αφού βγει από τη σήραγγα.
Αποφασίστε ποια διάταξη κοιτάτε
Δύο συνηθισμένα σχήματα παράγουν εντελώς διαφορετικές αποδείξεις. Μια πύλη δρομολόγησης αποκαψυκλώνει, προωθεί και ίσως κάνει NAT προέλευσης, οπότε η σύνδεση του πελάτη συνεχίζει να υπάρχει από άκρη σε άκρη χωρίς τοπική υποδοχή.
Ένας μεσολαβητής τερματίζει την κίνηση: δέχεται τη σύνδεση και μετά ανοίγει τη δική του ανάντη σύνδεση. Σε αυτή τη διάταξη υπάρχουν δύο συνδέσεις για ένα αίτημα και η συσχέτιση μεταξύ τους υπάρχει μόνο στις δικές του εγγραφές. Το να ξέρετε ποια από τις δύο αναπτύξατε καθορίζει αν πρέπει να διαβάζετε την κατάσταση ροών του πυρήνα ή τα αρχεία της εφαρμογής.
Η περισσότερη σύγχυση προέρχεται από εικασίες. Επιβεβαιώστε το σχήμα πριν επιλέξετε το εργαλείο. Διαβάστε πρώτα τη διαμόρφωση του διακομιστή για οδηγία μεσολαβητή, γιατί η παρουσία της αλλάζει κάθε επόμενο βήμα. Χωρίς αυτήν, η διαδρομή των πακέτων είναι δρομολόγηση και η κατάσταση ροών του πυρήνα είναι η απόδειξή σας.
Συνδέστε πρώτα τη διεύθυνση με μια συνεδρία
Ξεκινήστε από την κατάσταση συνεδριών του διακομιστή και εντοπίστε την τρέχουσα εσωτερική διεύθυνση του πελάτη. Οι διευθύνσεις της δεξαμενής ανακυκλώνονται, οπότε μια διεύθυνση μόνη της είναι μίσθωση, όχι πρόσωπο.
Καταγράψτε μαζί την ώρα και την πιστοποιημένη ταυτότητα και σημειώστε αν ένα ολόκληρο LAN κρύβεται πίσω από αυτόν τον πελάτη. Αν το απομακρυσμένο άκρο δρομολογεί υποδίκτυο, οι εσωτερικές διευθύνσεις που βλέπετε μπορεί να είναι αρχικοί κεντρικοί υπολογιστές ή μεταφρασμένες.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40Αυτό το ζεύγος απαντά δύο ερωτήματα μαζί: ποιο πρόθεμα εξυπηρετεί η διεπαφή της σήραγγας και ποια συνεδρία ήταν ενεργή στο διάστημα που σας ενδιαφέρει. Κάντε το πριν ερμηνεύσετε οποιαδήποτε εγγραφή ροής, γιατί μια πειστική πλειάδα κολλημένη στη λάθος συνεδρία είναι χειρότερη από καθόλου απόδειξη.
Διαβάστε τον πίνακα ροών σε πύλη δρομολόγησης
Όταν η διεύθυνση και το διάστημα έχουν καθοριστεί, μια λίστα μόνο για ανάγνωση των παρακολουθούμενων συνδέσεων δείχνει τι προωθεί η πύλη γι' αυτήν. Φιλτράρετε στην αρχική πηγή ώστε να μη διαβάζετε όλο τον πίνακα.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37Κάθε εγγραφή κρατά δύο πλειάδες, αρχική και απάντησης, που είναι οι δύο κατευθύνσεις μιας ροής και όχι δύο εφαρμογές. Σε διαδρομή NAT προέλευσης η αρχική πλειάδα κρατά τη διεύθυνση της σήραγγας ενώ η πλευρά της απάντησης δείχνει τη μεταφρασμένη διεύθυνση της πύλης, και αυτό ακριβώς κάνει την έξοδο να φαίνεται λάθος με την πρώτη ματιά.
Αντιμετωπίστε τη λίστα ως ζωντανή κατάσταση και όχι ως ιστορικό. Οι σύντομες ροές μπορεί να έχουν ήδη λήξει, η κίνηση χωρίς παρακολούθηση δεν εμφανίζεται ποτέ και ένας διαφορετικός χώρος ονομάτων δικτύου δείχνει διαφορετικό πίνακα. Η αναφορά του conntrack τεκμηριώνει τα φίλτρα και την έξοδο δύο κατευθύνσεων.
Μία περιορισμένη σύλληψη για επιβεβαίωση της ανάγνωσης
Αν η διεπαφή της σήραγγας είναι ορατή εκεί που κοιτάτε, μία περιορισμένη σύλληψη καθορίζει αν τα πακέτα που εντοπίσατε είναι αυτά στο καλώδιο. Κρατήστε το φίλτρο στενό και το όριο πακέτων μικρό.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'Συγκρίνετε χρονικές σφραγίδες, πρωτόκολλο και θύρες με την εγγραφή ροής και με το αίτημα που κάνατε ως δοκιμή. Μια σύλληψη που ελήφθη μετά το NAT δείχνει μόνο τη δημόσια διεύθυνση της πύλης, ενώ η πλευρά της σήραγγας μπορεί ακόμη να δείχνει του πελάτη, και αυτή η διαφορά είναι πληροφορία και όχι ασυνέπεια.
Αν η διεπαφή δεν βλέπει τίποτα, ελέγξτε τη διαδρομή δεδομένων πριν συμπεράνετε ότι ο πελάτης είναι αδρανής: η κίνηση μεταξύ πελατών και μερικές διαδρομές εκφόρτωσης δεν περνούν ποτέ από το σημείο που παρακολουθείτε.
Αρχεία μεσολαβητή και τα όρια αυτού που είδατε
Όταν ένας μεσολαβητής βρίσκεται στη διαδρομή, οι ανάντη υποδοχές του είναι ορατές στον πίνακα υποδοχών αλλά δεν αντιστοιχίζονται ένα προς ένα στους πελάτες VPN, ειδικά με ομαδοποίηση ή πολυπλεξία. Χρησιμοποιήστε το διαμορφωμένο αρχείο συναλλαγών του μεσολαβητή για να συσχετίσετε ταυτότητα πελάτη, προορισμό, χρονική σφραγίδα και οποιοδήποτε αναγνωριστικό αιτήματος καταγράφει.
Ελέγξτε τη διαμόρφωση καταγραφής της αναπτυγμένης έκδοσης αντί να υποθέσετε ότι κάθε αίτημα καταγράφεται εξ ορισμού.
Τέλος, να είστε ακριβείς ως προς το εύρος. Μια διεύθυνση προορισμού και μια θύρα είναι μεταδεδομένα, όχι URL και όχι περιεχόμενο σελίδας, γιατί η εσωτερική συνεδρία HTTPS κρατά τη δική της προστασία ανεξάρτητα από τη σήραγγα. Αναφέρετε τι παρατηρήσατε, από ποιο σημείο παρατήρησης και σε ποια ώρα.