SMTP, SUBMIT och förvirring


Jag fick en fråga om epostsystem via en e-postlista. Svaret kan hjälpa flera att förstå vanlig epostproblematik.


Har ni något bra sätt att förklara hur SMTP fungerar så att man klart förstår skillnaden mellan avsändarförfalskning och open relay. Eller ett länktips där det förklaras svart på vitt.

Avsändarförfalskning = skriv en annans namn som avsändare på vykortet
I alla e-postklienter som jag har sett kan man ställa in en avsändaradress som inte stämmer överens med sin egen e-postadress. Det finns helt enkelt ingen avsändarverifikation i dagens e-postleveranssätt.

”open relay” är när en epostserver tar emot epost från okända avsändare till okända mottagare på domäner som den inte ska hantera (där IP-adressen inte är konfiguerad att få skicka sådan epost).

Testa exempelvis att ange bill.gates@microsoft.com som avsändare ”mail from” och karl-fredrik.johansson@example.org som mottagare ”rcpt to” från en ip-adress som INTE får relaya. Går meddelandet igenom är epostservern en ”open relay”.

Detta har skapat lite konflikter på jobbet där jag har blivit ombedd att åtgärda en mailserver för att den påstås vara open relay, bara för att personen kan skicka mail utan autentisering till en användare som servern hanterar mail för med falsk avsändaradress. Jag har försökt förklara att man kan skicka mail med falsk avsändaradress, men det verkar som om det bara är svart på vitt som kan reda ut detta.

Be att få svart på vitt varför den skulle vara ”open relay”. Använd de publika testerna för att visa hur det verkligen är.

Föresten är det någon som vet om det är någon skillnad i förfarandet att skicka mail mellan en SMTP-server och en vanlig mailklient. Det var någon som hade någon idé att man skulle aktivera autentiseringskrav för att skicka mail för mailklienter men inte för SMTP-servrar. För man vill ju att kunderna ska kunna skicka mail till oss utan att logga in först. Men detta låter som dumheter i mina öron.

SMTP (port 25) och SUBMIT (port 587) är samma protokoll men för två olika syften.
SMTP används för mailserver-mailserver-epostleverans och SUBMIT används för epostklient-mailserver-epostleverans.

Nu är man normalt så lat när man sätter upp systemen att man låter epostklienterna också prata på port 25, eftersom det oftast fungerar exakt likadant, men genom att separarera dem kan du göra optimeringar och omändringar för att epostklienterna får det bättre.

Exempelvis kan du lägga in att på port 587 måste man authenticera sig, medan på port 25 kan man inte autentisera sig. Det innebär att om en epostklient är konfigurerad att använda port 25 kan man enbart skicka meddelanden till er domän, men om man byter till 587 fungerar det som det ska.

Det som troligtvis är det egentliga problemet är att någon klagar på att de får skräppost eller liknande, alternativt att meddelanden från servern blockeras ”open relay” eller att någon blocklistas test har skapat ett automatsvar som gått till fel adress.

Så försök att ta reda på den egentliga orsaken till klagomålet och åtgärda det problemet istället.

Det är kanske så att du behöver börja använda greylistning, spamfiltrering eller något annat regelverk på port 25?

SPF är en bra sak(tm), men det ger egentligen inget större skydd idag. Om alla servrar verifierade SPF borde det helt lösa avsändardomänproblematiken, men det skapar också massor med andra problem exempelvis med e-postvidarebefordringar (SRS är ett förslag till lösning som dock kräver en genomgående ändring av hur mailservrar skickar vidare meddelanden).