Following a previous discussion on this blog I just posted the following question on Hacker News:

Would you click on (or type) a link that contains Punycode? Or even on a link that contains localized characters? Example:

http://www.εδετ.gr and http://www.xn--pxabb4d.gr (they are the same site).

Or would you consider them phising “faster” than a latin spelled URL?

(The example I am giving is a legitimate site)

Comments are not closed, but please comment on Hacker News if you want to.

reverse DNS stuff

2010/01/08

Αφορμή για το post αυτό είναι μια ιστορία που έχει συμβεί περισσότερο από δύο χρόνια πριν. Ένα μεσημέρι μας πήραν τηλέφωνο από ένα δημόσιο οργανισμό για τον οποίο είμαστε Καταχωρητές στο .GR και μας παραπονέθηκαν πως αντιμετωπίζουν προβλήματα DNS resolving και πιο συγκεκριμένα δεν μπορούσαν να στείλουν email προς κάποια Πανεπιστήμια, “επειδή δεν ήταν στο DNS”.

Πριν συνεχίσω, πρέπει να γίνει κατανοητό πως η δουλειά του Καταχωρητή είναι κυρίως γραφειοκρατική και δευτερευόντος τεχνική. Μπορείς να έχεις Καταχωρητή τον Α, DNS operator τον Β, email στον Γ και web hosting στον Δ ή διάφορους συνδιασμούς των παραπάνω. Συνήθως όμως είτε οι Καταχωρητές προσφέρουν τις υπηρεσίες αυτές σαν value added services, είτε οι hosting providers παρέχουν (και) υπηρεσίες Καταχωρητή.

Υπάρχει όμως ακόμα μια λεπτή διαφορά. Τα παραπάνω, συμπεριλαμβανομένων των υπηρεσιών του Καταχωρητή στο .GR, αφορούν θέματα forward DNS resolving. Χοντρά-χοντρά το forward DNS resolving αφορά τη διαδικασία της “μετάφρασης” από ένα όνομα σε μια IP address. Π.χ. όταν ο web browser σας ζητά να συνδεθεί στο www.google.com, μέσω του DNS ζητά να συνδεθεί στην διεύθυνση 74.125.53.99.

Το παραπάνω είναι διαφορετικό από το πρόβλημα του ΝΠΔΔ που μας τηλεφώνησε. Όταν σε ένα server συνδέεται ένας υπολογιστής για να κάνει χρήση μιας υπηρεσίας, ο server γνωρίζει την IP address του υπολογιστή που συνδέθηκε πάνω του. Για να μάθει το όνομά του πρέπει να κάνει αυτό που ονομάζεται reverse DNS lookup (τεχνικά όχι κάτι διαφορετικό από το forward DNS lookup). Μια συνήθης πολιτική πρόσβασης είναι να μην επιτρέπεται η πρόσβαση σε κάποια υπηρεσία όταν δεν μπορεί να διασταυρωθεί το όνομα του μηχανήματος που προσπαθεί να συνδεθεί. Το πρόβλημα που είχε το συγκεκριμένο ΝΠΔΔ, ήταν πως αυτή η διασταύρωση δεν μπορούσε να γίνει. Θεώρησαν σωστό λοιπόν να μιλήσουν με τον Καταχωρητή τους για το πρόβλημα αυτό.

- Μίλησαν όμως με τον σωστό Καταχωρητή;

Όχι. Οι καταχωρητές που διαμεσολαβούν για την εκχώρηση ενός domain (είτε στο .GR, είτε σε κάποιο άλλο TLD ή ccTLD) στη γενική περίπτωση δεν είναι οι ίδιοι με τους “αντίστροφους” (ας μου επιτραπεί ο όρος) Καταχωρητές. Συνήθως όμως ο ISP σας είναι και ο “αντίστροφος” Καταχωρητής που απέδωσε την διεύθυνση IP με την οποία συνδέεται κάποιος στο Internet.

Το “φάσμα” των IP διευθύνσεων το διαχειρίζεται η IANA. Αυτή εκχωρεί address blocks στα Regional Internet Registries. Για τον ευρωπαϊκό χώρο το αντίστοιχο RIR είναι το RIPE NCC. Το RIPE με τη σειρά του εκχωρεί block διευθύνσεων στα Local Internet Registries που είναι μέλη του. Οι ISP ζητάνε διευθύνσεις τόσο για τις ανάγκες τους, όσο και για τις ανάγκες των πελατών τους από ένα LIR. Συνηθέστερα οι ίδιοι οι ISP λειτουργούν και ως LIR.

Έτσι λοιπόν το bookkeeping του reverse DNS είναι μια δραστηριότητα που ανήκει στην αλυσίδα IANA → RIR → LIR → ISP (ή οργανισμός στον οποίο έχει αποδοθεί block διευθύνσεων). Επομένως ο Καταχωρητής σας δεν είναι απαραίτητα τμήμα αυτής της αλυσίδας.

Πίσω στην ιστορία μας: Τι είχε συμβεί; Κάποια στιγμή, κάποιος στο ΝΠΔΔ αποφάσισε να κάνει format / reinstall τους DNS servers. Στην πορεία αποφάσισε να αλλάξει και τις IP addresses των servers. Μετά από μερικές μέρες και αφού διαπίστωσε πως κανείς από το Internet “δεν τον έβλεπε” επικοινώνησε με εμάς (είμαστε οι Καταχωρητές του στο .GR, αλλά όχι ο ISP του) ώστε να οριστούν οι νέες διευθύνσεις στο Μητρώο του .GR. Λίγο καιρό μετά ξαναεπικοινώνησε “επειδή δεν ήταν στο DNS” ενώ οι αλλαγές είχαν γίνει. Ναι, αλλά το LIR του δεν είχε ενημερωθεί για αυτές. Το ενημέρωσε και το πρόβλημα λύθηκε.

Αν τα παραπάνω σας φαίνονται κουραστικά και πολύπλοκα είναι γιατί είναι.

Από τις 4 Ιουλίου του 2005 υποστηρίζονται Ελληνικοί χαρακτήρες στο .gr. Αυτό όμως δεν φαίνεται να συγκινεί τους webmasters διαφόρων εκπομπών. Πριν λίγο κάνοντας zapping έπεσα στο www.katipsinetai.gr. Πέρσυ ήταν η www.ellinikiradiofonia.gr.

Υπάρχει κάποιος λόγος που δεν είναι ελκυστικά τα ονόματα DNS με ελληνικούς χαρακτήρες και αντίθετα τα λατινικά είναι προτιμητέα ακόμη και “ανορθόγραφα”;

This is a story we dealt with some months ago. After a major upgrade of the pipes that connect us with one of our upstreams (lets call them O) our support lines started getting complaints that certain sites could not be reached (RapidShare was a notable example). At first this was thought to be a temporary routing problem, but as calls started to amass within the hour, we looked further into it.

Since we already had a list of sites that were not reachable, we used the first tool one uses at such situations: traceroute. What I immediately observed was that prior to failing, traceroute took sometime to execute. Could it be that the DNS servers and not the web sites were not reachable?

Since we run a separate setup that forwards queries to OpenDNS, I used that DNS server, and traceroute worked! So it indeed was a routing problem, only it was not a routing problem to the web site itself, rather to its name servers who were unreachable by our DNS servers. Tracerouting by hand to the IP addresses of the DNS servers of the “problematic” domains verified that. Luckily we could reach OpenDNS, who in turn could reach (and cached) the DNS servers we could not.

While in fact a very small part of the Internet was not reachable at the time, due to the fact that lots of DNS servers serving other domains lived there, a significantly larger part of the web was invisible. Such issues do occur when your DNS and your hosting provider are networks appart.

We opened a ticket with O and tried to resolve the situation. It seemed that the problem was a case of asymmetric routing, since answers to our packets were returning via our other upstream (lets call them F). The weirdness of describing the problem confused at first the routing engineers at F who could not believe that we were using DNS servers that were not forwarding to theirs. Luckily their DNS master is a good friend and helped get past that quickly. They (F) located the problem to the configuration of one of their upstreams (lets call them L). They opened a ticket and we all waited. In the mean time they (F) devised a backup plan, in case L did not want to cooperate. But they did.

So when you think (or are told) that a web site is unreachable, always check whether its DNS servers are reachable first.

From the RIPE DNS Lameness Statistics site:

The RIPE NCC runs a lameness check once a month on all DNS servers listed as delegation points within the RIPE NCC delegated zones. If a server fails this test, the test will be retried five times over a period of ten days, at varying times of day. If, after ten days, the server continues to fail the test, it is classed as lame.

Related document: RIPE-400

[via dns-wg]

Γράφει ο @zvr:

Δε ξέρω για ο,τιδήποτε άλλο, αλλά τουλάχιστον τα ονόματα των υπουργείων περάσανε στον 21ο αιώνα! (αν και θα έχουν πρόβλημα με τα domains :-)

Εγώ πάλι σε ότι αφορά τα domains το βλέπω σαν μια χρυσή ευκαιρία για:

  • να χρησιμοποιούν τα Υπουργεία .GR με Ελληνικούς Χαρακτήρες.
  • να μπουν όλα (επιτέλους) κάτω από το .gov.gr ή να βγουν όλα από αυτό.
  • να έχουν με κάποιο τρόπο προφανή ονομασία που να έχει νόημα σε μία γλώσσα, είτε γράφεται λατινικά η Ελληνική ονομασία είτε η Αγγλική.

Έτσι θα γλιτώσουμε από τραγικά αντιαισθητικές επιλογές όπως:

  • mof-glk.gr ← Ministry Of Finance – Geniko Logistirio (toy) Kratoys
  • ypergka.gr ← Υπουργείο Εργασίας
  • ypepth.gr ← ΥΠΕΠΘ
  • yme.gov.gr ← ΥΜΕ
  • κ.λπ.

[ Ειδικά για το yme.gov.gr (μια και το υπουργείο το σύνδεσα εγώ στο δίκτυο το 2001) μπορώ να πω πως για πολύ καιρό δούλευε ανεξάρτητα από το yme.gr γιατί το yme.gov.gr το διαχειριζόταν ο διοικητικός μηχανισμός ενώ το yme.gr το γραφείο του Υπουργού- αρκετά χρόνια μετά επήλθε σύγκλιση. ]

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

(λίγο σκόρπιες)

Κάποιος έφτασε εδώ πέρα ψάχνοντας για “σημειώσεις bind”*. Είχα γράψει παλιότερα ένα post με θέμα DNS resources και σκέφτηκα να το κάνω λίγο καλύτερο:

Το καλύτερο πράγμα που έχει να κάνει κάποιος είναι να αγοράσει το βιβλίο των Albitz και Liu, δηλαδή το “DNS and BIND“. Υπάρχει και έκδοση για Windows. Αλλά ακόμα και εάν δεν θέλει να δώσει τα $35 που κοστίζει το PDF, υπάρχει τρόπος, λίγο πιο δύσκολος ίσως, αλλά γίνεται και έτσι. Θα προσπαθήσω να γράψω δώσω τα κείμενα με την ιστορική σειρά που τα συνάντησα:

[ BIND == Berkeley Internet Name Domain ]

Κοιτώντας στο παρελθόν του BIND, θα δει κανείς πως υπάρχουν τρία κύρια software branch: Η έκδοση 4, η έκδοση 8 και η έκδοση 9 (Ετοιμάζεται και τέταρτος κλάδος: BIND10). Τον καιρό εκείνο που υπήρχε μόνο η έκδοση 4 και πριν την έκδοση του βιβλίου του O’Reilly, το βασικό ανάγνωσμα ήταν το Bind Operator’s Guide, ευρύτερα γνωστό και ως BOG. Τα παλιά εκείνα χρόνια το BOG ήταν κομάτι του 4.4BSD documentation.

Δύο newsgroups:

Το DNS Resources Directory (DNSRD) του András Salamon.

Το paper του Steve BellovinUsing the Domain Name System for System Break-ins“. Αρχικά ήταν διαθέσιμο μόνο σε οσους είχαν τυπωμένα proceedings του USENIX. Τον παρακάλεσα και μου το έστειλε (Σημ. Αυτό το paper είναι η αιτία που έγινα μέλος του USENIX). Στο ίδιο συνέδριο υπήρχε και το “DNS and BIND security issues” του Paul Vixie.

Για όσους θυμούνται το COAST Archive, άλλα δύο paper: “Countering Abuse of Name-Based Authentication” και “Addressing Weaknesses in the Domain Name System Protocol“.

Το Ask Mr. DNS από την Acme Byte & Wire (που αγοράστηκε από τη Verisign). Τώρα, μετά από χρόνια σιγής, έχει γίνει το The Ask Mr. DNS Podcast. Μπορείτε πάντα να τον ρωτάτε στο mrdns@ask-mrdns.com.

Το survey από την Men & Mice. Δεν το βρίσκω τώρα, αλλά έχουν εξαιρετικό knowledgehub.

Μετά εμφανίστηκε η version 8. Για όσους ενδιαφέρονται να μάθουν γιατί από τη version 4 πήγε στην 8, αυτό έχει να κάνει με μια απόφαση για την αρίθμηση όλου του software που συμπεριαλλαμβανόταν στο 4.4BSD. Για τον ίδιο λόγο και το sendmail όταν ο Eric Allman ξανάρχισε να ασχολείται μαζί του πήγε από τη version 5 στη version 8.

Το “Deploying DNS and Sendmail” [pdf] του Hal Pomeranz.

Η σελίδα DNS for Rocket Scientists του Ron Aitchison που συμπηρώνει άριστα το DNSRD.

Το αντίστοιχο του BOG για το BIND9, “BIND9 Administrator Reference Manual” [pdf για την έκδοση 9.6]

Τα RFCs:

Και τέλος το FAQ.

(Και δεν έχω γράψει τίποτε για DNSSEC ή IPv6)

Συμπέρασμα; Αγοράστε το βιβλίο (Εναλλακτικά: “Pro DNS and BIND“).


[*] – Για μια σύντομη ιστορία του BIND: History of BIND software development.

I just bought the PDF version of “DNS and BIND“. In the old days I had read the first and second editions from cover to cover, so having an updated electronic edition seemed quite handy.

This is what I see from freeshell.org:

adamo@svalbard:~
Wed Feb 04, 10:52:06 [513] $ host -t soa gr.
gr has SOA record grdns.ics.forth.gr. hmaster-info.ics.forth.gr. 902040905 7200 1800 86400 1800

adamo@svalbard:~
Wed Feb 04, 10:52:13 [514] $ host -t soa gr. grdns.ics.forth.gr
Using domain server:
Name: grdns.ics.forth.gr
Address: 139.91.1.1#53
Aliases:

gr has SOA record grdns.ics.forth.gr. hmaster-info.ics.forth.gr. 902040704 7200 1800 86400 1800

Could this be the reason that we have a client not visible to the rest of the Internet? Maybe, since the secondaries seem to carry a version of the .GR zone with greater serial number than the master server.

Update: As usual, there are simpler answers: Like the customer forgetting to renew the domain name.

DNS-BH

2008/07/20

Βρήκα λίγο χρόνο και έβαλα έναν από τους name servers μας να “τρέχει” τις ζώνες της DNS-BH Mailware Domain Blocklist. Έτσι ο opendns.tee.gr (212.70.194.242) εκτός από forwarder προς το OpenDNS εξυπηρετεί και αυτές. Σκέφτομαι όμως:

- Και λοιπόν;

Εφόσον τα συγκεκριμένα malware domains δεν τα εξυπηρετούν οι “κανονικοί” name servers, πόσοι χρήστες θα επιλέξουν να αλλάξουν το default ώστε να έχουν ένα DNS server που θα τους βοηθάει να αποφεύγουν μερικές κακοτοπιές; Άντε να είναι και 5 όλοι κι όλοι.

Από την άλλη εάν έβαζα τις συγκεκριμένες ζώνες στους domain servers που χρησιμοποιούν οι χρήστες by default, θα είχαν στη διάθεσή τους μια διαφορετική εικόνα του δικτύου, χωρίς να είναι επιλογή τους αυτό. Πόσοι θα παραπονιόνταν; Άντε να ήταν άλλοι 5.

Do I hear someone yelling Network Neutrality?

Related posts:

Follow

Get every new post delivered to your Inbox.

Join 1,104 other followers