Działanie funkcji przekazywania SMTP w systemach Windows 2000, Windows XP i Exchange Server

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 304897 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

WPROWADZENIE

Funkcja przekazywania protokołu SMTP (Microsoft Simple Mail Transfer Protocol) umożliwia klientowi SMTP przekazywanie wiadomości e-mail do zdalnej domeny przy użyciu serwera SMTP. Zgodnie z dokumentem RFC (Request for Comments) 282 (sekcje 2.1 i 3.7) w protokole SMTP uwzględniono możliwość przekazywania wiadomości e-mail.

Jeżeli jednak funkcja przekazywania nie jest kontrolowana, może zostać wykorzystana przez złośliwego użytkownika do masowego wysyłania niechcianych wiadomości e-mail. Niekontrolowany host jest zwany hostem „otwartego przekazywania”. Wysyłając niechciane wiadomości e-mail do pośredniego hosta, złośliwy użytkownik może ukryć swoją tożsamość. Może to być również przyczyną nadmiernego zużycia zasobów hosta przekazywania i uniemożliwić wysyłanie prawidłowych wiadomości e-mail przez tego hosta. W szczególności złośliwy użytkownik wysyłający niechciane wiadomości e-mail może wysłać pojedynczą wiadomość do wielu adresatów bez korzystania z przepustowości własnego połączenia.

Domyślnie produkty firmy Microsoft wymienione w sekcji „Informacje zawarte w tym artykule dotyczą” nie są skonfigurowane do otwartego przekazywania.

Więcej informacji

W przypadku testowania funkcji przekazywania serwerów SMTP przy użyciu narzędzi innych firm wynik testu serwera SMTP może być pozornie negatywny, a produkt SMTP firmy Microsoft może być pozornie otwarty do przekazywania, mimo że w rzeczywistości nie jest to zgodne z prawdą. Przyczyną jest opóźnione odrzucanie wiadomości e-mail przez serwer SMTP, ponieważ serwer SMTP najpierw przetwarza wiadomość e-mail, a następnie wysyła raport o niedostarczeniu (NDR). Aby uzyskać więcej informacji dotyczących odpowiedzi serwera SMTP na przekazywane wiadomości, zobacz sekcję „Odpowiedź serwera SMTP na przekazywane wiadomości”. Aby uzyskać więcej informacji dotyczących sposobu testowania funkcji przekazywania serwera SMTP, zobacz sekcję „Testowanie funkcji przekazywania”.

Każdy adres DO lub OD w konwersacji protokołu SMTP zawiera dwa składniki: lokalny i domeny. Jeżeli składnik domeny, znajdujący się bezpośrednio po znaku @, nie jest określony, wiadomość e-mail jest uznawana za lokalną. Niektóre produkty SMTP firmy Microsoft dołączają domenę lokalną, ponieważ użytkownicy czasami konfigurują klientów SMTP do używania wyłącznie nazwy użytkownika jako adresu e-mail. Dodając domyślną domenę lokalną, serwer Microsoft może wybrać najbardziej prawdopodobną domenę lokalną, aby zredukować koszt pomocy technicznej.

To zachowanie występuje, ponieważ niektóre produkty SMTP firmy Microsoft nie wykonują wyszukiwania katalogowego przed zaakceptowaniem wiadomości e-mail przeznaczonych do dostarczenia za pośrednictwem serwera SMTP. Produkty SMTP firmy Microsoft sprawdzają tylko domenę adresata, aby upewnić się, czy jest to domena lokalna lub oficjalnie dozwolona domena. Jeżeli domena adresata nie jest domeną lokalną lub dozwoloną, serwer SMTP odpowiada, przesyłając komunikat o błędzie podobny do następującego:
550 5.7.1 Relaying prohibited (Przekazywanie zabronione)
Jedyną wymaganą podstawą do odmowy przekazywania jest weryfikacja, że składnik domeny adresu DO jest lokalny. Sprawdzenie wykazu serwera poczty w celu sprawdzenia adresata jest jedną z dostępnych opcji, jednak nie jest wymagane. Jeżeli serwer poczty akceptuje wiadomość, a następnie decyduje, że nie można dostarczyć wiadomości, musi wygenerować raport NDR. Produkty SMTP firmy Microsoft są zgodne z tym wymaganiem.

Uwaga: Program Microsoft Exchange Server 2003 może wykonywać wyszukiwanie katalogowe podczas konwersacji protokołu SMTP. Ta funkcja może być włączona w programie System Manager. Aby uzyskać więcej informacji dotyczących filtrowania adresatów w programie Exchange Server 2003, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
823866 W jaki sposób skonfigurować filtrowanie połączeń, tak aby korzystało z list RBL (Realtime Block Lists), oraz filtrowanie odbiorców w programie Exchange 2003

Wyszukiwanie katalogowe podczas konwersacji protokołu SMTP umożliwia weryfikację adresów. Dlatego też firma Microsoft zaleca włączenie funkcji TarpitTime opisanej w następującym artykule z bazy wiedzy Knowledge Base:
842851 Funkcja „tar pit” protokołu SMTP dla systemu Microsoft Windows Server 2003
Ważne: Jeżeli konieczne jest wyszukiwanie katalogowe podczas konwersacji protokołu SMTP, można zapisać model obiektu sink zdarzenia protokołu SMTP systemu Microsoft Windows 2000. Aby uzyskać dodatkowe informacje, odwiedź następującą witrynę MSDN Platform SDK SMTP Server Events w sieci Web:
http://msdn.microsoft.com/library/en-us/smtpevt/html/0e0c3b0d-5b08-42b5-8312-59a9f3cd8fd9.asp?frame=true

Odpowiedź serwera SMTP na przekazywane wiadomości

Zalecana odpowiedź, zgodna ze specyfikacją RFC, jest podobna do następującej:
550 5.1.1 nazwa_użytkownika@nazwa_domeny.tld... Użytkownik nieznany
W przypadku produktów wymienionych w sekcji „Informacje zawarte w tym artykule dotyczą” firma Microsoft zrezygnowała z wyszukiwania katalogowego podczas konwersacji protokołu SMTP z następujących powodów:
  • Jeżeli serwer SMTP zgłasza błąd 5xx w przypadku próby masowego wysłania przez złośliwego użytkownika niechcianych wiadomości e-mail, złośliwy użytkownik natychmiast zidentyfikuje rzeczywiste adresy. Wysyłając słownik nazw przy użyciu protokołu SMTP, złośliwy użytkownik może w łatwy sposób uzyskać listę prawidłowych adresów e-mail. W takiej sytuacji zagrożeni mogą być również użytkownicy lokalni, ponieważ nazwy kont użytkowników są często takie same jak adresy e-mail.
  • Złośliwy użytkownik może przy użyciu adresu OD uzyskać nieautoryzowany dostęp do systemu, a następnie używać serwera poszkodowanego użytkownika do wysyłania raportów NDR do określonego adresata. W przypadku tego ataku, zwanego fałszowaniem, ilość informacji przekazywanych do serwera jest kontrolowana przez atakującego. Mówiąc inaczej, jeżeli złośliwy użytkownik zamierza wysłać 1 megabajt (MB) danych do strony trzeciej, musi wykorzystać 1 MB przepustowości własnego połączenia do wysłania 1 MB danych do serwera SMTP. Zazwyczaj złośliwy użytkownik usiłuje wysłać 1 MB danych, jednak powoduje dostarczenie dziesiątek lub setek MB danych do jednego lub kilku atakowanych komputerów za pośrednictwem Internetu.
  • Wyszukiwanie katalogowe może przyczynić się do znacznego spowolnienia bieżącej konwersacji protokołu SMTP. W okresie, w którym ten artykuł był publikowany, firma Microsoft przyjęła założenie, że serwer SMTP musi działać z maksymalną szybkością, aby zapobiec blokadzie wiadomości SMTP w Internecie lub na klientach stacjonarnych SMTP. Czasami wykaz jest niedostępny lub wymagane jest przekazywanie dla określonej domeny, ale kopia wykazu może być niedostępna. To zachowanie występuje w środowisku hostingu usługodawców internetowych (ISP).

Jak testować przekazywanie

Testując serwer SMTP, można ustalić, czy jest skonfigurowany do przekazywania wiadomości e-mail. W następujących przykładach pakiety testowe przekazywania od 1 do 5 nie są akceptowane przez serwer SMTP i są natychmiast odrzucane. Pakiety testowe 6 i 7 są akceptowane przez serwer SMTP, jednak wiadomość e-mail nie jest przekazywana i serwer ostatecznie generuje raport NDR.

Aby wykonać następujące testy przekazywania, należy najpierw ustanowić sesję Telnet i połączenie z portem 25 na lokalnym serwerze SMTP:
  1. Uruchom wiersz polecenia.
  2. Wpisz telnet nazwa_serwera 25, gdzie nazwa_serwera jest nazwą lub adresem IP serwera SMTP, a 25 jest numerem portu, a następnie naciśnij klawisz ENTER.
  3. Wpisz polecenie EHLO, a następnie naciśnij klawisz ENTER.

Test przekazywania 1

Jest to standardowy test przekazywania SMTP. Klient SMTP może korzystać z przekazywania tego typu, pod warunkiem że został uwierzytelniony lub administrator udzielił określonego zezwolenia. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia sesji Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:nazwa_użytkownika@nazwa_domeny.tld, gdzie nazwa_użytkownika jest nazwą użytkownika, nazwa_domeny jest nazwą domeny, a tld jest domeną najwyższego poziomu, taką jak .com lub .net.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.0 nazwa_użytkownika@nazwa_domeny.tld....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_adresata@nazwa_domeny.tld, gdzie nazwa_adresata jest adresem e-mail adresata.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    550 5.7.1 Przekazywanie niemożliwe dla nazwa_adresata@nazwa_domeny.tld

Test przekazywania 2

Ten test w zasadzie nie różni się od testu przekazywania 1, jednak nadawca jest użytkownikiem lokalnym, a nie domeną zdalną. Adresy OD zazwyczaj są używane do uzyskania nieautoryzowanego dostępu do systemu, dlatego serwer nie powinien przekazywać tych wiadomości e-mail. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia sesji Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:użytkownik_lokalny, gdzie użytkownik_lokalny jest lokalną nazwą e-mail konta użytkownika w domenie, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.0 użytkownik_lokalny@nazwa_domeny.tld....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_adresata@nazwa_domeny.tld

    Sesja telnet przesyła odpowiedź podobną do następującej:
    550 5.7.1 Przekazywanie niemożliwe dla nazwa_adresata@nazwa_domeny.tld

Test przekazywania 3

W tym teście wykorzystano adres NULL lub pusty adres OD na kopercie. Na kopercie zawierającej raporty NDR oraz inne powiadomienia umieszczany jest adres OD typu NULL. Powiadomienia nie powinny być jednak przekazywane, jeżeli w adresie DO nie umieszczono domeny lokalnej. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:<>, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.0 <>....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_adresata@nazwa_domeny.tld

    Sesja telnet przesyła odpowiedź podobną do następującej:
    550 5.7.1 Przekazywanie niemożliwe dla nazwa_adresata@nazwa_domeny.tld

Test przekazywania 4

Ten test jest taki sam jak test przekazywania 2, jednak domena lokalna jest oficjalnie dodawana do adresu e-mail. Serwer SMTP zamknięty dla przekazywania nie powinien przekazać tej wiadomości e-mail. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia sesji Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:nazwa_użytkownika@nazwa_domeny.tld, gdzie nazwa_domeny jest nazwą domeny lokalnej, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.0 nazwa_użytkownika@nazwa_domeny.tld....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_użytkownika@nazwa_domeny.tld, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    550 5.7.1 Przekazywanie niemożliwe dla nazwa_użytkownika@nazwa_domeny.tld

Test przekazywania 5

Ten test jest również taki sam jak test przekazywania 2, jednak zamiast nazwy domeny jest używany adres IP serwera. Ten format adresu jest ogólnie przyjęty, jednak serwer nie powinien akceptować wiadomości przekazywanych do domeny zdalnej. W różnych innych testach, w których nazwa „hosta lokalnego” lub nazwa DNS (Domain Name System) serwera jest używana w adresie OD, serwer nie powinien przekazywać wiadomości e-mail adresowanych w ten sposób. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia sesji Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:nazwa_użytkownika@10.10.10.10, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.0 nazwa_użytkownika@10.10.10.10....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_użytkownika@nazwa_domeny.tld, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    550 5.7.1 Przekazywanie niemożliwe dla nazwa_użytkownika@nazwa_domeny.tld

Test przekazywania 6

Ten test jest przeznaczony dla starszych serwerów z systemem UNIX, które rozsyłają wiadomości e-mail, dołączając domenę lokalną i zmieniając znak @ na symbol procentu (%). Następnie serwer przekazuje pocztę. Symbol procentu (%) jest prawidłowym znakiem w lokalnym składniku adresu e-mail, dlatego serwer SMTP może zaakceptować wiadomość, a następnie wysłać raport NDR, jeżeli wyszukiwanie katalogowe zakończy się niepowodzeniem. Ten problem z przekazywaniem nie występuje w przypadku produktów SMTP firmy Microsoft, ponieważ wiadomość nie jest przekazywana i generowany jest raport NDR. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:nazwa_użytkownika, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    nazwa_użytkownika@nazwa_domeny.tld....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:nazwa_użytkownika%nazwa_domeny.tld, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.1.5 nazwa_użytkownika%nazwa_domeny.tld@nazwa_domeny.tldnazwa_użytkownika@nazwa_domeny.tld
    Uwaga: Domena lokalna jest dołączana do domeny adresata w adresie e-mail.

Test przekazywania 7

Ten test jest odmianą testu przekazywania 6. Znak cudzysłowu (") jest prawidłowym znakiem w lokalnym składniku adresu e-mail, serwer SMTP akceptuje wiadomość, a następnie wysyła raport NDR, jeżeli wyszukiwanie katalogowe zakończy się niepowodzeniem. Ten problem z przekazywaniem nie występuje w przypadku produktów SMTP firmy Microsoft, ponieważ wiadomość nie jest przekazywana i generowany jest raport NDR. Aby przeprowadzić ten test, wykonaj następujące kroki:
  1. W wierszu polecenia sesji Telnet wpisz RSET.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    250 2.0.0 Resetting (Resetowanie)
  2. Wpisz MAIL FROM:nazwa_użytkownika, a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    nazwa_użytkownika@nazwa_domeny.tld....Sender OK (Nadawca prawidłowy)
  3. Wpisz RCPT TO:"nazwa_użytkownika@nazwa_domeny.tld", a następnie naciśnij klawisz ENTER.

    Sesja telnet przesyła odpowiedź podobną do następującej:
    "nazwa_użytkownika@nazwa_domeny.tld"@nazwa_domeny.tld
    Uwaga: Domena lokalna jest dołączana do domeny adresata w adresie e-mail.

Jak przy użyciu testów 6 i 7ustalić, czy serwer SMTP jest zamknięty dla przekazywania

Podczas wykonywania testów przekazywania 6 i 7 w odniesieniu do komputera z programem Exchange 2000 generowana jest wiadomość przeznaczona dla nierozpoznawanego adresata, a raporty NDR są wysyłane do skrzynki pocztowej określonej w programie Exchange System Manager. Skrzynkę pocztową przeznaczoną dla nierozpoznanych adresatów można konfigurować w oknie właściwości domyślnego wirtualnego serwera SMTP w polu Forward all mail with unresolved recipients to host (Przesyłaj wszystkie wiadomości dla nierozpoznanych adresatów do hosta) na karcie Messages (Wiadomości) w programie Exchange System Manager.

Raporty NDR są dowodem na to, że wiadomości e-mail nie są przekazywane.

Materiały referencyjne

Aby uzyskać więcej informacji dotyczących sposobu postępowania, gdy podczas korzystania z programu Exchange Server 5.5 konieczne jest skonfigurowanie serwera do blokowania otwartego przekazywania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
196626 Restricting routing in the Internet Mail Service
Aby uzyskać więcej informacji dotyczących sposobu zapobiegania przekazywaniu w systemie Windows 2000, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
310356 JAK: Zapobieganie przekazywaniu poczty przez serwer SMTP usług IIS 5.0 w systemie Windows 2000
Powszechnie dostępne są testy umożliwiające sprawdzenie przekazywania za pośrednictwem serwerów SMTP. Można na przykład skorzystać z następujących witryn sieci Web i narzędzi innych producentów: Firma Microsoft udostępnia informacje kontaktowe innych firm, aby ułatwić uzyskanie niezbędnej pomocy technicznej. Informacje tego typu mogą ulec zmianie bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji dotyczących innych firm.

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, domyślnych ani żadnego innego rodzaju, odnośnie do wydajności lub niezawodności tych produktów.

Właściwości

Numer ID artykułu: 304897 - Ostatnia weryfikacja: 11 stycznia 2007 - Weryfikacja: 10.1
Informacje zawarte w tym artykule dotyczą:
  • 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
Słowa kluczowe: 
kbhowto kbwinservnetwork kbnetwork KB304897

Przekaż opinię

 

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