Comportamento della funzionalita? di inoltro SMTP in Windows 2000, Windows XP e in Exchange Server

Traduzione articoli Traduzione articoli
Identificativo articolo: 304897 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

L'inoltro SMTP (Microsoft Simple Mail Transfer Protocol) e? una funzionalita? che consente a un client SMTP di utilizzare un server SMTP per inoltrare messaggi di posta elettronica a un dominio remoto. Come descritto nelle sezioni 2.1 e 3.7 delle specifiche RFC (Request for Comments) 282, SMTP e? in grado di inoltrare messaggi di posta elettronica.

Tuttavia, se l'inoltro non e? controllato, un utente malintenzionato potrebbe sfruttare l'inoltro per inviare posta elettronica indesiderata in blocco. Un host non controllato e? detto anche host di inoltro aperto. Durante l'invio di questi messaggi di posta elettronica indesiderata all'host intermedio, l'utente malintenzionato puo? mascherare la propria identita?. Tutto questo puo? portare a un utilizzo eccessivo delle risorse dell'host di inoltro, fino a impedire l'invio di messaggi di posta elettronica validi. In particolare, un utente malintenzionato che invii posta elettronica indesiderata potrebbe inviare un singolo messaggio a numerosi destinatari senza utilizzare la rispettiva larghezza di banda.

Per impostazione predefinita, i prodotti Microsoft elencati alla fine di questo articolo non sono configurati per l'inoltro aperto.

Informazioni

Quando si utilizzano strumenti di terze parti per verificare i server SMTP per l'inoltro, puo? sembrare che il server SMTP non superi il test e che il prodotto Microsoft SMTP sia aperto per l'inoltro, sebbene così non sia. Questo accade perche? il server SMTP potrebbe non rifiutare immediatamente il messaggio di posta elettronica. Infatti, il messaggio di posta elettronica viene elaborato dal server SMTP, che solo in seguito invia un report di mancato recapito (NDR). Per ulteriori informazioni sulla risposta del server SMTP all'inoltro, vedere la relativa sezione di questo articolo. Per ulteriori informazioni sulla verifica del server SMTP per l'inoltro, vedere la relativa sezione di questo articolo.

Ogni indirizzo A o DA presente in una conversazione con protocollo SMTP e? composto da due parti: la parte locale e la parte del dominio. Se la parte del dominio, ovvero la parte immediatamente dopo il simbolo @, non e? specificata, si suppone che il messaggio di posta elettronica sia locale. Alcuni prodotti Microsoft SMTP aggiungono il dominio locale in quanto alcuni utenti configurano i propri client SMTP in modo da utilizzare solo il nome utente come indirizzo di posta elettronica. Aggiungendo il dominio locale predefinito, il server Microsoft e? in grado di aggiungere quello che con maggiore probabilita? e? il dominio locale per ridurre il costo del supporto.

Questo comportamento si verifica perche? alcuni prodotti Microsoft SMTP non effettuano alcuna operazione di individuazione della directory prima di accettare i messaggi di posta elettronica SMTP per l'inoltro. I prodotti Microsoft SMTP verificano solo il dominio del destinatario per determinare se si tratta di un dominio locale o di un dominio esplicitamente consentito. Se il dominio del destinatario non e? un dominio locale ne? un dominio consentito, il server SMTP rispondera? con un messaggio di errore analogo al seguente:
550 5.7.1 Inoltro non consentito
L'unico requisito per impedire l'inoltro e? una verifica che determini se la parte del dominio dell'indirizzo del destinatario e? locale. Un'altra possibilita? sarebbe quella di controllare la directory del server di posta elettronica per verificare se il destinatario e? valido, ma si tratta di un'operazione non necessaria. Se un server di posta accetta un messaggio e in seguito decide che tale messaggio non puo? essere inoltrato, deve generare un rapporto NDR. I prodotti Microsoft SMTP soddisfano questo requisito.

Nota Microsoft Exchange Server 2003 e? in grado di effettuare operazioni di individuazione della directory durante una conversazione con protocollo SMTP. Questa funzionalita? puo? essere abilitata nel Gestore di sistema. Per ulteriori informazioni sul filtro dei destinatari in Exchange Server 2003, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
823866 Configurazione del filtro connessioni affinché utilizzi elenchi RBL (Realtime Block List) e del filtro destinatari in Exchange 2003

Per verificare gli indirizzi e? anche possibile svolgere un'operazione di individuazione della directory durante la conversazione con protocollo SMTP. Si consiglia pertanto di disabilitare la funzionalita? TarpitTime descritta nell'articolo della Microsoft Knowledge Base riportato di seguito:
842851 Funzionalità tar pit SMTP per Microsoft Windows Server 2003
Importante Se e? necessario effettuare operazioni di individuazione della directory durante la conversazione con protocollo SMTP, e? possibile scrivere un evento sink del protocollo SMTP di Microsoft Windows 2000. Per ulteriori informazioni, visitare il seguente sito Web MSDN relativo agli eventi server SMTP di Platform SDK (informazioni in lingua inglese):
http://msdn.microsoft.com/library/en-us/smtpevt/html/0e0c3b0d-5b08-42b5-8312-59a9f3cd8fd9.asp?frame=true

Risposta del server SMTP all'inoltro

La risposta consigliata dalle specifiche RFC e? analoga alla seguente:
550 5.1.1 NomeUtente@NomeDominio.tld... Utente sconosciuto
Nei prodotti elencati alla fine di questo articolo Microsoft ha scelto di non effettuare operazioni di individuazione della directory durante la conversazione con protocollo SMTP per le seguenti ragioni:
  • Se il server SMTP restituisse un errore 5xx a un utente malintenzionato che tentasse di inviare posta elettronica indesiderata in blocco, l'utente saprebbe immediatamente quali indirizzi sono reali. Se l'utente malintenzionato inviasse un dizionario di nomi tramite il protocollo SMTP, potrebbe recuperare agevolmente un elenco di indirizzi di posta elettronica validi. Cio? potrebbe rivelarsi rischioso per gli utenti locali, in quanto i nomi degli account utente corrispondono spesso ai nomi utilizzati negli indirizzi di posta elettronica.
  • Un utente malintenzionato sarebbe in grado di utilizzare l'indirizzo DA per ottenere accesso non autorizzato a un sistema e quindi utilizzare il server della vittima per inviare rapporti NDR al destinatario desiderato. Questo tipo di attacco, detto spoofing, riguarderebbe solo questo server e limitatamente alla quantita? di dati inviati dall'utente malintenzionato. In altre parole, se l'utente malintenzionato desiderasse inviare 1 megabyte (MB) di dati a una terza parte, dovrebbe utilizzare 1 MB della propria larghezza di banda per inviare 1 MB di dati al server SMTP. Solitamente, l'invio di 1 MB di dati da parte dell'utente malintenzionato causa l'invio di decine o centinaia di MB di dati a una o piu? vittime su Internet.
  • Se venisse svolta un'operazione di individuazione della directory durante la conversazione con protocollo SMTP, quest'ultima potrebbe presentare un notevole degrado delle prestazioni. Alla data di pubblicazione di questo articolo, Microsoft operava in base alla premessa che il server SMTP deve funzionare il piu? rapidamente possibile per impedire il blocco dei messaggi SMTP su Internet o client SMTP desktop. Talvolta la directory potrebbe non essere disponibile oppure potrebbe essere richiesto l'inoltro di un particolare dominio, ma non essere disponibile alcuna copia della directory. Questo problema potrebbe verificarsi in un ambiente di hosting di un provider di servizi Internet (ISP).

Verifica per l'inoltro

È possibile verificare il server SMTP per determinare se è configurato per inoltrare messaggi di posta elettronica. Negli esempi che seguono, i test di inoltro dall'1 al 5 non vengono accettati dal server SMTP e vengono immediatamente rifiutati. I test 6 e 7 vengono invece accettati dal server SMTP, ma il messaggio di posta elettronica non viene inoltrato e viene generato un rapporto NDR.

Per eseguire i test di inoltro riportati di seguito, avviare una sessione Telnet e connettersi alla porta 25 del server SMTP:
  1. Avviare un prompt dei comandi.
  2. Digitare telnet NomeServer 25, dove NomeServer e? il nome del server SMTP o l'indirizzo IP e 25 e? il numero della porta. Quindi premere INVIO.
  3. Digitare EHLO e premere INVIO.

Test di inoltro 1

Questo e? il test standard per l'inoltro SMTP. A un client SMTP non deve essere consentito di inoltrare messaggi in questo modo, ove non specificatamente consentito dall'amministratore o salvo previa autenticazione del client. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:NomeUtente@NomeDominio.tld, dove NomeUtente e? il nome dell'utente, NomeDominio e? il nome del dominio e tld e? il dominio di livello superiore, ad esempio com o net.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.0 NomeUtente@NomeDominio.tld....Sender OK
  3. Digitare RCPT TO:NomeDestinatario@NomeDominio.tld, dove NomeDestinatario e? l'indirizzo di posta elettronica del destinatario.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    550 5.7.1 Inoltro impossibile per NomeDestinatario@ NomeDominio.tld

Test di inoltro 2

Questo test e? simile al test di inoltro 1, con la differenza che il mittente e? un utente locale anziche? un utente di un dominio remoto. Dato che gli indirizzi DA vengono generalmente utilizzati per ottenere accesso non autorizzato a un sistema, il server non deve inoltrare il messaggio di posta elettronica. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:UtenteLocale, dove UtenteLocale e? il nome di posta elettronica locale di un account utente del dominio. Premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.0 UtenteLocale@NomeDominio.tld....Sender OK
  3. Digitare RCPT TO:NomeDestinatario@NomeDominio.tld

    La sessione Telnet rispondera? con un testo analogo al seguente:
    550 5.7.1 Inoltro impossibile per NomeDestinatario@NomeDominio.tld

Test di inoltro 3

Questo test e? destinato alla verifica di un indirizzo destinatario DA NULL o vuoto. I rapporti NDR e altre notifiche presentano un indirizzo destinatario DA NULL, tuttavia le notifiche non devono essere inoltrate, a meno che il dominio specificato nell'indirizzo A non sia un dominio locale. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:<>, quindi premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.0 <>....Sender OK
  3. Digitare RCPT TO:NomeDestinatario@NomeDominio.tld

    La sessione Telnet rispondera? con un testo analogo al seguente:
    550 5.7.1 Inoltro impossibile per NomeDestinatario@NomeDominio.tld

Test di inoltro 4

Questo test e? simile al test di inoltro 2, con la differenza che il dominio locale viene aggiunto esplicitamente all'indirizzo di posta elettronica. Un server SMTP chiuso per l'inoltro non deve inoltrare questo messaggio di posta elettronica. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:NomeUtente@NomeDominio.tld, dove NomeDominio e? il nome del dominio locale, quindi premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.0 NomeUtente@NomeDominio.tld....Sender OK
  3. Digitare RCPT TO:NomeUtente@NomeDominio.tld e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    550 5.7.1 Inoltro impossibile per NomeUtente@NomeDominio.tld

Test di inoltro 5

Anche questo test e? simile al test di inoltro 2, con la differenza che in questo caso viene utilizzato l'indirizzo IP del server al posto del nome del dominio. Sebbene questo formato di indirizzo sia generalmente accettato, il server non deve accettare l'inoltro a un dominio remoto. In vari altri test che utilizzano "localhost" o il nome DNS (Domain Name System) del server nell'indirizzo DA, il server non deve inoltrare i messaggi di posta elettronica che utilizzano questo tipo di approccio. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:NomeUtente@10.10.10.10 e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.0 NomeUtente@10.10.10.10....Sender OK
  3. Digitare RCPT TO:NomeUtente@NomeDominio.tld e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    550 5.7.1 Inoltro impossibile per NomeUtente@NomeDominio.tld

Test di inoltro 6

Questo test e? destinato specificatamente ai server meno recenti basati su UNIX che eseguono il routing dei messaggi di posta elettronica aggiungendo il dominio locale e cambiando il simbolo @ nel simbolo % e solo successivamente inoltrano la posta. Essendo il simbolo di percentuale (%) un carattere valido per la parte locale dell'indirizzo di posta elettronica, il server SMTP potrebbe accettare il messaggio e in seguito inviare un rapporto NDR se l'operazione di individuazione della directory avesse esito negativo. I prodotti Microsoft SMTP non sono vulnerabili a questo tipo di inoltro in quanto il messaggio non viene inoltrato e viene generato un rapporto NDR. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:NomeUtente e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    NomeUtente@NomeDominio.tld....Sender OK
  3. Digitare RCPT TO:NomeUtente%NomeDominio.tld e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.1.5 NomeUtente%NomeDominio.tld@NomeDominio.tldNomeUtente@NomeDominio.tld
    Nota Il dominio locale viene aggiunto al dominio del destinatario nell'indirizzo di posta elettronica.

Test di inoltro 7

Questo test e? una variante del test 6. Poiche? le virgolette (") sono un carattere valido per la parte locale dell'indirizzo di posta elettronica, il server SMTP accetta il messaggio e in seguito invia un rapporto NDR se l'operazione di individuazione della directory ha esito negativo. I prodotti Microsoft SMTP non sono vulnerabili a questo tipo di inoltro in quanto il messaggio non viene inoltrato e viene generato un rapporto NDR. Per effettuare questo test, attenersi alla seguente procedura:
  1. Al prompt della sessione Telnet digitare RSET.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    250 2.0.0 Resetting
  2. Digitare MAIL FROM:NomeUtente e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    NomeUtente@NomeDominio.tld....Sender OK
  3. Digitare RCPT TO:"NomeUtente@NomeDominio.tld" e premere INVIO.

    La sessione Telnet rispondera? con un testo analogo al seguente:
    "NomeUtente@NomeDominio.tld"@NomeDominio.tld
    Nota Il dominio locale viene aggiunto al dominio del destinatario nell'indirizzo di posta elettronica.

Come verificare se il server SMTP e? chiuso ai test di inoltro 6 e 7

Quando si eseguono i test di inoltro 6 e 7 su un computer che esegue Exchange 2000, viene generato un messaggio indirizzato a un destinatario che non viene risolto e vengono recapitati rapporti NDR nella cassetta postale specificata nel Gestore di sistema di Exchange. È possibile configurare la cassetta postale per i destinatari non risolti nelle proprietà del server virtuale SMTP predefinito nella casella Inoltra all'host tutti i messaggi con destinatari non risolti nella scheda Messaggi del Gestore di sistema di Exchange.

I rapporti NDR comprovano che i messaggi di posta elettronica non sono stati inoltrati.

Riferimenti

Per ulteriori informazioni su come comportarsi nel caso si esegua Exchange Server 5.5 e si voglia configurare il server in modo che non sia piu? un server di inoltro aperto, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
196626 XFOR: Limitazione del routing per il servizio Internet Mail
Per ulteriori informazioni su come impedire l'inoltro in Windows 2000, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
310356 Impedire l'inoltro della posta nel server SMTP di IIS 5.0 in Windows 2000
Sono disponibili vari test utilizzabili per verificare i server SMTP per l'inoltro. È possibile, ad esempio, utilizzare i seguenti siti Web e strumenti di terze parti (informazioni in lingua inglese): Microsoft fornisce informazioni su come contattare altri produttori allo scopo di facilitare l'individuazione del supporto tecnico. Queste informazioni sono soggette a modifica senza preavviso. Microsoft non si assume alcuna responsabilita? sull'accuratezza delle informazioni relative al contatto con altri produttori.

I prodotti di terze parti citati in questo articolo sono forniti da produttori indipendenti. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilita? di tali prodotti.

Proprietà

Identificativo articolo: 304897 - Ultima modifica: giovedì 11 gennaio 2007 - Revisione: 10.1
Le informazioni in questo articolo si applicano a
  • 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
Chiavi: 
kbhowto kbwinservnetwork kbnetwork KB304897
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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