Έκδοση της πρωτοβουλίας PowerDNS Recursor 4.2 και DNS flag day 2020

Μετά από ενάμιση χρόνο ανάπτυξης παρουσιάζονται απελευθέρωση του διακομιστή DNS προσωρινής αποθήκευσης Πόρος PowerDNS 4.2, υπεύθυνος για την αναδρομική μετατροπή ονόματος. Το PowerDNS Recursor είναι χτισμένο στην ίδια βάση κώδικα με τον PowerDNS Authoritative Server, αλλά οι αναδρομικοί και έγκυροι διακομιστές DNS PowerDNS αναπτύσσονται μέσω διαφορετικών κύκλων ανάπτυξης και κυκλοφορούν ως ξεχωριστά προϊόντα. Κωδικός έργου διανέμονται από άδεια σύμφωνα με το GPLv2.

Η νέα έκδοση εξαλείφει όλα τα ζητήματα που σχετίζονται με την επεξεργασία πακέτων DNS με σημαίες EDNS. Οι παλαιότερες εκδόσεις του PowerDNS Recursor πριν από το 2016 είχαν την πρακτική να αγνοούν πακέτα με μη υποστηριζόμενες σημαίες EDNS χωρίς να στέλνουν απάντηση στην παλιά μορφή, απορρίπτοντας τις σημαίες EDNS όπως απαιτείται από την προδιαγραφή. Προηγουμένως, αυτή η μη τυπική συμπεριφορά υποστηριζόταν στο BIND με τη μορφή λύσης, αλλά στο πλαίσιο του διεξήχθη στις πρωτοβουλίες του Φεβρουαρίου Ημέρα σημαίας DNS, οι προγραμματιστές διακομιστή DNS αποφάσισαν να εγκαταλείψουν αυτό το hack.

Στο PowerDNS, τα κύρια προβλήματα στην επεξεργασία πακέτων με EDNS εξαλείφθηκαν το 2017 στην έκδοση 4.1 και στον κλάδο 2016 που κυκλοφόρησε το 4.0, εμφανίστηκαν μεμονωμένες ασυμβατότητες που προκύπτουν υπό ορισμένες συνθήκες και, γενικά, δεν παρεμβαίνουν στο κανονικό λειτουργία. Στο PowerDNS Recursor 4.2, όπως στο ΠΡΟΣΘΗΚΗ 9.14, Καταργήθηκαν εναλλακτικές λύσεις για την υποστήριξη έγκυρων διακομιστών που ανταποκρίνονται εσφαλμένα σε αιτήματα με σημαίες EDNS. Μέχρι τώρα, εάν μετά την αποστολή ενός αιτήματος με σημαίες EDNS δεν υπήρχε απάντηση μετά από ένα ορισμένο χρονικό διάστημα, ο διακομιστής DNS υπέθετε ότι οι εκτεταμένες σημαίες δεν υποστηρίζονταν και έστελνε ένα δεύτερο αίτημα χωρίς σημαίες EDNS. Αυτή η συμπεριφορά έχει πλέον απενεργοποιηθεί, καθώς αυτός ο κώδικας είχε ως αποτέλεσμα αυξημένο λανθάνοντα χρόνο λόγω αναμετάδοσης πακέτων, αυξημένο φόρτο δικτύου και ασάφεια όταν δεν ανταποκρίνεται λόγω αστοχιών δικτύου και εμπόδισε την εφαρμογή λειτουργιών που βασίζονται σε EDNS, όπως τα cookie DNS για προστασία από επιθέσεις DDoS.

Αποφασίστηκε να πραγματοποιηθεί η εκδήλωση την επόμενη χρονιά Ημέρα σημαίας DNS 2020σχεδιασμένο για να εστιάζει την προσοχή η απόφαση πρόβλημα με κατακερματισμό IP κατά την επεξεργασία μεγάλων μηνυμάτων DNS. Στο πλαίσιο της πρωτοβουλίας προγραμματίζεται διορθώστε τα προτεινόμενα μεγέθη buffer για EDNS στα 1200 byte και μετάφραση Η επεξεργασία αιτημάτων μέσω TCP είναι μια απαραίτητη δυνατότητα στους διακομιστές. Τώρα απαιτείται υποστήριξη για την επεξεργασία αιτημάτων μέσω UDP και το TCP είναι επιθυμητό, ​​αλλά δεν απαιτείται για λειτουργία (το πρότυπο απαιτεί τη δυνατότητα απενεργοποίησης του TCP). Προτείνεται η αφαίρεση της επιλογής απενεργοποίησης του TCP από το πρότυπο και η τυποποίηση της μετάβασης από την αποστολή αιτημάτων μέσω UDP στη χρήση του TCP σε περιπτώσεις όπου το καθορισμένο μέγεθος buffer EDNS δεν είναι αρκετό.

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

Το PowerDNS Recursor 4.2 λαμβάνει υπόψη προβλήματα με μεγάλα πακέτα UDP και αλλάζει στη χρήση του μεγέθους buffer EDNS (edns-outgoing-bufsize) των 1232 byte, αντί για το προηγουμένως χρησιμοποιούμενο όριο των 1680 byte, το οποίο θα μειώσει σημαντικά την πιθανότητα απώλειας πακέτων UDP . Η τιμή 1232 επιλέχθηκε επειδή είναι το μέγιστο στο οποίο το μέγεθος της απόκρισης DNS, λαμβάνοντας υπόψη το IPv6, ταιριάζει στην ελάχιστη τιμή MTU (1280). Η τιμή της παραμέτρου περικοπής κατωφλίου, η οποία είναι υπεύθυνη για την περικοπή των απαντήσεων στον πελάτη, έχει επίσης μειωθεί στο 1232.

Άλλες αλλαγές στο PowerDNS Recursor 4.2:

  • Προστέθηκε υποστήριξη μηχανισμού XPF (X-Proxied-For), το οποίο είναι το ισοδύναμο DNS της κεφαλίδας X-Forwarded-For HTTP, επιτρέποντας την προώθηση πληροφοριών σχετικά με τη διεύθυνση IP και τον αριθμό θύρας του αρχικού αιτούντος μέσω ενδιάμεσων διακομιστών μεσολάβησης και εξισορροπητών φορτίου (όπως το dnsdist) . Για να ενεργοποιήσετε το XPF υπάρχουν επιλογές "xpf-allow-from"Και"xpf-rr-code";
  • Βελτιωμένη υποστήριξη για επέκταση EDNS Υποδίκτυο πελάτη (ECS), το οποίο σας επιτρέπει να μεταδίδετε σε ερωτήματα DNS σε έναν έγκυρο διακομιστή DNS πληροφορίες σχετικά με το υποδίκτυο από το οποίο δηλητηριάστηκε το αρχικό αίτημα που μεταδόθηκε κατά μήκος της αλυσίδας (τα δεδομένα σχετικά με το υποδίκτυο πηγής του πελάτη είναι απαραίτητα για την αποτελεσματική λειτουργία των δικτύων παράδοσης περιεχομένου) . Η νέα έκδοση προσθέτει ρυθμίσεις για επιλεκτικό έλεγχο της χρήσης του υποδικτύου πελάτη EDNS: "ecs-add-for» με μια λίστα με μάσκες δικτύου για τις οποίες η IP θα χρησιμοποιηθεί στο ECS σε εξερχόμενα αιτήματα. Για διευθύνσεις που δεν εμπίπτουν στις καθορισμένες μάσκες, η γενική διεύθυνση που καθορίζεται στην οδηγία "ecs-scope-zero-address". μέσω της οδηγίας "use-incoming-edns-subnet» μπορείτε να ορίσετε υποδίκτυα από τα οποία δεν θα αντικατασταθούν τα εισερχόμενα αιτήματα με συμπληρωμένες τιμές ECS.
  • Για διακομιστές που επεξεργάζονται μεγάλο αριθμό αιτημάτων ανά δευτερόλεπτο (πάνω από 100 χιλιάδες), η οδηγία «διανομέας-νήματα", το οποίο καθορίζει τον αριθμό των νημάτων για τη λήψη εισερχόμενων αιτημάτων και τη διανομή τους μεταξύ των νημάτων εργασίας (έχει νόημα μόνο όταν χρησιμοποιείτε το "pdns-distributes-queries=ναι").
  • Προστέθηκε ρύθμιση δημόσιο-κατάληξη-λίστα-αρχείο για να ορίσετε το δικό σας αρχείο με λίστα δημόσιων επιθημάτων τομείς στους οποίους οι χρήστες μπορούν να καταχωρήσουν τους υποτομείς τους, αντί της λίστας που είναι ενσωματωμένη στον Αναδρομέα PowerDNS.

Το έργο PowerDNS ανακοίνωσε επίσης μια μετάβαση σε έναν κύκλο ανάπτυξης έξι μηνών, με την επόμενη σημαντική έκδοση του PowerDNS Recursor 4.3 να αναμένεται τον Ιανουάριο του 2020. Ενημερώσεις για σημαντικές εκδόσεις θα αναπτύσσονται καθ' όλη τη διάρκεια του έτους, μετά την οποία θα κυκλοφορήσουν διορθώσεις ευπάθειας για άλλους έξι μήνες. Έτσι, η υποστήριξη για τον κλάδο PowerDNS Recursor 4.2 θα διαρκέσει έως τον Ιανουάριο του 2021. Παρόμοιες αλλαγές στον κύκλο ανάπτυξης έχουν γίνει για τον PowerDNS Authoritative Server, ο οποίος αναμένεται να κυκλοφορήσει την έκδοση 4.2 στο εγγύς μέλλον.

Κύρια χαρακτηριστικά του PowerDNS Recursor:

  • Εργαλεία για απομακρυσμένη συλλογή στατιστικών.
  • Άμεση επανεκκίνηση.
  • Ενσωματωμένος κινητήρας για σύνδεση χειριστών στη γλώσσα Lua.
  • Πλήρης υποστήριξη DNSSEC και DNS64;
  • Υποστήριξη για RPZ (Response Policy Zones) και δυνατότητα ορισμού μαύρων λιστών.
  • Μηχανισμοί κατά της πλαστογράφησης;
  • Δυνατότητα εγγραφής αποτελεσμάτων ανάλυσης ως αρχεία ζώνης BIND.
  • Για να διασφαλιστεί η υψηλή απόδοση, χρησιμοποιούνται σύγχρονοι μηχανισμοί πολυπλεξίας σύνδεσης στο FreeBSD, το Linux και το Solaris (kqueue, epoll, /dev/poll), καθώς και ένας αναλυτής πακέτων DNS υψηλής απόδοσης ικανός να επεξεργαστεί δεκάδες χιλιάδες παράλληλες αιτήσεις.

Πηγή: opennet.ru

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