Werking van SMTP-relay in Windows 2000, Windows XP en Exchange Server

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 304897 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is eerder gepubliceerd onder NL304897
Alles uitklappen | Alles samenvouwen

Op deze pagina

Inleiding

Relay van Microsoft SMTP (Simple Mail Transfer Protocol) is een functie waarmee een SMTP-client via een SMTP-server e-mailberichten kan doorsturen naar een extern domein. Zoals beschreven in RFC 282, secties 2.1 en 3.7, is SMTP ontworpen met de mogelijkheid om e-mailberichten door te sturen.

Als de relay-voorziening echter niet wordt beheerd, kunnen kwaadwillende gebruikers grote hoeveelheden ongewenste e-mailberichten verzenden. Een onbeheerde host wordt een 'open relay'-host genoemd. Door deze ongevraagde e-mailberichten naar de tussenliggende host te verzenden, probeert de kwaadwillende gebruiker zijn of haar identiteit af te schermen. Dit kan ook overbelasting van de relay-host tot gevolg hebben, waardoor deze geen geldige e-mailberichten meer kan verzenden. Een kwaadwillende gebruiker die ongevraagd e-mailberichten verstuurt, kan zo zonder zelf bandbreedte te gebruiken een bericht versturen naar een groot aantal geadresseerden.

De Microsoft-producten die worden vermeld bij 'Van toepassing op' zijn standaard niet geconfigureerd voor open relay.

Meer informatie

Als u met tests van andere leveranciers controleert of SMTP-servers e-mail doorsturen, lijkt de SMTP-server niet door de test te komen en lijkt uw Microsoft SMTP-product te worden gebruikt voor het doorsturen van e-mail, ook al is dit niet het geval. De reden hiervoor is dat het e-mailbericht niet direct wordt geweigerd door de SMTP-server. In plaats daarvan wordt het bericht verwerkt door de SMTP-server en wordt er vervolgens een NDR (Non-Delivery Report, of rapport over niet-uitgevoerde bezorging) gegenereerd. Lees voor meer informatie over de mogelijke reacties van een SMTP-server op relay de sectie 'Reacties van SMTP-server op relay'. Lees voor meer informatie over het testen van een SMTP-server op relay de sectie 'Testen op relay'.

Elk TO- of FROM-adres in een SMTP-protocolconversatie bestaat uit twee delen: het lokale gedeelte en het domeingedeelte. Als het domeingedeelte (het gedeelte onmiddellijk na het apenstaartje [@]) niet is opgegeven, wordt ervan uitgegaan dat het een lokaal bericht betreft. Sommige Microsoft SMTP-producten voegen het lokale domein toe omdat gebruikers hun SMTP-clients zodanig configureren dat alleen een gebruikersnaam als e-mailadres wordt gebruikt. Door het standaard lokale domein toe te voegen, kan de Microsoft-server toevoegen wat naar alle waarschijnlijkheid het lokale domein is, om zodoende de ondersteuningskosten te verminderen.

Dit probleem treedt op omdat sommige Microsoft SMTP-producten niet zoeken naar adreslijstinformatie voordat ze SMTP-e-mailberichten accepteren voor verzending. Microsoft SMTP-producten controleren alleen het domein van de geadresseerde om te kijken of dit een lokaal of expliciet toegestaan domein is. Als het domein van de geadresseerde geen lokaal of toegestaan domein is, reageert de SMTP-server met een foutbericht van de volgende strekking:
550 5.7.1 Relaying prohibited
Een controle die uitwijst dat het domeingedeelte van het TO-adres lokaal is, is voldoende om ervoor te zorgen dat er geen e-mail wordt doorgestuurd. Het is mogelijk in de adreslijst van de e-mailserver te controleren of de geadresseerde geldig is, maar dit is geen vereiste. Als een e-mailserver een bericht accepteert en vervolgens later besluit dat dit bericht niet kan worden bezorgd, moet de server een NDR genereren. De Microsoft SMTP-producten voldoen aan dit vereiste.

Opmerking Microsoft Exchange Server 2003 kan zoekacties voor adreslijsten uitvoeren tijdens de SMTP-protocolconversatie. Deze voorziening kan worden ingeschakeld in System Manager. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over het filteren van geadresseerden in Exchange Server 2003:
823866Filteren van verbindingen configureren voor gebruik van RBL's (Realtime Block Lists) en configureren van het filteren van geadresseerden in Exchange 2003

Het opzoeken van adreslijstinformatie tijdens de SMTP-protocolconversatie is een mogelijkheid om adressen te controleren. Het is dan ook raadzaam de TarpitTime-functie in te schakelen die wordt beschreven in het volgende Knowledge Base-artikel:
842851Software-update om opsomming van e-mailadressen van Exchange Server 2003 te voorkomen
Belangrijk Als u zoekacties voor adreslijsten wilt kunnen uitvoeren tijdens de SMTP-protocolconversatie, kunt u een SMTP-protocolgebeurtenis-sink schrijven voor Microsoft Windows 2000. Ga naar de volgende website van MSDN Platform SDK SMTP Server Events voor meer informatie:
http://msdn.microsoft.com/library/en-us/smtpevt/html/0e0c3b0d-5b08-42b5-8312-59a9f3cd8fd9.asp?frame=true

Reacties van SMTP-server op relay

De in een RFC aanbevolen reactie kan als volgt worden samengevat:
550 5.1.1 gebruikersnaam@domeinnaam.dhn... Gebruiker onbekend
In de producten onder de sectie 'Van toepassing op' is om de volgende redenen besloten geen adreslijstinformatie op te zoeken tijdens de SMTP-protocolconversatie:
  • Als de SMTP-server een 5xx-fout retourneert aan een kwaadwillende gebruiker die grote aantallen ongevraagde e-mailberichten wil verzenden, weet de kwaadwillende gebruiker direct welke adressen echt zijn. Als de kwaadwillende gebruiker een namenlijst verstuurt via het SMTP-protocol, kan deze gemakkelijk een lijst met geldige e-mailadressen verzamelen. Dit kan ook een beveiligingsrisico betekenen voor uw lokale gebruikers omdat accountnamen vaak overeenkomen met e-mailadressen.
  • Een kwaadwillende gebruiker kan het FROM-adres gebruiken om onbevoegd toegang te krijgen tot een systeem en vervolgens de server van het slachtoffer gebruiken om NDR's te verzenden naar de beoogde geadresseerde. Deze aanval (spoofing genoemd) treft deze server met slechts zoveel gegevens als de aanvaller erheen stuurt. Met andere woorden, als de kwaadwillende gebruiker 1 megabyte (MB) aan gegevens naar een derde wil verzenden, moet deze kwaadwillende gebruiker 1 MB van de eigen bandbreedte gebruiken om 1 MB aan gegevens naar de SMTP-server te verzenden. Meestal probeert een kwaadwillende gebruiker 1 MB aan gegevens te verzenden en er toch voor te zorgen dat een slachtoffer of verzameling slachtoffers via internet wordt bestookt met tientallen of honderden MB's aan gegevens.
  • Als er tijdens de SMTP-protocolconversatie adreslijstinformatie wordt opgezocht, kan de conversatie veel trager worden. Op het moment van publicatie van dit artikel gaat Microsoft uit van de vooronderstelling dat de SMTP-server zo snel mogelijk moet zijn om opstoppingen van SMTP-berichten op internet of desktop-SMTP-clients te voorkomen. Soms is echter ook de adreslijst niet beschikbaar of wordt de relay van een bepaald domein gevraagd, maar is er geen kopie van de adreslijst beschikbaar. Dit probleem kan optreden in de host-omgeving van een internetprovider.

Testen op relay

U kunt controleren of uw SMTP-server is geconfigureerd voor het doorsturen van e-mailberichten. In de volgende voorbeelden worden relay-tests 1 tot en met 5 niet geaccepteerd door de SMTP-server en worden deze direct geweigerd. Tests 6 en 7 worden weliswaar geaccepteerd door de SMTP-server, maar het e-mailbericht wordt niet doorgestuurd en de server genereert uiteindelijk een NDR.

U kunt de volgende relay-tests uitvoeren door eerst een Telnet-sessie te starten en verbinding te maken met poort 25 op uw SMTP-server:
  1. Start een opdrachtprompt.
  2. Typ telnet servernaam 25, waarbij u servernaam vervangt door de naam of het IP-adres van de SMTP-server. Het poortnummer is 25. Druk vervolgens op ENTER.
  3. Typ EHLO en druk op ENTER.

Relay-test 1

Dit is de standaardtest voor SMTP-relay. Een SMTP-client zou geen e-mailberichten op deze wijze mogen kunnen doorsturen, tenzij de beheerder hiervoor expliciet toestemming heeft gegeven, of tenzij de client eerst een verificatiestap uitvoert: Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:gebruikersnaam@domeinnaam.dhn, waarbij u gebruikersnaam vervangt door de naam van de gebruiker, domeinnaam door de naam van het domein en dhn door het domein op het hoogste niveau, zoals .com of .net.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.0 gebruikersnaam@domeinnaam.dhn....Sender OK
  3. Typ RCPT TO:naam_geadresseerde@domeinnaam.dhn, waarbij u naam_geadresseerde vervangt door het e-mailadres van de geadresseerde.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    550 5.7.1 Unable to relay for naam_geadresseerde@ domeinnaam.dhn

Relay-test 2

Deze test is bijna hetzelfde als relay-test 1, maar de afzender is nu een lokale gebruiker in plaats van een gebruiker in een extern domein. Omdat FROM-adressen vaak worden gebruikt om op ongeoorloofde wijze toegang te krijgen tot een systeem, mag het e-mailbericht niet worden doorgestuurd door de server. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:lokalegebruiker, waarbij lokalegebruiker de lokale e-mailnaam is voor een gebruikersaccount in het domein. Druk vervolgens op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.0 lokalegebruiker@domeinnaam.dhn....Sender OK
  3. Typ RCPT TO:naam_geadresseerde@domeinnaam.dhn

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    550 5.7.1 Unable to relay for naam_geadresseerde@ domeinnaam.dhn

Relay-test 3

Deze test is voor een NULL of leeg FROM-envelopadres. NDR's en andere meldingen hebben een NULL FROM-envelopadres. Meldingen mogen echter alleen worden doorgestuurd als het domein in het TO-adres een lokaal domein is. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:<> en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.0 <>....Sender OK
  3. Typ RCPT TO:naam_geadresseerde@domeinnaam.dhn

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    550 5.7.1 Unable to relay for naam_geadresseerde@ domeinnaam.dhn

Relay-test 4

Deze test is hetzelfde als relaytest 2, maar het lokale domein wordt nu expliciet toegevoegd aan het e-mailadres. Dit e-mailbericht mag niet worden doorgestuurd door een SMTP-server waarop de relay-functie is uitgeschakeld. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:gebruikersnaam@domeinnaam.dhn, waarbij u domeinnaam vervangt door de naam van het lokale domein. Druk vervolgens op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.0 gebruikersnaam@domeinnaam.dhn....Sender OK
  3. Typ RCPT TO:gebruikersnaam@domeinnaam.dhn en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    550 5.7.1 Unable to relay for gebruikersnaam@domeinnaam.dhn

Relay-test 5

Ook deze test is bijna hetzelfde als relay-test 2, maar nu wordt het IP-adres van de server gebruikt in plaats van de domeinnaam. Hoewel deze adresnotatie algemeen wordt geaccepteerd, mag de server het doorsturen van berichten naar een extern domein niet accepteren. In diverse andere tests waarbij 'localhost' of de DNS-naam (Domain Name System) van de server in het FROM-adres wordt geplaatst, mag de server e-mailberichten met dit type adres niet doorsturen. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSET bij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:gebruikersnaam@10.10.10.10 en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.0 gebruikersnaam@10.10.10.10....Sender OK
  3. Typ RCPT TO:gebruikersnaam@domeinnaam.dhn en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    550 5.7.1 Unable to relay for gebruikersnaam@domeinnaam.dhn

Relay-test 6

Deze test is speciaal bedoeld voor oudere UNIX-servers die e-mailberichten routeren door het lokale domein toe te voegen en het apenstaartje (@) te wijzigen in een procentteken (%). De server stuurt vervolgens de e-mail door. Aangezien een procentteken (%) een geldig teken is in het lokale gedeelte van het e-mailadres, kan de SMTP-server het bericht accepteren en vervolgens een NDR verzenden als het opzoeken van adreslijstinformatie mislukt. Microsoft SMTP-producten zijn niet kwetsbaar voor dit type relay omdat het bericht niet wordt doorgestuurd en er een NDR wordt gegenereerd. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:gebruikersnaam en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    gebruikersnaam@domeinnaam.dhn....Sender OK
  3. Typ RCPT TO:gebruikersnaam%domeinnaam.dhn en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.1.5 gebruikersnaam%domeinnaam.dhn@domeinnaam.dhngebruikersnaam@domeinnaam.dhn
    Opmerking Het lokale domein wordt toegevoegd aan het domein van de geadresseerde in het e-mailadres.

Relay-test 7

Deze test is een variatie op relay-test 6. Aangezien dubbele aanhalingstekens (") een geldig teken zijn in het lokale gedeelte van het e-mailadres, wordt het bericht geaccepteerd door de SMTP-server en wordt er een NDR verzonden als de opzoekactie mislukt. Microsoft SMTP-producten zijn niet kwetsbaar voor dit type relay omdat het bericht niet wordt doorgestuurd en er een NDR wordt gegenereerd. Ga als volgt te werk om deze test uit te voeren:
  1. Typ RSETbij de prompt van de Telnet-sessie.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    250 2.0.0 Resetting
  2. Typ MAIL FROM:gebruikersnaam en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    gebruikersnaam@domeinnaam.dhn....Sender OK
  3. Typ RCPT TO:"gebruikersnaam@domeinnaam.dhn" en druk op ENTER.

    Op het scherm verschijnt tekst die er ongeveer zo uitziet:
    "gebruikersnaam@domeinnaam.dhn"@domeinnaam.dhn
    Opmerking Het lokale domein wordt toegevoegd aan het domein van de geadresseerde in het e-mailadres.

Controleren of een SMTP-server gesloten is voor relay-tests 6 en 7

Wanneer u relay-tests 6 en 7 uitvoert op een Exchange 2000-computer, genereren de tests een bericht naar een geadresseerde die niet kan worden gevonden en worden er NDR's bezorgd in het postvak dat is opgegeven in Exchange System Manager. U kunt het postvak voor de bezorging van deze NDR's configureren in het eigenschappenvenster van de virtuele standaard SMTP-server (in het vak Forward all mail with unresolved recipients to host op het tabblad Messages van Exchange System Manager).

De NDR's geven aan dat de e-mailberichten niet worden doorgestuurd.

Referenties

Voor meer informatie over wat u kunt doen als u Exchange Server 5.5 uitvoert en u uw server moet beveiligen tegen open relay, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
196626Routes beperken in de service Internet Mail
Klik voor meer informatie over het tegengaan van relay in Windows 2000 op het volgende artikelnummer in de Microsoft Knowledge Base:
310356Doorsturen van e-mail voorkomen op een IIS 5.0 SMTP-server in Windows 2000
Er zijn gangbare tests waarmee u kunt controleren of SMTP-servers e-mail doorsturen. U kunt bijvoorbeeld de volgende websites en hulpmiddelen van andere bedrijven gebruiken: Microsoft verstrekt deze contactinformatie om u te helpen bij het aanvragen van technische ondersteuning. Deze contactinformatie kan zonder aankondiging worden gewijzigd. Microsoft kan derhalve niet instaan voor de juistheid van deze contactinformatie.

De niet-Microsoft-producten die in dit artikel worden vermeld, worden vervaardigd door fabrikanten die geheel onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.

Eigenschappen

Artikel ID: 304897 - Laatste beoordeling: maandag 11 december 2006 - Wijziging: 10.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows® 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Exchange Server 5.0 Standard Edition
Trefwoorden: 
kbhowto kbwinservnetwork kbnetwork KB304897

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com