W trakcie niektórych obowiązków służbowych muszę zagłębić się w rekordy SRV i staram się pogodzić oświadczenie Wikipedii z tym, co widzę w wykopach DNS.
Według SRV wpisu rekordu Wikipedii ,
cel w rekordach SRV musi wskazywać na nazwę hosta z rekordem adresu (rekord A lub AAAA). Wskazanie nazwy hosta z rekordem CNAME nie jest prawidłową konfiguracją.
ale widzę rekordy, w których dig
zwraca rekord SRV wskazujący nazwę, która jest aliasem w rekordzie CNAME.
To znaczy coś takiego:
> dig _https._tcp.alpha.domain.com SRV
;; QUESTION SECTION:
;_https._tcp.alpha.domain.com. IN SRV
;; ANSWER SECTION:
_https._tcp.alpha.domain.com 59 IN SRV 30 30 4443 alias.domain.com
> dig alias.domain.com
;; QUESTION SECTION:
;alias.domain.com. IN A
;; ANSWER SECTION:
alias.domain.com. 35 IN CNAME canonical.name.amazonaws.com.
canonical.name.amazonaws.com. 35 IN A 52.78.234.189
canonical.name.amazonaws.com. 35 IN A 107.21.179.88
canonical.name.amazonaws.com. 35 IN A 52.12.126.92
Wygląda na to, że rekord SRV jest skonfigurowany dokładnie tak, jak mówi wpis w Wikipedii, że jest niedozwolony. Co ja mylę? Czy to nie pokazuje, że rekord SRV wskazuje na alias.domain.com, który ma rekord CNAME, a nie rekord adresu?
Odpowiedzi:
Artykuł w Wikipedii, który cytujesz, podaje, co stwierdza odpowiedni dokument RFC 2782 dla rekordów SRV:
To, co widzisz, jest wyraźnym naruszeniem zasad; Jednak to może działać (i zwykle jest), jeśli cokolwiek aplikacji klienta poszukuje tego rekordu SRV jest wystarczająco inteligentny, aby prawidłowo obsługiwać rekord CNAME, nawet jeśli należy oczekując tylko rekord A w odpowiedzi.
Ale może też w ogóle nie działać: jest nieobsługiwany i całkowicie zależny od aplikacji klienckiej; dlatego należy tego unikać, ponieważ nie przestrzega właściwych zasad i może prowadzić do błędnych i / lub nieprzewidywalnych rezultatów.
Jest to podobne do wskazywania rekordu MX na CNAME, który jest zdefiniowany jako po prostu zły nie tylko w jednym , ale w dwóch RFC, a jednak jest to dość powszechna praktyka (i żaden serwer pocztowy nie wydaje się mieć z tym problemu).
źródło
NS
rekordów przez BIND i zabronione aliasing to klasyczny przykład tego. Niezależnie od tego jesteśmy zgodni, że jest to gra każdego z nieprzewidywalnymi rezultatami.To przykład ograniczonego zachowania, tak. Samo ograniczenie pochodzi z RFC 2781 w definicji „celu”:
Niestety oprogramowanie serwera DNS pozwalające na zabronione konfiguracje nie jest niczym nowym. Może i zdarza się, jak ma to miejsce w przypadku innych typów rekordów gdzie aliasingiem cele są zakazane, takich jak
NS
iMX
. (wspomniano powyżej)To, że można go znaleźć na wolności, nie oznacza, że jest „w porządku”, a to, co dzieje się, gdy standard jest ignorowany, różni się w zależności od produktu. Nie testowałem interakcji z
SRV
rekordami, ale bardzo dobrze znaną decyzją projektową ISC BIND w odniesieniu doNS
rekordów wskazujących na aliasy jest całkowite usunięcie rekordu, jeśli zostanie znalezione podczas rekurencji. Jeśli wszystkieNS
rekordy zostaną usunięte w ten sposób, wynikiem wszystkich zapytań będąSERVFAIL
dane subdomeny.Krótko mówiąc, trzymaj się standardu. To jedyna bezpieczna rzecz do zrobienia.
źródło