{"id":61,"date":"2015-02-23T14:28:25","date_gmt":"2015-02-23T14:28:25","guid":{"rendered":"http:\/\/carsten.familie-schumann.info\/blog\/?p=61"},"modified":"2019-04-17T06:46:31","modified_gmt":"2019-04-17T04:46:31","slug":"contabo-und-spf","status":"publish","type":"post","link":"https:\/\/carsten.familie-schumann.info\/blog\/2015\/02\/contabo-und-spf\/","title":{"rendered":"Contabo und SPF"},"content":{"rendered":"<p>Seit wir unseren neuen Server, einen VPS bei Contabo haben, bekommen wir f\u00fcr angenehm wenig Geld relativ viel Leistung. Auf dem VPS betreiben wir auch einen Mailserver, der (basierend auf einem Debian) f\u00fcr verschiedene Domains Mails ausliefert und annimmt.<\/p>\n<p>Die Tage fiel mir auf, dass einige Mails, vornehmlich solche an @gmail.com oder @live.de mit Fehlermeldungen zur\u00fcckkamen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nempfaenger@gmail.com\r\nSMTP error from remote mail server after end of data:\r\nhost gmail-smtp-in.l.google.com &#x5B;2a00:1450:4013:c01::1b]:\r\n550-5.7.1 &#x5B;2a02:c200:1:10:3:0:6175:1 12] Our system has detected that this\r\n550-5.7.1 message is likely unsolicited mail. To reduce the amount of spam sent\r\n550-5.7.1 to Gmail, this message has been blocked. Please visit\r\n550-5.7.1 http:\/\/support.google.com\/mail\/bin\/answer.py?hl=en&amp;amp;answer=188131 for\r\n550 5.7.1 more information. lj18si16872950wic.58 - gsmtp\r\n<\/pre>\n<p>In erster Instanz sah es so aus, als w\u00fcrden unsere Mails als SPAM klassifiziert. Die Ursachenforschung begann.<\/p>\n<p>Google verwendet diverse Dienste\/Protokolle, um festzustellen, ob es sich bei einer eingehenden Mail um SPAM oder normale Post handelt. Hierzu z\u00e4hlen z.a. <a title=\"DKIM\" href=\"http:\/\/de.wikipedia.org\/wiki\/DomainKeys\">DKIM<\/a> und <a title=\"SPF\" href=\"http:\/\/de.wikipedia.org\/wiki\/Sender_Policy_Framework\">SPF<\/a>. Eigentlich sollte unsere Domain SPF unterst\u00fctzen und einen g\u00fcltigen Record zur\u00fcckliefern. Die Domain hei\u00dft &#8222;ff-holsterhausen.de&#8220;, der Mailserver identifiziert sich unter dem Namen &#8222;hora.tempus-vivit.net&#8220; und der IP 213.136.68.159.<\/p>\n<p>Die erste Anlaufstelle ist das Linux-Tool <strong>dig<\/strong>, mit dem man DNS-Informationen abfragen kann. Eine Abfrage auf die Domain zeigte folgendes: <\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nuser@tempus-vivit.net:# dig ff-holsterhausen.de any\r\n\r\n; &lt;&lt;&gt;&gt; DiG 9.9.5-8-Debian &lt;&lt;&gt;&gt; ff-holsterhausen.de any\r\n;; global options: +cmd\r\n;; Got answer:\r\n;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 36513\r\n;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1\r\n\r\n;; OPT PSEUDOSECTION:\r\n; EDNS: version: 0, flags:; udp: 4096\r\n;; QUESTION SECTION:\r\n;ff-holsterhausen.de.           IN      ANY\r\n\r\n;; ANSWER SECTION:\r\nff-holsterhausen.de.    2560    IN      SOA     ns.namespace4you.de. hostmaster.ff-holsterhausen.de. 1424690369 16384 2048 1048576 2560\r\nff-holsterhausen.de.    3600    IN      A       213.136.68.159\r\nff-holsterhausen.de.    3600    IN      MX      50 ff-holsterhausen.de.\r\nff-holsterhausen.de.    86400   IN      NS      ns2.namespace4you.de.\r\nff-holsterhausen.de.    86400   IN      NS      ns.namespace4you.de.\r\nff-holsterhausen.de.    3600    IN      TXT     &quot;v=spf1 mx a ptr ip4:213.136.68.159 mx:hora.tempus-vivit.net ~all&quot;\r\n\r\n;; Query time: 23 msec\r\n;; SERVER: 213.136.95.10#53(213.136.95.10)\r\n;; WHEN: Mon Feb 23 15:06:36 CET 2015\r\n;; MSG SIZE  rcvd: 253\r\n<\/pre>\n<p>Soweit sah alles gut aus, die SPF-Records wurden also ausgeliefert. Eine kurze Pr\u00fcfung auf <a href=\"http:\/\/tools.bevhost.com\/spf\/\">http:\/\/tools.bevhost.com\/spf\/<\/a> zeigte auch alles im gr\u00fcnen Bereich. Praktischerweise gibt es auch mailbasierte Tests. Hierf\u00fcr muss man einfach eine Mail an <a href=\"mailto:check-auth@verifier.port25.com\">check-auth@verifier.port25.com<\/a> schicken und bekommt die Antwort ein paar Minuten sp\u00e4ter per Mail zur\u00fcck: <strong>SPF Softfail!<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n==========================================================\r\nSummary of Results\r\n==========================================================\r\nSPF check:          softfail\r\nDomainKeys check:   neutral\r\nDKIM check:         neutral\r\nSender-ID check:    softfail\r\nSpamAssassin check: ham\r\n\r\n==========================================================\r\nDetails:\r\n==========================================================\r\n\r\nHELO hostname:  hora.tempus-vivit.net\r\nSource IP:      2a02:c200:1:10:3::6175:1\r\nmail-from:      cschumann@ff-holsterhausen.de\r\n\r\n----------------------------------------------------------\r\nSPF check details:\r\n----------------------------------------------------------\r\nResult:         softfail (SPF-Result: SoftFail)\r\nID(s) verified: smtp.mailfrom=cschumann@ff-holsterhausen.de\r\nDNS record(s):\r\n    ff-holsterhausen.de. SPF (no records)\r\n    ff-holsterhausen.de. 2260 IN TXT &quot;v=spf1 mx a ip4:213.136.68.159 mx:hora.tempus-vivit.net ~all&quot;\r\n    ff-holsterhausen.de. 2261 IN MX 50 ff-holsterhausen.de.\r\n    ff-holsterhausen.de. AAAA (no records)\r\n    ff-holsterhausen.de. AAAA (no records)\r\n<\/pre>\n<p>Der ge\u00fcbte Leser sieht aber in dieser Mail auch schon die Ursache des Problems, alle anderen (und ich) m\u00fcssen mehrfach lesen: <strong>Source IP:      2a02:c200:1:10:3::6175:1<\/strong><\/p>\n<p>Offensichtlich versucht der EXIM-Mailserver die E-Mail \u00fcber IPv6 zu versenden. Der SPF-Record ist aber nur f\u00fcr IPv4 definiert und der Reverse-DNS ebenfalls:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nuser@tempus-vivit.net:# nslookup 213.136.68.159\r\nServer:         213.136.95.10\r\nAddress:        213.136.95.10#53\r\n\r\nNon-authoritative answer:\r\n159.68.136.213.in-addr.arpa     name = hora.tempus-vivit.net.\r\n\r\nAuthoritative answers can be found from:\r\n\r\nuser@tempus-vivit.net:# nslookup 2a02:c200:1:10:3::6175:1\r\nServer:         213.136.95.10\r\nAddress:        213.136.95.10#53\r\n\r\nNon-authoritative answer:\r\n1.0.0.0.5.7.1.6.0.0.0.0.3.0.0.0.0.1.0.0.1.0.0.0.0.0.2.c.2.0.a.2.ip6.arpa        name = vmd6175.contabo.host.\r\n<\/pre>\n<p>Somit ist die Ursache gefunden. Die IPv6 Adresse ist schnell in die SPF-Zeile eingetragen <strong>[Siehe Update unten]<\/strong><del datetime=\"2019-04-17T04:28:36+00:00\">, aber wo zum Teufel wird der RDNS konfiguriert in der Contabo-Oberfl\u00e4che???<\/del><\/p>\n<p><del datetime=\"2019-04-17T04:28:36+00:00\">Eine Mail schafft klarheit: Nirgendwo. Man muss den gew\u00fcnschten Eintrag dem Contabo-Support per Mail mitteilen, sodass diese den Eintrag vornehmen k\u00f6nnen. Immerhin reagiert der Support \u00e4u\u00dferst schnell auf derartige Anfragen.<\/del><\/p>\n<p>Alternativ kann man \u00fcbrigens auch EXIM die Nutzung von IPv6 verbieten. Dies erfolgt \u00fcber den Eintrag <strong>disable_ipv6 = true<\/strong> in der Datei main\/00_exim-localmacros.<\/p>\n<p><strong>Update April 2019:<\/strong><br \/>\nInzwischen kann man die IPv6 RDNS-Eintr\u00e4ge auch \u00fcber die Weboberfl\u00e4che von Contabo administrieren. Nach dem Login in den Kundencenter findet man die Eintr\u00e4ge unter dem Men\u00fcpunkt <em>Reverse-DNS-Verwaltung<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit wir unseren neuen Server, einen VPS bei Contabo haben, bekommen wir f\u00fcr angenehm wenig Geld relativ viel Leistung. Auf dem VPS betreiben wir auch einen Mailserver, der (basierend auf einem Debian) f\u00fcr verschiedene Domains Mails ausliefert und annimmt. Die Tage fiel mir auf, dass einige Mails, vornehmlich solche an @gmail.com oder @live.de mit Fehlermeldungen&#8230;<br \/><a class=\"read-more-button\" href=\"https:\/\/carsten.familie-schumann.info\/blog\/2015\/02\/contabo-und-spf\/\">Mehr Lesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-programmierung"],"_links":{"self":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":10,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"predecessor-version":[{"id":237,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions\/237"}],"wp:attachment":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}