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

Ο μύθος: το VPN έχει ένα ρολόι

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

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

Διαβάστε την προέλευση πριν από την τιμή

Πριν συγκρίνετε τιμές, προσδιορίστε ποιος παρήγαγε καθεμία και ποιο πεδίο είναι. Ένα μήνυμα syslog φέρει χρονική σήμανση από την προέλευση, όπως περιγράφει το RFC 5424, και η μορφή μπορεί επίσης να φέρει πληροφορίες ποιότητας χρόνου που περιγράφουν συγχρονισμό και ακρίβεια. Η ίδια μορφή επιτρέπει στην προέλευση να μη στείλει καθόλου χρονική σήμανση όταν δεν μπορεί να διαβάσει την ώρα συστήματος, κάτι που από μόνο του είναι χρήσιμο σήμα.

journalctl -o short-iso --utc -n 20
logger -t vpn-check "test event"

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

Σταματήστε αν δεν μπορείτε να πείτε ποιο στοιχείο έγραψε ένα πεδίο. Η σύγκρισή του με οτιδήποτε άλλο είναι εικασία.

Η εμφάνιση ζώνης ώρας δεν είναι διαφορετική στιγμή

Η ίδια στιγμή που εμφανίζεται ως 10:00Z και ως 18:00+08:00 δεν είναι ασυμφωνία, και το να τη θεωρήσετε τέτοια χάνει μισή μέρα. Μετατρέψτε και τις δύο σε UTC πριν συγκρίνετε, και κρατήστε το αρχικό κείμενο δίπλα στη μετατροπή. Ένα δεκαδικό κλάσμα στη μία πλευρά και ακέραια δευτερόλεπτα στην άλλη δεν είναι επίσης σύγκρουση. Η ακρίβεια δεν είναι ορθότητα: μια τιμή με χιλιοστά του δευτερολέπτου μπορεί ακόμη να προέρχεται από ρολόι που απέχει λεπτά.

date -u +%FT%TZ
timedatectl

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

Συσχετίστε χωρίς να ξαναγράψετε τα αποδεικτικά

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

chronyc tracking
journalctl --utc -u openvpn-client@work -n 50 --no-pager

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

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

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