technisch · antwoord met bronnen

SMTP-authenticatie: definitie en technische implementatie

SMTP-authenticatie is een beveiligingsmechanisme waarbij een e-mailclient of applicatie zijn identiteit tegenover een SMTP-server moet bewijzen voordat hij mail mag versturen. Het voorkomt open relays doordat alleen geautoriseerde gebruikers berichten via de server kunnen routeren, meestal met een gebruikersnaam en wachtwoord via de AUTH-extensie.

Hoe het proces werkt

Het proces begint wanneer de client verbinding maakt met de server en het EHLO-commando geeft. De server antwoordt met een lijst met ondersteunde extensies, waaronder AUTH. De client kiest vervolgens een authenticatiemechanisme, zoals PLAIN of LOGIN, en verstuurt de credentials. Als de server deze credentials valideert tegen zijn gebruikersdatabase, krijgt de client toestemming om de commando's MAIL FROM en RCPT TO te versturen.

Waarom het belangrijk is voor afzenders

Zonder authenticatie is een server een open relay waarmee iedereen mail kan versturen. Dat leidt al snel tot een blacklisting van het IP-adres, omdat spammers de open poort misbruiken. Met SMTP-authenticatie kunnen alleen legitieme applicaties mail versturen. Dat is een basisvoorwaarde voor een schone afzenderreputatie en om te voorkomen dat ontvangende mailservers berichten weigeren.

Praktische aandachtspunten en fouten

Een veelgemaakte fout is credentials via onversleutelde verbindingen versturen. Om diefstal van credentials te voorkomen, moet authenticatie altijd worden gecombineerd met STARTTLS of impliciete TLS. Een ander veelvoorkomend probleem is het gebruik van verouderde authenticatiemethoden die moderne providers niet ondersteunen. Met de gratis tools van SendHQ (https://sendhq.cc/tools) kunnen developers hun DNS- en authenticatieconfiguratie controleren.

Concreet implementatievoorbeeld

In een typische Python-implementatie met smtplib maakt een developer verbinding met poort 587, roept hij starttls() aan om de verbinding te beveiligen en daarna login(user, password). Deze volgorde zorgt ervoor dat de identiteit via een versleuteld kanaal wordt geverifieerd voordat de server het bericht accepteert voor bezorging op de eindbestemming.

Authenticatiemethoden

De meest gebruikte methoden zijn PLAIN, dat het wachtwoord in een vrijwel leesbaar formaat (Base64) verstuurt, en LOGIN, een verouderde methode die oudere clients gebruiken. Moderne systemen geven voor SMTP-authenticatie vaak de voorkeur aan OAuth2, waarmee applicaties tokens gebruiken in plaats van vaste wachtwoorden. Dat verkleint het risico dat credentials in configuratiebestanden uitlekken.

Vragen die teams stellen

Is SMTP-authenticatie hetzelfde als SPF of DKIM?

Nee. SMTP-authenticatie verifieert de client tegenover de server tijdens het versturen. SPF en DKIM verifiëren de afzender tegenover de ontvangende server nadat de mail is verstuurd.

Welke poort wordt meestal gebruikt voor geauthenticeerde SMTP?

Poort 587 is de standaard voor het aanbieden van mail met authenticatie en STARTTLS, terwijl poort 465 wordt gebruikt voor impliciete TLS.

Wat gebeurt er als SMTP-authenticatie mislukt?

De server geeft de foutcode 535 Authentication Failed terug en weigert het bericht, zodat het niet in de wachtrij komt en niet wordt afgeleverd.

Primaire bronnen