Hier irrt die Fledermaus

In ungewohnt nebulösen Worten fabuliert das beliebte Batbook um das in Sendmail 8.14 neu eingeführte Feature 'badmx' herum. Es werden Windows PCs angeführt, die per DHCP ihre IP-Adresse beziehen und deshalb oder weil sie gekapert wurden keinen MX-Record publizieren. Öh...?

Die Funktionsweise wird so erklärt, dass ein Sendmail Server für den sich verbindenden Client den Hostnamen per Reverse Lookup ermittelt, auf den Domain-Anteil reduziert und daran MX Lookups vornimmt. Das ist natürlich Quatsch für 'badmx'. Die Prüfungen des Features beziehen sich auf die Domain der Absender-Adresse. (Die IP der Gegenstelle benutzt das in Sendmail 8.14 ebenfalls neu eingeführte Feature 'require_rdns'.)

Die Release Notes von Sendmail 8.14.0 bringen es auf den Punkt:

CONFIG: New FEATURE(`badmx') to reject envelope sender addresses 
(MAIL) whose domain part resolves to a "bad" MX record.
Based on contribution from William Dell Wisner

 Der Aufruf des Rulesets 'BadMX' erfolgt am Ende von 'check_mail'. Zunächst ermittelt Sendmail darin die MX-Records für die Domain des Absenders mit Hilfe der Map 'bestmx' und führt den ersten Check auf Basis einer 'regex' Map durch:

1. Zeigt einer der MX-Records nicht auf einen Full Qualified Domainname, sondern auf eine IP-Adresse, ist er "bad" und die Mail wird abgelehnt mit der Meldung:

550 5.1.2 <user@domain>... Illegal MX record for host <domain>

Im zweiten Schritt werden die A-Records zu allen MX-Records ermittelt und mit Hilfe einer weiteren 'regex' Map geprüft:

2. Ist eine der IPs Loopback (beginnt mit 127.), nicht route-fähig (beginnt mit 10.) oder die 0.0.0.0, wird die Mail abgelehnt mit der Meldung:

550 5.1.2 <user@domain>... Invalid MX record for host <domain>

Referenzen:

1. Costales, Jansen, Aßmann with Shapiro. sendmail 4th Edition. a.k.a. "bat book", S. 291-292