ProHoster > Blog > διαχείριση > Συναντάμε την υπηρεσία από το Cloudflare στις διευθύνσεις 1.1.1.1 και 1.0.0.1 ή "το δημόσιο ράφι DNS έφτασε!"
Συναντάμε την υπηρεσία από το Cloudflare στις διευθύνσεις 1.1.1.1 και 1.0.0.1 ή "το δημόσιο ράφι DNS έφτασε!"
Εταιρεία Cloudflare παρουσιάζονται δημόσιο DNS στις διευθύνσεις:
1.1.1.1
1.0.0.1
2606: 4700: 4700 :: 1111
2606: 4700: 4700 :: 1001
Υποστηρίζεται ότι χρησιμοποιείται μια πολιτική «Πρώτα το απόρρητο», έτσι ώστε οι χρήστες να μπορούν να είναι σίγουροι για το περιεχόμενο των αιτημάτων τους.
Η υπηρεσία είναι ενδιαφέρουσα γιατί, εκτός από το συνηθισμένο DNS, παρέχει τη δυνατότητα χρήσης τεχνολογιών DNS-over-TLS и DNS-over-HTTPS, που θα αποτρέψει σε μεγάλο βαθμό τους παρόχους από το να παρακολουθούν τα αιτήματά σας κατά τη διαδρομή αιτημάτων - και να συλλέγουν στατιστικά στοιχεία, να παρακολουθούν και να διαχειρίζονται διαφημίσεις. Η Cloudflare ισχυρίζεται ότι η ημερομηνία ανακοίνωσης (1 Απριλίου 2018 ή 04/01 σε αμερικανική σημείωση) δεν επιλέχθηκε τυχαία: ποια άλλη ημέρα του έτους θα παρουσιαζόταν το "four units";
Δεδομένου ότι το κοινό του Habr είναι τεχνικά έμπειρο, η παραδοσιακή ενότητα "γιατί χρειαζόμαστε το DNS;" Θα το βάλω στο τέλος της ανάρτησης και εδώ θα περιγράψω πιο πρακτικά χρήσιμα πράγματα:
Πώς να χρησιμοποιήσετε τη νέα υπηρεσία;
Το πιο απλό πράγμα είναι να καθορίσετε τις παραπάνω διευθύνσεις διακομιστή DNS στον υπολογιστή-πελάτη DNS (ή ως upstream στις ρυθμίσεις του τοπικού διακομιστή DNS που χρησιμοποιείτε). Έχει νόημα η αντικατάσταση των συνηθισμένων τιμών; Google DNS (8.8.8.8, κ.λπ.), ή ελαφρώς λιγότερο συνηθισμένο Δημόσιοι διακομιστές DNS Yandex (77.88.8.8 και άλλα παρόμοια) σε διακομιστές από το Cloudflare - θα αποφασίσουν για εσάς, αλλά μιλάει για αρχάριους πρόγραμμα ταχύτητα αποκρίσεων, σύμφωνα με την οποία το Cloudflare λειτουργεί πιο γρήγορα από όλους τους ανταγωνιστές (επιτρέψτε μου να διευκρινίσω: οι μετρήσεις έγιναν από υπηρεσία τρίτου μέρους και η ταχύτητα σε έναν συγκεκριμένο πελάτη, φυσικά, μπορεί να διαφέρει).
Είναι πολύ πιο ενδιαφέρον να δουλεύουμε με νέες λειτουργίες στις οποίες το αίτημα μεταβαίνει στον διακομιστή μέσω μιας κρυπτογραφημένης σύνδεσης (στην πραγματικότητα, η απόκριση επιστρέφεται μέσω αυτής), του αναφερόμενου DNS-over-TLS και DNS-over-HTTPS. Δυστυχώς, δεν υποστηρίζονται out of the box (οι συγγραφείς πιστεύουν ότι αυτό είναι "ακόμα"), αλλά η οργάνωση της εργασίας τους στο λογισμικό σας (ή ακόμα και στο υλικό σας) δεν είναι δύσκολη:
DNS μέσω HTTP (DoH)
Όπως υποδηλώνει το όνομα, η επικοινωνία πραγματοποιείται μέσω ενός καναλιού HTTPS, κάτι που υπονοεί
παρουσία σημείου προσγείωσης (τελικό σημείο) - βρίσκεται στο https://cloudflare-dns.com/dns-queryΚαι
ένας πελάτης που μπορεί να στέλνει αιτήματα και να λαμβάνει απαντήσεις.
Τα αιτήματα μπορούν να είναι είτε στο DNS Wireformat που ορίζεται στο RFC1035 (αποστέλλεται χρησιμοποιώντας τις μεθόδους POST και GET HTTP) ή σε μορφή JSON (χρησιμοποιώντας τη μέθοδο GET HTTP). Για μένα προσωπικά, η ιδέα να κάνω ερωτήματα DNS μέσω αιτημάτων HTTP φαινόταν απροσδόκητη, αλλά υπάρχει μια λογική ουσία: ένα τέτοιο αίτημα θα περάσει πολλά συστήματα φιλτραρίσματος κυκλοφορίας, οι απαντήσεις ανάλυσης είναι αρκετά απλές και η δημιουργία αιτημάτων είναι ακόμα πιο απλή. Οι γνωστές βιβλιοθήκες και τα πρωτόκολλα είναι υπεύθυνα για την ασφάλεια.
Παραδείγματα ερωτημάτων, απευθείας από την τεκμηρίωση:
Προφανώς, λίγοι (αν υπάρχουν) οικιακόι δρομολογητές μπορούν να λειτουργήσουν με DNS όπως αυτό, αλλά αυτό δεν σημαίνει ότι η υποστήριξη δεν θα εμφανιστεί αύριο - και, είναι ενδιαφέρον, εδώ μπορούμε εύκολα να εφαρμόσουμε εργασία με DNS στην εφαρμογή μας (όπως ήδη πρόκειται να φτιάξει το Mozilla, μόνο σε διακομιστές Cloudflare).
DNS μέσω TLS
Από προεπιλογή, τα ερωτήματα DNS αποστέλλονται χωρίς κρυπτογράφηση. Το DNS μέσω TLS είναι ένας τρόπος αποστολής τους μέσω ασφαλούς σύνδεσης. Το Cloudflare υποστηρίζει DNS μέσω TLS στην τυπική θύρα 853 όπως προδιαγράφεται RFC7858. Αυτό χρησιμοποιεί ένα πιστοποιητικό που εκδόθηκε για τον κεντρικό υπολογιστή cloudflare-dns.com, υποστηρίζονται τα TLS 1.2 και TLS 1.3.
Η δημιουργία μιας σύνδεσης και η εργασία με το πρωτόκολλο είναι κάπως έτσι:
Πριν από τη δημιουργία σύνδεσης με το DNS, ο πελάτης αποθηκεύει έναν κατακερματισμό SHA64 με κωδικοποίηση base256 του πιστοποιητικού TLS του cloudflare-dns.com (που ονομάζεται SPKI)
Ο πελάτης DNS δημιουργεί μια σύνδεση TCP στο cloudflare-dns.com:853
Ο πελάτης DNS εκκινεί τη διαδικασία χειραψίας TLS
Κατά τη διάρκεια της χειραψίας TLS, ο κεντρικός υπολογιστής cloudflare-dns.com παρουσιάζει το πιστοποιητικό του TLS.
Μόλις δημιουργηθεί η σύνδεση TLS, ο πελάτης DNS μπορεί να στείλει ερωτήματα DNS μέσω ενός ασφαλούς καναλιού, το οποίο αποτρέπει την υποκλοπή και την πλαστογραφία αιτημάτων και απαντήσεων.
Όλα τα αιτήματα DNS που αποστέλλονται μέσω σύνδεσης TLS πρέπει να συμμορφώνονται με την προδιαγραφή σύμφωνα με αποστολή DNS μέσω TCP.
Παράδειγμα αιτήματος μέσω DNS μέσω TLS:
$ kdig -d @1.1.1.1 +tls-ca +tls-host=cloudflare-dns.com example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(1.1.1.1), port(853), protocol(TCP)
;; DEBUG: TLS, imported 170 system certificates
;; DEBUG: TLS, received certificate hierarchy:
;; DEBUG: #1, C=US,ST=CA,L=San Francisco,O=Cloudflare, Inc.,CN=*.cloudflare-dns.com
;; DEBUG: SHA-256 PIN: yioEpqeR4WtDwE9YxNVnCEkTxIjx6EEIwFSQW+lJsbc=
;; DEBUG: #2, C=US,O=DigiCert Inc,CN=DigiCert ECC Secure Server CA
;; DEBUG: SHA-256 PIN: PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=
;; DEBUG: TLS, skipping certificate PIN check
;; DEBUG: TLS, The certificate is trusted.
;; TLS session (TLS1.2)-(ECDHE-ECDSA-SECP256R1)-(AES-256-GCM)
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 58548
;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1
;; EDNS PSEUDOSECTION:
;; Version: 0; flags: ; UDP size: 1536 B; ext-rcode: NOERROR
;; PADDING: 408 B
;; QUESTION SECTION:
;; example.com. IN A
;; ANSWER SECTION:
example.com. 2347 IN A 93.184.216.34
;; Received 468 B
;; Time 2018-03-31 15:20:57 PDT
;; From 1.1.1.1@853(TCP) in 12.6 ms
Αυτή η επιλογή φαίνεται να είναι καλύτερα κατάλληλη για τοπικούς διακομιστές DNS που εξυπηρετούν τις ανάγκες ενός τοπικού δικτύου ή ενός μεμονωμένου χρήστη. Είναι αλήθεια ότι η υποστήριξη για το πρότυπο δεν είναι πολύ καλή, αλλά ας ελπίσουμε!
Δύο λόγια εξήγησης για το τι μιλάμε
Η συντομογραφία DNS σημαίνει Υπηρεσία Ονομάτων Τομέα (άρα το να λέμε «υπηρεσία DNS» είναι κάπως περιττό· το ακρωνύμιο περιέχει ήδη τη λέξη «υπηρεσία») και χρησιμοποιείται για την επίλυση μιας απλής εργασίας - για την κατανόηση της διεύθυνσης IP ενός συγκεκριμένου ονόματος κεντρικού υπολογιστή. Κάθε φορά που ένα άτομο κάνει κλικ σε έναν σύνδεσμο ή εισάγει μια διεύθυνση στη γραμμή διευθύνσεων του προγράμματος περιήγησης (για παράδειγμα, κάτι σαν "https://habrahabr.ru/post/346430/"), ο υπολογιστής ενός ατόμου προσπαθεί να καταλάβει σε ποιο διακομιστή να στείλει ένα αίτημα για λήψη των περιεχομένων μιας σελίδας. Στην περίπτωση του habrahabr.ru, η απάντηση από το DNS θα περιέχει μια ένδειξη της διεύθυνσης IP του διακομιστή web: 178.248.237.68 και, στη συνέχεια, το πρόγραμμα περιήγησης θα προσπαθήσει να επικοινωνήσει με τον διακομιστή με την καθορισμένη διεύθυνση IP.
Με τη σειρά του, ο διακομιστής DNS, έχοντας λάβει το αίτημα "ποια είναι η διεύθυνση IP του κεντρικού υπολογιστή που ονομάζεται habrahabr.ru;", καθορίζει εάν γνωρίζει κάτι για τον καθορισμένο κεντρικό υπολογιστή. Εάν όχι, κάνει ένα ερώτημα σε άλλους διακομιστές DNS στον κόσμο και, βήμα προς βήμα, προσπαθεί να βρει την απάντηση στην ερώτηση που τέθηκε. Ως αποτέλεσμα, με την εύρεση της τελικής απάντησης, τα δεδομένα που βρέθηκαν αποστέλλονται στον πελάτη που βρίσκεται ακόμα σε αναμονή, καθώς και αποθηκεύονται στην κρυφή μνήμη του ίδιου του διακομιστή DNS, κάτι που θα σας επιτρέψει να απαντήσετε σε μια παρόμοια ερώτηση πολύ πιο γρήγορα την επόμενη φορά.
Ένα κοινό πρόβλημα είναι ότι, πρώτον, τα δεδομένα ερωτήματος DNS αποστέλλονται καθαρά (που επιτρέπει σε οποιονδήποτε έχει πρόσβαση στη ροή επισκεψιμότητας να απομονώσει τα ερωτήματα DNS και τις προκύπτουσες απαντήσεις και στη συνέχεια να τα αναλύσει για τους δικούς του σκοπούς· αυτό επιτρέπει τη δυνατότητα να στοχεύσετε τη διαφήμιση με ακρίβεια για τον πελάτη DNS, και αυτό είναι πάρα πολύ!). Δεύτερον, ορισμένοι πάροχοι Διαδικτύου (δεν θα κουνάμε το δάχτυλο, αλλά όχι οι μικρότεροι) τείνουν να εμφανίζουν διαφημίσεις αντί για τη μία ή την άλλη ζητούμενη σελίδα (η οποία υλοποιείται πολύ απλά: αντί για την καθορισμένη διεύθυνση IP για ένα αίτημα για το όνομα κεντρικού υπολογιστή Το habranabr.ru σε ένα τυχαίο άτομο Με αυτόν τον τρόπο, επιστρέφεται η διεύθυνση του διακομιστή web του παρόχου, όπου εμφανίζεται η σελίδα που περιέχει τη διαφήμιση). Τρίτον, υπάρχουν πάροχοι πρόσβασης στο Διαδίκτυο που εφαρμόζουν έναν μηχανισμό για την εκπλήρωση των απαιτήσεων για τον αποκλεισμό μεμονωμένων τοποθεσιών αντικαθιστώντας τις σωστές απαντήσεις DNS σχετικά με τις διευθύνσεις IP των αποκλεισμένων πόρων ιστού με τη διεύθυνση IP του διακομιστή τους που περιέχει αποκόμματα (ως αποτέλεσμα, πρόσβαση σε τέτοιοι ιστότοποι γίνονται αισθητά πιο περίπλοκοι) ή στη διεύθυνση του διακομιστή μεσολάβησής σας που εκτελεί φιλτράρισμα.
Μάλλον θα πρέπει να βάλεις μια φωτογραφία από τον ιστότοπο εδώ http://1.1.1.1/, το οποίο χρησιμεύει για την περιγραφή της σύνδεσης με την υπηρεσία. Οι συγγραφείς, προφανώς, είναι απόλυτα σίγουροι για την ποιότητα του DNS τους (ωστόσο, είναι δύσκολο να περιμένουμε κάτι διαφορετικό από το Cloudflare):
Μπορεί κανείς να κατανοήσει πλήρως το Cloudflare, τον δημιουργό της υπηρεσίας: κερδίζουν το ψωμί τους υποστηρίζοντας και αναπτύσσοντας ένα από τα πιο δημοφιλή δίκτυα CDN στον κόσμο (οι λειτουργίες του οποίου περιλαμβάνουν όχι μόνο διανομή περιεχομένου, αλλά και φιλοξενία ζωνών DNS) και, λόγω της επιθυμίας αυτών, που δεν ξέρει πολλά, διδάξτε τα που δεν ξέρουν, σε αυτό Πού να πάτε στο παγκόσμιο δίκτυο, υποφέρει αρκετά συχνά από τον αποκλεισμό των διευθύνσεων διακομιστή του από δεν θα πούμε ποιος - Επομένως, το να έχουν ένα DNS που δεν επηρεάζεται από "φωνές, σφυρίγματα και μουντζούρες" σημαίνει μικρότερη ζημιά για την επιχείρησή τους για μια εταιρεία. Και τα τεχνικά πλεονεκτήματα (ένα μικρό πράγμα, αλλά ωραίο: συγκεκριμένα, για τους πελάτες του δωρεάν DNS Cloudflare, η ενημέρωση των αρχείων DNS των πόρων που φιλοξενούνται στους διακομιστές DNS της εταιρείας θα είναι στιγμιαία) κάνουν τη χρήση της υπηρεσίας που περιγράφεται στην ανάρτηση ακόμα πιο ενδιαφέρουσα .
Μόνο εγγεγραμμένοι χρήστες μπορούν να συμμετάσχουν στην έρευνα. Συνδεθείτε, Σας παρακαλούμε.
Θα χρησιμοποιήσετε τη νέα υπηρεσία;
Ναι, απλώς προσδιορίζοντάς το στο λειτουργικό σύστημα ή/και στο δρομολογητή
Ναι, και θα χρησιμοποιήσω νέα πρωτόκολλα (DNS μέσω HTTP και DNS μέσω TLS)