Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου
Πώς να βεβαιωθείτε ότι η ώρα αυτή καθαυτή δεν λέει ψέματα, αν έχετε ένα εκατομμύριο μεγάλες και μικρές συσκευές που αλληλεπιδρούν μέσω TCP/IP; Άλλωστε, καθεμία από αυτές έχει ένα ρολόι και η ώρα πρέπει να είναι σωστή σε όλες. Αυτό το πρόβλημα δεν μπορεί να αποφευχθεί χωρίς ntp.

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

Είναι επίσης πιθανό ένας εισβολέας να προσπαθήσει σκόπιμα να μειώσει τον χρόνο μέσω επίθεσης MiTM ή DDOS. Σε μια τέτοια περίπτωση, οτιδήποτε μπορεί να συμβεί:

  • Οι κωδικοί πρόσβασης των λογαριασμών χρηστών θα λήξουν.
  • Τα πιστοποιητικά X.509 θα λήξουν.
  • Ο έλεγχος ταυτότητας δύο παραγόντων TOTP θα σταματήσει να λειτουργεί.
  • Τα αντίγραφα ασφαλείας θα γίνουν «ξεπερασμένα» και το σύστημα θα τα διαγράψει.
  • Το DNSSec θα σπάσει.

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

Σπάστε το NTP σε 25 λεπτά

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

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

Δυστυχώς, αυτή η μέθοδος δεν δικαιολόγησε τον εαυτό της για έναν απλό λόγο - δεν κλιμακώνεται καλά. Απαιτείται χειροκίνητη ρύθμιση παραμέτρων στην πλευρά του πελάτη ανάλογα με τον διακομιστή. Αυτό σημαίνει ότι δεν μπορείτε απλώς να προσθέσετε έναν άλλο πελάτη. Εάν αλλάξει κάτι στον διακομιστή NTP, πρέπει να επαναρυθμίσετε όλους τους πελάτες.

Στη συνέχεια, επινόησαν το AutoKey, αλλά αμέσως εντοπίστηκαν ορισμένα σοβαρά τρωτά σημεία στον ίδιο τον σχεδιασμό του αλγορίθμου και έπρεπε να εγκαταλειφθεί. Το όλο θέμα είναι ότι ο αρχικός αριθμός (seed) περιέχει μόνο 32 bit, είναι πολύ μικρός και δεν περιέχει αρκετή υπολογιστική πολυπλοκότητα για μια επίθεση brute-force.

  • Το αναγνωριστικό κλειδιού είναι ένα συμμετρικό κλειδί 32-bit.
  • MAC (κωδικός ελέγχου ταυτότητας μηνύματος) — άθροισμα ελέγχου του πακέτου NTP.

Το αυτόματο κλειδί υπολογίζεται ως εξής.

Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)

Όπου H() είναι μια κρυπτογραφική συνάρτηση κατακερματισμού.

Η ίδια συνάρτηση χρησιμοποιείται για τον υπολογισμό του αθροίσματος ελέγχου του πακέτου.

MAC=H(Autokey||NTP packet)

Αποδεικνύεται ότι ολόκληρη η ακεραιότητα των ελέγχων πακέτων βασίζεται στην αυθεντικότητα των cookies. Αφού τα καταγράψετε, μπορείτε να επαναφέρετε το αυτόματο κλειδί και στη συνέχεια να πλαστογραφήσετε το MAC. Ωστόσο, ο διακομιστής NTP χρησιμοποιεί τον αρχικό αριθμό (seed) κατά τη δημιουργία τους. Εδώ βρίσκεται η παγίδα.

Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))

Η συνάρτηση MSB_32 αποκόπτει 5 ανώτερα bit από το αποτέλεσμα υπολογισμού του hash md32. Το cookie του πελάτη δεν αλλάζει όσο οι παράμετροι του διακομιστή παραμένουν αμετάβλητες. Στη συνέχεια, ο εισβολέας χρειάζεται μόνο να επαναφέρει τον αρχικό αριθμό και να αποκτήσει τη δυνατότητα να δημιουργεί cookies ανεξάρτητα.

Αρχικά, συνδεθείτε στον διακομιστή NTP ως πελάτης και λάβετε το cookie. Στη συνέχεια, ο εισβολέας ανακτά τον αρχικό αριθμό χρησιμοποιώντας έναν απλό αλγόριθμο.

Ένας αλγόριθμος για την επίθεση στον αρχικό αριθμό χρησιμοποιώντας τη μέθοδο της ωμής βίας.

   for i=0:2^32 − 1 do
        Ci=H(Server-IP||Client-IP||0||i)
        if Ci=Cookie then
            return i
        end if 
    end for

Οι διευθύνσεις IP είναι γνωστές, επομένως το μόνο που απομένει είναι να δημιουργηθούν 2^32 hashes μέχρι το cookie που δημιουργήθηκε να ταιριάζει με αυτό που ελήφθη από τον διακομιστή NTP. Σε έναν τυπικό οικιακό σταθμό με Intel Core i5, αυτό θα διαρκέσει 25 λεπτά.

NTS — νέο Αυτόματο Κλειδί

Ήταν αδύνατο να ανεχτούμε τέτοια κενά ασφαλείας στο Autokey, και το 2012, μια νέα έκδοση πρωτόκολλο. Προκειμένου να θέσουν σε κίνδυνο το όνομα, αποφάσισαν να το μετονομάσουν, οπότε το Autokey v.2 ονομάστηκε Network Time Security.

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

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

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Το NTS αποτελείται από δύο πρωτόκολλα κατώτερου επιπέδου: το Network Time Security Key Exchange (NTS-KE), το οποίο αρχικοποιεί μια ασφαλή σύνδεση μέσω TLS, και το NTPv4, την τελευταία ενσάρκωση του πρωτοκόλλου NTP. Περισσότερα για αυτό παρακάτω.

Πρώτο στάδιο - NTS KE

Σε αυτό το στάδιο, ο υπολογιστής-πελάτης NTP ξεκινά μια συνεδρία TLS 1.2/1.3 μέσω ξεχωριστής σύνδεσης TCP με τον διακομιστή NTS KE. Κατά τη διάρκεια αυτής της συνεδρίας, συμβαίνουν τα εξής.

  • Τα μέρη καθορίζουν τις παραμέτρους ΑΕΑΔ αλγόριθμος για το δεύτερο στάδιο.
  • Τα μέρη ορίζουν ένα δεύτερο πρωτόκολλο χαμηλότερου επιπέδου, αλλά προς το παρόν υποστηρίζεται μόνο το NTPv4.
  • Τα μέρη καθορίζουν τη διεύθυνση IP και τη θύρα του διακομιστή NTP.
  • Ο διακομιστής NTS KE εκδίδει cookies στο NTPv4.
  • Τα μέρη εξάγουν ένα ζεύγος συμμετρικών κλειδιών (C2S και S2C) από το υλικό του cookie.

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

Στάδιο 2 - NTP υπό προστασία NTS

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

  • Η επέκταση μοναδικού αναγνωριστικού περιέχει μια τυχαία τιμή nonce για την αποτροπή επιθέσεων επανάληψης.
  • Η επέκταση cookie NTS περιέχει ένα από τα cookie NTP που διατηρεί ο πελάτης. Δεδομένου ότι μόνο ο πελάτης έχει τα συμμετρικά κλειδιά AAED C2S και S2C, ο διακομιστής NTP πρέπει να τα εξαγάγει από το υλικό των cookie.
  • Η επέκταση NTS Cookie Placeholder είναι ένας τρόπος για έναν υπολογιστή-πελάτη να ζητήσει πρόσθετα cookies από τον διακομιστή. Αυτή η επέκταση είναι απαραίτητη για να διασφαλιστεί ότι η απόκριση του διακομιστή NTP δεν θα είναι πολύ μεγαλύτερη από το αίτημα. Αυτό βοηθά στην αποτροπή επιθέσεων ενίσχυσης.
  • Η επέκταση NTS Authenticator και Encrypted Extension Fields περιέχει τον κρυπτογράφο του αλγορίθμου AAED με το κλειδί C2S, την κεφαλίδα NTP, τις χρονικές σημάνσεις και το EF που αναφέρθηκαν παραπάνω ως υποστηρικτικά δεδομένα. Χωρίς αυτήν την επέκταση, είναι δυνατή η πλαστογράφηση χρονικών σημάνσεων.

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Αφού λάβει ένα αίτημα από τον πελάτη, ο διακομιστής επαληθεύει την αυθεντικότητα του πακέτου NTP. Για να το κάνει αυτό, πρέπει να αποκρυπτογραφήσει τα cookies, να εξαγάγει τον αλγόριθμο AAED και τα κλειδιά. Αφού ελέγξει με επιτυχία την εγκυρότητα του πακέτου NTP, ο διακομιστής απαντά στον πελάτη με την ακόλουθη μορφή.

  • Η επέκταση μοναδικού αναγνωριστικού αντιγράφει το αίτημα του πελάτη, ένα μέτρο κατά των επιθέσεων επανάληψης.
  • Επέκταση cookie NTS περισσότερα cookies για να συνεχιστεί η συνεδρία.
  • Η επέκταση NTS Authenticator και Encrypted Extension Fields περιέχει έναν κρυπτογράφο AEAD με κλειδί S2C.

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

NTPSec

Τι το ιδιαίτερο έχει το NTP; Παρά το γεγονός ότι ο συγγραφέας του έργου, Dave Mills, προσπάθησε να τεκμηριώσει τον κώδικά του όσο το δυνατόν καλύτερα, ένας σπάνιος προγραμματιστής θα είναι σε θέση να κατανοήσει τις περιπλοκές των αλγορίθμων συγχρονισμού χρόνου πριν από 35 χρόνια. Μέρος του κώδικα γράφτηκε πριν από την εποχή του POSIX και το Unix API ήταν πολύ διαφορετικό από αυτό που χρησιμοποιείται σήμερα. Επιπλέον, απαιτείται γνώση στατιστικών για τον καθαρισμό του σήματος από παρεμβολές σε θορυβώδεις γραμμές.

Το NTS δεν ήταν η πρώτη προσπάθεια επιδιόρθωσης του NTP. Αφού οι επιτιθέμενοι έμαθαν να εκμεταλλεύονται τα τρωτά σημεία του NTP για να ενισχύσουν τις επιθέσεις DDoS, κατέστη σαφές ότι χρειάζονταν ριζικές αλλαγές. Και ενώ τα προσχέδια του NTS προετοιμάζονταν και ολοκληρώνονταν, το Εθνικό Ίδρυμα Επιστημών των ΗΠΑ διέθεσε επειγόντως μια επιχορήγηση για τον εκσυγχρονισμό του NTP στα τέλη του 2014.

Επικεφαλής της ομάδας εργασίας ήταν κανείς άλλος από τον Έρικ Στίβεν Ρέιμοντ — ένας από τους ιδρυτές και τους πυλώνες της κοινότητας Ανοικτού Κώδικα και ο συγγραφέας του βιβλίου Καθεδρικός Ναός και ΠαζάριΤο πρώτο πράγμα που προσπάθησαν να κάνουν ο Eric και οι σύντροφοί του ήταν να μεταφέρουν τον κώδικα NTP από την πλατφόρμα BitKeeper στο git, αλλά δεν τα κατάφερε. Ο επικεφαλής του έργου Harlan Stenn ήταν αντίθετος με αυτήν την απόφαση και οι διαπραγματεύσεις κατέληξαν σε αδιέξοδο. Στη συνέχεια, αποφασίστηκε η διαμοιρασμός του κώδικα του έργου και έτσι δημιουργήθηκε το NTPSec.

Με ένα στέρεο υπόβαθρο, συμπεριλαμβανομένου του GPSD, μαθηματικό υπόβαθρο και μαγική ικανότητα ανάγνωσης αρχαίου κώδικα, ο Eric Raymond ήταν ο χάκερ που έφερε σε πέρας ένα τέτοιο έργο. Η ομάδα βρήκε έναν ειδικό στη μετεγκατάσταση κώδικα και σε μόλις 10 εβδομάδες το NTP τακτοποιημένοστο GitLab. Η δουλειά άρχισε να βράζει.

Η ομάδα του Eric Raymond αντιμετώπισε το πρόβλημα όπως θα αντιμετώπιζε ο Auguste Rodin ένα κομμάτι βράχου. Αφαιρώντας 175 KLOC παλιού κώδικα, κατάφεραν να μειώσουν σημαντικά την επιφάνεια επίθεσης, κλείνοντας πολλά κενά ασφαλείας.

Ακολουθεί μια ελλιπής λίστα με τα άτομα που επηρεάστηκαν:

  • Μη τεκμηριωμένο, παρωχημένο, ξεπερασμένο ή χαλασμένο ρολόι αναφοράς.
  • Αχρησιμοποίητη βιβλιοθήκη ICS.
  • λιμπόπτες/αυτογέννητα.
  • Παλιός κώδικας για τα Windows.
  • ntpdc.
  • Αυτόματο κλειδί.
  • Κώδικας C ntpq ξαναγραμμένος σε Python.
  • Κώδικας C sntp/ntpdig ξαναγραμμένος σε Python.

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

  • Η προστασία του κώδικα από υπερχειλίσεις buffer έχει ενισχυθεί σημαντικά. Για την αποτροπή υπερχειλίσεων buffer, όλες οι μη ασφαλείς συναρτήσεις συμβολοσειράς (strcpy / strcat / strtok / sprintf / vsprintf / gets) έχουν αντικατασταθεί με ασφαλείς εκδόσεις που εφαρμόζουν περιορισμό μεγέθους buffer.
  • Προστέθηκε υποστήριξη NTS.
  • Η ακρίβεια των χρονικών βημάτων έχει δεκαπλασιαστεί μέσω της φυσικής σύνδεσης υλικού. Αυτό συμβαίνει επειδή τα σύγχρονα ρολόγια υπολογιστών έχουν γίνει πολύ πιο ακριβή από αυτά που υπήρχαν όταν εισήχθη για πρώτη φορά το NTP. Οι μεγαλύτεροι ωφελούμενοι από αυτό είναι το GPSDO και οι αποκλειστικοί ραδιοφωνικοί σταθμοί χρόνου.
  • Ο αριθμός των γλωσσών προγραμματισμού έχει μειωθεί σε δύο. Αντί για Perl, awk, ακόμη και σενάρια S, πλέον χρησιμοποιείται αποκλειστικά Python. Αυτό επιτρέπει περισσότερες ευκαιρίες για επαναχρησιμοποίηση κώδικα.
  • Αντί για τα χάλια των σεναρίων του autotools, το έργο άρχισε να χρησιμοποιεί ένα σύστημα δημιουργίας λογισμικού. WAF.
  • Ενημερώσαμε και αναδιοργανώσαμε την τεκμηρίωση του έργου. Από μια ασυνεπή και μερικές φορές αρχαϊκή συλλογή εγγράφων, δημιουργήσαμε αρκετά ικανοποιητική τεκμηρίωση. Κάθε διακόπτης γραμμής εντολών και κάθε οντότητα διαμόρφωσης έχει πλέον μια ενιαία έκδοση της αλήθειας. Επιπλέον, οι σελίδες εγχειριδίου και η τεκμηρίωση ιστού δημιουργούνται πλέον από τα ίδια βασικά αρχεία.

Το NTPSec είναι διαθέσιμο για μια σειρά από διανομές Linux. Η τελευταία σταθερή έκδοση είναι προς το παρόν η 1.1.8, ενώ για το Gentoo Linux είναι η προτελευταία.

(1:696)$ sudo emerge -av ntpsec
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R    ] net-misc/ntpsec-1.1.7-r1::gentoo  USE="samba seccomp -debug -doc -early -gdb -heat -libbsd -nist -ntpviz -rclock_arbiter -rclock_generic -rclock_gpsd -rclock_hpgps -rclock_jjy -rclock_local -rclock_modem -rclock_neoclock -rclock_nmea -rclock_oncore -rclock_pps -rclock_shm -rclock_spectracom -rclock_trimble -rclock_truetime -rclock_zyfer -smear -tests" PYTHON_TARGETS="python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]

Chrony

Υπήρξε μια άλλη προσπάθεια αντικατάστασης του παλιού NTP με ένα πιο ασφαλές ανάλογο. Το Chrony, σε αντίθεση με το NTPSec, γράφεται από την αρχή και έχει σχεδιαστεί για να λειτουργεί αξιόπιστα σε ένα ευρύ φάσμα συνθηκών, όπως ασταθείς συνδέσεις δικτύου, μερική διαθεσιμότητα ή υπερφόρτωση δικτύου και αλλαγές θερμοκρασίας. Επιπλέον, το chrony έχει και άλλα πλεονεκτήματα:

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

Ωστόσο, το chrony δεν διαθέτει ορισμένα χαρακτηριστικά του παλιού NTP, όπως η μετάδοση και η πολλαπλή διανομή μέσω client/server. Επιπλέον, το κλασικό NTP υποστηρίζει μεγαλύτερο αριθμό λειτουργικών συστημάτων και πλατφορμών.

Για να απενεργοποιήσετε τη λειτουργικότητα του διακομιστή και τα αιτήματα NTP προς τη διεργασία chronyd, απλώς καθορίστε τη θύρα 0 στο αρχείο chrony.conf. Αυτό γίνεται σε περιπτώσεις όπου δεν χρειάζεται να διατηρείται χρόνος για τους πελάτες ή τους ομότιμους NTP. Από την έκδοση 2.0, η θύρα του διακομιστή NTP είναι ανοιχτή μόνο όταν επιτρέπεται η πρόσβαση από την οδηγία allow ή την αντίστοιχη εντολή ή όταν έχει διαμορφωθεί ένας ομότιμος NTP ή όταν χρησιμοποιείται η οδηγία broadcast.

Το πρόγραμμα αποτελείται από δύο ενότητες.

  • Το chronyd είναι μια υπηρεσία παρασκηνίου που λαμβάνει πληροφορίες σχετικά με τη διαφορά μεταξύ του ρολογιού του συστήματος και ενός εξωτερικού διακομιστή ώρας και προσαρμόζει την τοπική ώρα. Υλοποιεί επίσης το πρωτόκολλο NTP και μπορεί να λειτουργήσει ως πελάτης ή διακομιστής.
  • Το chronyc είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών για την παρακολούθηση και τον έλεγχο του προγράμματος. Χρησιμοποιείται για τη βελτιστοποίηση διαφόρων παραμέτρων υπηρεσίας, για παράδειγμα, σας επιτρέπει να προσθέσετε ή να αφαιρέσετε διακομιστές NTP ενώ το chronyd συνεχίζει να εκτελείται.

Από την έκδοση 7 του RedHat Linux χρήσεις chrony ως υπηρεσία συγχρονισμού ώρας. Το πακέτο είναι επίσης διαθέσιμο για άλλες διανομές Linux. Η τελευταία σταθερή έκδοση είναι 3.5, με την έκδοση v4.0 να προετοιμάζεται.

(1:712)$ sudo emerge -av chrony
These are the packages that would be merged, in order:
Calculating dependencies... done!
[binary  N     ] net-misc/chrony-3.5-r2::gentoo  USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 246 KiB
Would you like to merge these packages? [Yes/No]

Πώς να ρυθμίσετε τον δικό σας απομακρυσμένο διακομιστή chrony στο Διαδίκτυο για να συγχρονίσετε την ώρα σε ένα δίκτυο γραφείου. Παρακάτω είναι ένα παράδειγμα ρύθμισης σε ένα VPS.

Παράδειγμα ρύθμισης του Chrony σε RHEL / CentOS σε VPS

Ας εξασκηθούμε τώρα λίγο και ας ανεβάσουμε τον δικό μας διακομιστή NTP σε VPS. Είναι πολύ απλό, απλώς επιλέξτε ένα κατάλληλο τιμολόγιο στον ιστότοπο RuVDS, αποκτήστε έναν έτοιμο διακομιστή και πληκτρολογήστε μια ντουζίνα απλές εντολές. Για τους σκοπούς μας, αυτή η επιλογή είναι αρκετά κατάλληλη.

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Ας προχωρήσουμε στη ρύθμιση της υπηρεσίας και πρώτα απ 'όλα στην εγκατάσταση του πακέτου chrony.

[root@server ~]$ yum install chrony

Τα RHEL 8 / CentOS 8 χρησιμοποιούν διαφορετικό διαχειριστή πακέτων.

[root@server ~]$ dnf install chrony

Αφού εγκαταστήσετε το chrony, πρέπει να ξεκινήσετε και να ενεργοποιήσετε την υπηρεσία.

[root@server ~]$ systemctl enable chrony --now

Εάν θέλετε, μπορείτε να επεξεργαστείτε το /etc/chrony.conf για να αντικαταστήσετε τους διακομιστές NPT με τους πλησιέστερους τοπικούς, ώστε να μειώσετε τον χρόνο απόκρισης.

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst

Στη συνέχεια, ρυθμίζουμε τον συγχρονισμό του διακομιστή NTP με κόμβους από την καθορισμένη ομάδα.

[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service

Είναι επίσης απαραίτητο να ανοίξετε τη θύρα NTP προς τα έξω, διαφορετικά το τείχος προστασίας θα μπλοκάρει τις εισερχόμενες συνδέσεις από τους κόμβους-πελάτες.

[root@server ~]$ firewall-cmd --add-service=ntp --permanent 
[root@server ~]$ firewall-cmd --reload

Από την πλευρά του πελάτη, αρκεί να ορίσετε σωστά τη ζώνη ώρας.

[root@client ~]$ timedatectl set-timezone Europe/Moscow

Στο αρχείο /etc/chrony.conf, καθορίστε την IP ή το όνομα κεντρικού υπολογιστή του διακομιστή VPS στον οποίο εκτελείται ο διακομιστής NTP chrony.

server my.vps.server

Και τέλος, ξεκινήστε τον συγχρονισμό ώρας στον υπολογιστή-πελάτη.

[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true

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

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Πώς έγινε ασφαλής ο συγχρονισμός χρόνου

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο