Ein TXT Resource Record ist ein Eintrag (Resource Record) im Domain Name System, mit dem ein frei definierbarer Text in einer DNS-Zone abgelegt werden kann.

Aufbau

NAME
Domain-Name
TTL
Time to Live
gibt an, wie lange der Eintrag im Cache gehalten werden darf
IN
Klasse
zumeist IN für Internet
TXT
Typ des Records
TXT-DATA
ein oder mehrere frei definierbare Strings mit jeweils bis zu 255 Zeichen.[1] Die Anzahl der Strings ist unbegrenzt bzw. nur durch die Länge einer DNS-Nachricht begrenzt. Durch Verkettung mehrerer Strings ist somit ein längerer Text möglich. In DNS-Diagnosewerkzeugen werden die einzelnen Strings üblicherweise mit Anführungszeichen umschlossen (kommt ein Anführungszeichen im String vor, wird es durch einen Backslash in der Form von \" maskiert).[2]

Das DNS-Protokoll gibt keine Zeichenkodierung für den Text vor und unterstützt prinzipiell die Übertragung von beliebigen 8-bit Binärdaten. Anwendungen verwenden in der Regel aus Kompatibilitätsgründen ASCII. Binärdaten werden üblicherweise mit Base64 in ASCII-Text umgewandelt.

Beispiel

server1.example.com.  3600  IN  TXT  "Hello World"
multistring.example.com.  3600  IN  TXT  "Dieser Text besteht aus " "mehreren Strings unterschiedlicher Laenge."

Anwendungen

TXT-Records werden aufgrund der Flexibilität für verschiedenste Zwecke eingesetzt. Dazu zählen beispielsweise die Policy-Veröffentlichung beim Sender Policy Framework oder bei DMARC. Bei DKIM dienen TXT-Records zur Veröffentlichung von kryptographischen Schlüsseln. Neben solchen standardisierten Verfahren nutzen zahlreiche Software-Hersteller TXT-Records zum Nachweis über die Kontrolle einer Domain; hierzu muss der Domain-Inhaber ein vom Hersteller vorgegebenes, einmaliges Text-Token als TXT-Record einstellen.

Aufgrund der Flexibilität können TXT-Records zum Tunneln von Netzwerkverbindungen zweckentfremdet werden. Dies wurde unter anderem auf dem 21C3 demonstriert.[3]

  • RFC 1035 – Domain Names – Implementation And Specification. (englisch).
  • RFC 1464 – Using the Domain Name System To Store Arbitrary String Attributes. (englisch).

Einzelnachweise

  1. RFC 1035 – Domain Names – Implementation And Specification. Abschnitt 3.3.14 (englisch). sowie Abschnitt 3.3.
  2. RFC 1035 – Domain Names – Implementation And Specification. Abschnitt 5.1 (englisch).
  3. Black Ops of DNS. In: 21st Chaos Communication Congress. Chaos Computer Club, 2004, abgerufen am 1. Mai 2019.