Το Domain Name System (DNS) είναι η τεχνολογία που επιτρέπει στους χρήστες να συνδέονται σε ιστότοπους μέσω ονομάτων , αντί να πληκτρολογούν τις διευθύνσεις IP. Αυτό ήταν καταρχάς φυσική απόρροια του ότι για τους ανθρώπους είναι πιο εύκολο να απομνημονεύουν ονόματα παρά αριθμητικές διευθύνσεις (ΙΡ). Παραδοσιακά η DNS επικοινωνία δεν χρησιμοποιεί κρυπτογράφηση και γίνεται κυρίως στην πόρτα 53/udp. Αυτό σημαίνει ότι τα queries και τα responses μπορούν να παρακολουθηθούν ή και να τροποποιηθούν είτε σε τοπικό επίπεδο είτε σε επίπεδο ISP και ενδιάμεσων provider.
Κρυπτογράφηση DNS
Τα παραπάνω έρχεται να λύσει η προσθήκη κρυπτογράφησης στην DNS επικοινωνία αποτρέποντας έτσι την παρακολούθηση από τρίτους όπως έγινε με την μετάβαση από HTTP σε HTTPS. Η κρυπτογράφηση βασίζεται στο TLS πρωτόκολλο όπου η αυθεντικότητα του server (DNS Resolver) πιστοποιείται με την χρήση certificate. Οι δύο μηχανισμοί που χρησιμοποιούνται είναι οι DNS over TLS και DNS over HTTPS (2018). Παμε να δούμε πως λειτουργεί το καθένα από αυτά.
DNS over TLS (DoT)
Κατά την έναρξη σύνδεσης TLS ο client δημιουργεί μια σύνδεση με τον διακομιστή DNS που περιλαμβάνει την ανταλλαγή πιστοποιητικών για την επιβεβαίωση της ταυτότητας του διακομιστή και την δημιουργία ενός ασφαλούς καναλιού επικοινωνίας. Αφού η ολοκληρωθεί η σύνδεση TLS , ο client μπορεί να στέλνει πλέον κρυπτογραφημένα DNS requests στον διακομιστή χωρίς αυτά να μπορούν να υποκλαπούν. Το DoT χρησιμοποιεί την πόρτα 853/tcp κατί το οποίο μπορεί να αποτελέσει πρόβλημα στην περίπτωση που οι πολιτικές του firewall δεν το επιτρέπουν.
DNS Queries over HTTPS (DoH)
Το παραπάνω πρόβλημα ήρθε στην ουσία να επιλύσει το DoH καθώς δεν απαιτείται η χρήση κάποιας επιπλέον πόρτας αλλά χρησιμοποιεί την 443 /tcp (HTTPS) που είναι ανοιχτή για την Web επικοινωνία.
Έχουν εκφραστεί ανησυχίες σχετικά με την χρήση HTTPS σε DNS requests λόγω οτι τα cookies μπορούν να χρησιμοποιηθούν με σκοπό τον εντοπισμό και για αυτό συνιστάται η αποδοχή τους ανά περίπτωση και μόνο.
Οι δύο αυτοί μηχανισμοί λόγω της νεωτερικότητας τους δεν χρησιμοποιούνται ακόμα σε ευρεία κλίμακα. Κάποιους public resolvers DoH και DoT μπορείτε να βρείτε εδώ και εδώ.
Τρόποι υλοποίησης
Το DoT ή το DoH μπορούν να ενεργοποιηθούν στον τελικό χρήστη ως εξής:
1. Να ενσωματωθούν στο application παρακάμπτοντας έτσι τον resolver του λειτουργικού
2.Να υλοποιηθούν στο λειτουργικό το οποίο εν συνεχεία θα εξυπηρετεί τα request από τα applications.
Η παραμετροποίηση εχει 3 επιλογές ανάλογα με την περίπτωση Off: DNS χωρίς κρυπτογράφηση . Opportunistic mode: Προτιμάται η χρήση κρυπτογραφημένου DNS αλλά παρέχεται η δυνατότητα μετάπτωσης σε unencrypted DNS αν δεν καταστεί εφικτή η encrypted επικοινωνία. Strict mode: Εδώ επιβάλλεται η encrypted επικοινωνία και αν δεν είναι εφικτή προβάλλεται σφάλμα στον χρήστη.
Διάφορα θέματα ανακύπτουν τώρα σε επίπεδο monitoring και εφαρμογής πολιτικών σε κεντρικά firewall όπως για παράδειγμα η πρακτική που εφαρμόζεται πολλές φορές από τους διαχειριστές ενός δικτύου προκειμένου να μπλοκάρουν κακόβουλα domain ή να κάνουν προληπτικά monitor το DNS traffic.
Με την εφαρμογή του encryption οι λειτουργίες αυτές δεν είναι δυνατές και σαν λύση εφαρμόζεται
η χρήση unencrypted DNS μέχρι τον DNS Resolver που είναι τοπικός και αυτός εν συνεχεία επικοινωνεί με τους root-authoritative servers με χρήση TLS. Ένα επιπλέον επίπεδο ασφάλειας προστίθεται με την χρήση του DNSSEC όπου ο client μπορεί να πιστοποιήσει την αυθεντικότητα της απάντησης στα request που υπέβαλλε.
Συγκριτικός Πίνακας
Feature | DoH | DoT | DNSSEC |
Encryption | Yes (HTTPS) | Yes (TLS) | No |
Port | 443 | 853 | Standard DNS ports (53) |
Privacy | High (hides in HTTPS traffic) | High | None (focuses on authenticity) |
Security | Eavesdropping and tampering | Eavesdropping and tampering | DNS spoofing and cache poisoning |
Performance Overhead | Moderate | Moderate | Low to Moderate |
Complexity | High (integrates with web traffic) | Moderate | High |
Censorship Resistance | High | Low | Low |
Με την αυξανόμενη τάση για privacy ειδικά σε ενα τόσο νευραλγικό κομμάτι που είναι το DNS,
η χρήση ασφαλών πρωτοκόλλων όπως το DoT και DoH συμβάλει σε ένα πιο ασφαλές διαδίκτυο
χωρίς βέβαια να είναι πανάκεια.