Reverse DNS Lookup bei Mails
Ohne DNS würde heute Internet noch in den Kinderschuhen stecken und nicht so benutzerfreundlich daherkommen.
Der DNS Dienst sorgt dafür, dass eine Anfrage nach www.google.ch auch einen Google Server mit einer 127.152.39.223 Nummer findet. Wer könnte sich denn einfach für jeden Dienst eine IP Adresse merken?
Wenn ein Land gewisse Seiten blockieren möchte, leitet es einfach die DNS Anfragen auf eine andere IP Adresse um und die Seite scheint „verschwunden“ zu sein. Hätte man aber die direkte IP Adresse, könnte man die Seiten weiterhin öffnen. Eine Blockade wie im Moment in Lybien wäre dadurch nutzlos.
Dennoch sind DNS Namen einfacher zu merken und werden daher immer vorgezogen. Eine gute Beschreibung zu DNS findet man bei Wikipedia.
Bei E-Mails nutzt man zusätzlich den Reverse DNS (RDNS). Was ist das? Man fragt nach einer IP Adresse an und bekommt die Domain zurückgeliefert. Eben das umgekehrte Vorgehen einer DNS Abfrage. Warum?
Sagen wir dies mal so, ich gehe mit einem SpamServer online und verschicke gleich im Namen von Google Spammails.
Die Empfänger Server schauen nun welche IP mein Server hat und machen ein Reverse DNS lookup und bekommen als Antwort ‚hanswurst.ch‘ geliefert. Die Mailserver wissen so sehr schnell das dies ein Spamserver ist, denn die Rückmeldung müsste auf ‚irgednwas.google.ch‘ lauten. Die Einträge in den Maildienst ist daher wichtig (z.B. in Postfix).
Sind die Einträge falsch, findet man im mail.info Log solche Einträge:
Feb 23 19:47:16 vserver3149 postfix/smtp[28214]: B4B5C12A967: to=<blubber@werimmer.de>,
relay=mail.deinedimain.ch[xx.xx.xx.xx]:25, delay=0.36, delays=0.06/0.03/0.24/0.04, dsn=5.5.2, status=bounced
(host mail.deinedimain.ch[xx.xx.xx.xx] said: 504 5.5.2 <www-data@server1111>:
Sender address rejected: need fully-qualified address (in reply to RCPT TO command))
Wie findet man seine Reverse DNS Namen raus?
Ich pinge mein Server mal an um an die IP Adresse zu kommen.
ping murawski.ch
Ping wird ausgeführt für murawski.ch [94.126.17.223] mit 32 Bytes Daten:
…
Meine IP Adresse ist also 94.126.17.223.
Diese kehre ich nun um: 223.17.126.94 und hänge .in-addr.arpa. an: 223.17.126.94.in-addr.arpa.
Mit der Abfrage:
dig +trace +additional -t PTR 223.17.126.94.in-addr.arpa.
Bekomme ich nun eine grössere Rückmeldung, wobei der interessante Teil am Ende ist:
; <<>> DiG 9.6-ESV <<>> +trace +additional -t PTR 223.17.126.94.in-addr.arpa. ;; global options: +cmd . 410985 IN NS a.root-servers.net. . 410985 IN NS b.root-servers.net. . 410985 IN NS c.root-servers.net. . 410985 IN NS d.root-servers.net. . 410985 IN NS e.root-servers.net. . 410985 IN NS f.root-servers.net. . 410985 IN NS g.root-servers.net. . 410985 IN NS h.root-servers.net. . 410985 IN NS i.root-servers.net. . 410985 IN NS j.root-servers.net. . 410985 IN NS k.root-servers.net. . 410985 IN NS l.root-servers.net. . 410985 IN NS m.root-servers.net. b.root-servers.net. 491717 IN A 192.228.79.201 c.root-servers.net. 14770 IN A 192.33.4.12 d.root-servers.net. 491721 IN A 128.8.10.90 e.root-servers.net. 14770 IN A 192.203.230.10 g.root-servers.net. 14770 IN A 192.112.36.4 i.root-servers.net. 14770 IN A 192.36.148.17 i.root-servers.net. 437819 IN AAAA 2001:7fe::53 j.root-servers.net. 293773 IN A 192.58.128.30 j.root-servers.net. 410985 IN AAAA 2001:503:c27::2:30 k.root-servers.net. 14770 IN A 193.0.14.129 k.root-servers.net. 437819 IN AAAA 2001:7fd::1 l.root-servers.net. 491748 IN A 199.7.83.42 l.root-servers.net. 282084 IN AAAA 2001:500:3::42 m.root-servers.net. 14770 IN A 202.12.27.33 ;; Received 500 bytes from 80.74.130.131#53(80.74.130.131) in 1 ms in-addr.arpa. 172800 IN NS b.in-addr-servers.arpa. in-addr.arpa. 172800 IN NS d.in-addr-servers.arpa. in-addr.arpa. 172800 IN NS a.in-addr-servers.arpa. in-addr.arpa. 172800 IN NS e.in-addr-servers.arpa. in-addr.arpa. 172800 IN NS c.in-addr-servers.arpa. in-addr.arpa. 172800 IN NS f.in-addr-servers.arpa. a.in-addr-servers.arpa. 172800 IN A 199.212.0.73 b.in-addr-servers.arpa. 172800 IN A 199.253.183.183 c.in-addr-servers.arpa. 172800 IN A 196.216.169.10 d.in-addr-servers.arpa. 172800 IN A 200.10.60.53 e.in-addr-servers.arpa. 172800 IN A 203.119.86.101 f.in-addr-servers.arpa. 172800 IN A 193.0.9.1 a.in-addr-servers.arpa. 172800 IN AAAA 2001:500:13::73 b.in-addr-servers.arpa. 172800 IN AAAA 2001:500:87::87 c.in-addr-servers.arpa. 172800 IN AAAA 2001:43f8:110::10 d.in-addr-servers.arpa. 172800 IN AAAA 2001:13c7:7010::53 e.in-addr-servers.arpa. 172800 IN AAAA 2001:dd8:6::101 f.in-addr-servers.arpa. 172800 IN AAAA 2001:67c:e0::1 ;; Received 420 bytes from 192.228.79.201#53(b.root-servers.net) in 180 ms 94.in-addr.arpa. 86400 IN NS ns-pri.ripe.net. 94.in-addr.arpa. 86400 IN NS tinnie.arin.net. 94.in-addr.arpa. 86400 IN NS ns2.lacnic.net. 94.in-addr.arpa. 86400 IN NS sec1.apnic.net. 94.in-addr.arpa. 86400 IN NS sec3.apnic.net. ;; Received 168 bytes from 203.119.86.101#53(e.in-addr-servers.arpa) in 268 ms 17.126.94.in-addr.arpa. 172800 IN NS ns.ch-meta.net. 17.126.94.in-addr.arpa. 172800 IN NS ns2.ch-meta.net. ;; Received 112 bytes from 193.0.0.195#53(ns-pri.ripe.net) in 18 ms 223.17.126.94.in-addr.arpa. 43200 IN PTR blutvampir.com. 17.126.94.in-addr.arpa. 43200 IN NS ns2.ch-meta.net. 17.126.94.in-addr.arpa. 43200 IN NS ns.ch-meta.net. ns.ch-meta.net. 600 IN A 80.74.130.30 ns.ch-meta.net. 600 IN AAAA 2a00:1128:1:1::130:30 ns2.ch-meta.net. 600 IN A 80.74.130.130 ns2.ch-meta.net. 600 IN AAAA 2a00:1128:1:1::130:130 ;; Received 206 bytes from 80.74.130.130#53(ns2.ch-meta.net) in 1 ms
Im letzten Abschnitt findet man den PTR Eintrag (oberste Zeile) welcher auf blutvampir.com zeigt, auch eine Domain von mir.
Normalerweise ist dort ein Eintrag wie server1234.deinhoster.ch zu finden, da ich ein eigener Root Server habe und auch gleich meine eigenen IP Adressen, liess ich den RDNS Eintrag bei ARPA in meine Domain ändern ;)
Pingt man den Eintrag, wird man die gleiche IP des eigenen Server bekommen.
Damit man nun den Fehler in einem Mailsystem beseitigen kann wie z.B. Postfix, öffnet man die Konfigurationsdatei /etc/postfix/main.cnf und sucht die Zeile:
myorigin = vserver1111
und ändere diese auf den RDNS Eintrag (nehmen wir an ich hätte server1111.deinhoster.ch gehabt) ab:
myorigin = server1111.deinhoster.ch
und startet anschliessend den Dienst neu, damit der Fehler beseitig ist:
/etc/init.d/postfix restart
Man lernt daraus, bei einem falschen RDNS Eintrag, können fremde Mailserver den eigenen Server als Spamquelle kennzeichnen und daher Mails ablehnen. RDNS Einträge sind daher wichtig und sollten beachtet werden!
PS: Damit man den RDNS einfacher abfragen kann, einfach folgende Zeilen auf der Shell ausführen:
touch /usr/sbin/rdns
chmod 700 /usr/sbin/rdns
Nun öffnet man die Datei /usr/sbin/rdns und fügt folgenden Inhalt ein:
#!/bin/bash ip=`ping $1 -c 1 | grep data | awk '{print $3 " " }' | sed s/"("/""/ | sed s/")"/""/ |sed s/":"/""/` IP=(${ip//./ }); Rev=${IP[3]}.${IP[2]}.${IP[1]}.${IP[0]} output=`dig +trace +additional -t PTR $Rev.in-addr.arpa. | grep $Rev.in-addr.arpa. | grep IN | awk '{print $5 " " }'` A=${output:0:${#output} - 2} echo $A
Anschliessend kann man mit ‚rdns murawski.ch‘ die Abfrage schneller ausführen und bekommt den RDNS Namen gleich zurückgeliefert ohne sonstige Informationen.