Condividi tramite


Configurazione di Impostazioni firewall FTP in IIS 7

di Robert McMurray

Compatibilità

Versione Note
IIS 7.5 Il servizio FTP 7.5 viene fornito come funzionalità per IIS 7.5 in Windows 7 e Windows Server 2008 R2.
IIS 7.0 I servizi FTP 7.0 e FTP 7.5 sono stati spediti fuori banda per IIS 7.0, che richiedeva il download e l'installazione del servizio dall'URL seguente: https://www.iis.net/download/FTP.

Introduzione

Microsoft ha creato un nuovo servizio FTP completamente riscritto per Windows Server® 2008. Questo servizio FTP incorpora molte nuove funzionalità che consentono agli autori Web di pubblicare contenuti meglio di prima e offre agli amministratori Web più opzioni di sicurezza e distribuzione.

Questo documento illustra come configurare le impostazioni del firewall per il nuovo server FTP.

Prerequisiti

Per completare le procedure descritte in questo articolo, è necessario installare gli elementi seguenti:

  1. È necessario installare IIS 7 nel server Windows 2008 e Gestione Internet Information Services (IIS).

  2. Nuovo servizio FTP. È possibile scaricare e installare il servizio FTP dal https://www.iis.net/ sito Web usando uno dei collegamenti seguenti:

    • FTP 7.5 per IIS 7 (x64)
    • FTP 7.5 per IIS 7 (x86)
  3. È necessario creare una cartella radice per la pubblicazione FTP:

    • Creare una cartella in %SystemDrive%\inetpub\ftproot

    • Impostare le autorizzazioni per consentire l'accesso anonimo:

      • Apri un prompt dei comandi.

      • Digitare il comando seguente:

        ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
        
      • Chiudere il prompt dei comandi.

Note importanti:

  • Le impostazioni elencate in questa procedura dettagliata specificano %SystemDrive%\inetpub\ftproot come percorso del sito FTP. Non è necessario usare questo percorso; Tuttavia, se si modifica la posizione del sito, sarà necessario modificare i percorsi correlati al sito usati in questa procedura dettagliata.

  • Dopo aver configurato le impostazioni del firewall per il servizio FTP, è necessario configurare il software firewall o l'hardware per consentire le connessioni tramite il firewall al server FTP.

Usare la Creazione guidata sito FTP per creare un sito FTP con autenticazione anonima

In questa sezione viene creato un nuovo sito FTP che può essere aperto per l'accesso in sola lettura da parte di utenti anonimi. A tale scopo, seguire questa procedura:

  1. Passare a Gestione IIS 7. Nel riquadro Connessione ions fare clic sul nodo Siti nell'albero.

  2. Fare clic con il pulsante destro del mouse sul nodo Siti nell'albero e scegliere Aggiungi sito FTP oppure fare clic su Aggiungi sito FTP nel riquadro Azioni.

    Screenshot di I S Manager. Aggiungi sito F T P evidenziato nel menu di scelta rapida Siti nel riquadro Connessione ions.

  3. Quando viene visualizzata la procedura guidata Aggiungi sito FTP:

    • Immettere "My New FTP Site" ( Nuovo sito FTP) nella casella Nome sito FTP, quindi passare alla %SystemDrive%\inetpub\ftproot cartella creata nella sezione Prerequisiti.

      Nota

      Se si sceglie di digitare il percorso della cartella del contenuto, è possibile usare le variabili di ambiente nei percorsi.

    • Fare clic su Avanti.

      Screenshot che mostra la finestra di dialogo Aggiungi sito F T P per Informazioni sito.

  4. Nella pagina successiva della procedura guidata:

    • Scegliere un indirizzo IP per il sito FTP dall'elenco a discesa Indirizzo IP oppure scegliere di accettare la selezione predefinita di "Tutti non assegnati". Poiché si accederà al sito FTP in modalità remota, assicurarsi di non limitare l'accesso al server locale e immettere l'indirizzo IP di loopback locale per il computer digitando "127.0.0.1" nella casella Indirizzo IP.

    • In genere si immette la porta TCP/IP per il sito FTP nella casella Porta . Per questa procedura dettagliata, si sceglierà di accettare la porta predefinita 21.

    • Per questa procedura dettagliata non si usa un nome host, quindi assicurarsi che la casella Host virtuale sia vuota.

    • Assicurarsi che l'elenco a discesa Certificati sia impostato su "Non selezionato" e che sia selezionata l'opzione Consenti SSL .

    • Fare clic su Avanti.

      Screenshot che mostra la finestra di dialogo Aggiungi sito F T P per binding e S L Impostazioni.

  5. Nella pagina successiva della procedura guidata:

    • Selezionare Anonimo per le impostazioni di autenticazione.

    • Per Le impostazioni di autorizzazione scegliere "Utenti anonimi" dall'elenco a discesa Consenti l'accesso. Selezionare Lettura per l'opzione Autorizzazioni .

    • Fare clic su Fine.

      Screenshot che mostra la finestra di dialogo Aggiungi sito F T P per l'autenticazione e le informazioni autorizzate.

  6. Passare a Gestione IIS 7. Fare clic sul nodo per il sito FTP creato. Icone per tutte le funzionalità FTP visualizzate.

    Screenshot che mostra il riquadro My New F T P Site Home .Screenshot che mostra il riquadro My New F T P Site Home .Screenshot che mostra il riquadro My New F T P Site Home .

Riepilogo

Per riepilogare gli elementi completati in questo passaggio:

  1. È stato creato un nuovo sito FTP denominato "My New FTP Site", con la radice del contenuto del sito all'indirizzo %SystemDrive%\inetpub\ftproot.
  2. Il sito FTP è stato associato all'indirizzo di loopback locale per il computer sulla porta 21, scegliendo di non usare Secure Sockets Layer (SSL) per il sito FTP.
  3. È stata creata una regola predefinita per il sito FTP per consentire agli utenti anonimi di "Leggere" l'accesso ai file.

Passaggio 1: Configurare l'intervallo di porte passive per il servizio FTP

In questa sezione viene configurato l'intervallo di porte a livello di server per le connessioni passive al servizio FTP. Eseguire la procedura descritta di seguito:

  1. Passare a Gestione IIS 7. Nel riquadro Connessione ions fare clic sul nodo a livello di server nell'albero.

    Screenshot che mostra il riquadro Home my edizione Standard RVER.

  2. Fare doppio clic sull'icona Supporto firewall FTP nell'elenco delle funzionalità.

    Screenshot che mostra il riquadro My edizione Standard RVER Home con il supporto del firewall F T P evidenziato.

  3. Immettere un intervallo di valori per l'intervallo di porte del canale dati.

    Screenshot che mostra il riquadro Supporto firewall F T P.

  4. Dopo aver immesso l'intervallo di porte per il servizio FTP, fare clic su Applica nel riquadro Azioni per salvare le impostazioni di configurazione.

Note

  1. L'intervallo valido per le porte è compreso tra 1024 e 65535. Le porte da 1 a 1023 sono riservate per l'uso da parte dei servizi di sistema.

  2. È possibile immettere un intervallo di porte speciale "0-0" per configurare il server FTP per l'uso dell'intervallo di porte dinamiche TCP/IP di Windows.

  3. Per altre informazioni, vedere gli articoli della Microsoft Knowledge Base seguenti:

  4. Questo intervallo di porte dovrà essere aggiunto alle impostazioni consentite per il server firewall.

  5. Dopo aver apportato le modifiche alla configurazione, riavviare il servizio FTP Microsoft tramite Start>>Runservices.msc e individuare il servizio FTP.

Passaggio 2: Configurare l'indirizzo IPv4 esterno per un sito FTP specifico

In questa sezione viene configurato l'indirizzo IPv4 esterno per il sito FTP specifico creato in precedenza. Eseguire la procedura descritta di seguito:

  1. Passare a Gestione IIS 7. Nel riquadro Connessione ions fare clic sul sito FTP creato in precedenza nell'albero, fare doppio clic sull'icona Supporto firewall FTP nell'elenco delle funzionalità.

    Screenshot che mostra il riquadro My New F T P Site Home con F T P Firewall Support evidenziato.

  2. Immettere l'indirizzo IPv4 dell'indirizzo esterno del server firewall per l'impostazione Indirizzo IP esterno del firewall .

    Screenshot che mostra il riquadro Supporto firewall F T P, con un indirizzo I P immesso nel campo Indirizzo I P esterno o Firewall.

  3. Dopo aver immesso l'indirizzo IPv4 esterno per il server firewall, fare clic su Applica nel riquadro Azioni per salvare le impostazioni di configurazione.

Riepilogo

Per riepilogare gli elementi completati in questo passaggio:

  1. È stato configurato l'intervallo di porte passivo per il servizio FTP.
  2. È stato configurato l'indirizzo IPv4 esterno per un sito FTP specifico.

(Facoltativo) Passaggio 3: Configurare Windows Firewall Impostazioni

Windows Server 2008 contiene un servizio firewall predefinito per proteggere il server dalle minacce di rete. Se si sceglie di usare Windows Firewall predefinito, sarà necessario configurare le impostazioni in modo che il traffico FTP possa passare attraverso il firewall.

Esistono alcune configurazioni diverse da considerare quando si usa il servizio FTP con Windows Firewall, indipendentemente dal fatto che si usino connessioni FTP attive o passive e se si userà ftp non crittografato o si userà FTP su SSL (FTPS). Ognuna di queste configurazioni è descritta di seguito.

Nota

Sarà necessario assicurarsi di seguire la procedura descritta in questa sezione dettagliata durante l'accesso come amministratore. A tale scopo, è possibile eseguire uno dei metodi seguenti:

  • Accedere al server usando l'account effettivo denominato "Amministrazione istrator".
  • Accedere con un account con privilegi di amministratore e aprire un prompt dei comandi facendo clic con il pulsante destro del mouse sulla voce di menu Prompt dei comandi che si trova nel menu Accessori per i programmi Windows e scegliendo "Esegui come amministratore".

Uno dei passaggi precedenti è necessario perché il componente di sicurezza Controllo account utente (UAC) nei sistemi operativi Windows Vista e Windows Server 2008 impedisce agli amministratori di accedere alle impostazioni del firewall. Per altre informazioni sull'interfaccia utente, vedere la documentazione seguente:

Nota

Anche se Windows Firewall può essere configurato usando l'applet di Windows Firewall in Windows Pannello di controllo, tale utilità non dispone delle funzionalità necessarie per abilitare tutte le funzionalità per FTP. L'utilità Windows Firewall con sicurezza avanzata che si trova in strumenti Amministrazione istrative in Windows Pannello di controllo dispone di tutte le funzionalità necessarie per abilitare le funzionalità FTP, ma nell'interesse della semplicità questa procedura dettagliata descrive come usare l'utilità Netsh.exe della riga di comando per configurare Windows Firewall.

Uso di Windows Firewall con traffico FTP non sicuro

Per configurare Windows Firewall per consentire il traffico FTP non sicuro, seguire questa procedura:

  1. Aprire un prompt dei comandi: fare clic su Start, quindi su Tutti i programmi, su Accessori, quindi su Prompt dei comandi.

  2. Per aprire la porta 21 nel firewall, digitare la sintassi seguente e quindi premere INVIO:

    netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21
    
  3. Per abilitare il filtro FTP con stato che aprirà dinamicamente le porte per le connessioni dati, digitare la sintassi seguente e quindi premere INVIO:

    netsh advfirewall set global StatefulFtp enable
    

Note importanti:

  • Le connessioni FTP attive non sarebbero necessariamente coperte dalle regole precedenti; È necessario abilitare anche una connessione in uscita dalla porta 20 nel server. Inoltre, il computer client FTP deve avere le proprie eccezioni del firewall configurate per il traffico in ingresso.
  • FTP su SSL (FTPS) non sarà coperto da queste regole; la negoziazione SSL avrà probabilmente esito negativo perché il filtro di Windows Firewall per l'ispezione FTP con stato non sarà in grado di analizzare i dati crittografati. Alcuni filtri firewall di terze parti riconoscono l'inizio della negoziazione SSL, ad esempio comandi AUTH SSL o AUTH TLS e restituiscono un errore per impedire l'avvio della negoziazione SSL.

Uso di Windows Firewall con traffico FTP sicuro tramite SSL (FTPS)

L'ispezione dei pacchetti FTP con stato in Windows Firewall impedirà molto probabilmente il funzionamento di SSL perché il filtro di Windows Firewall per l'ispezione FTP con stato non sarà in grado di analizzare il traffico crittografato che stabilisce la connessione dati. A causa di questo comportamento, sarà necessario configurare le impostazioni di Windows Firewall per FTP in modo diverso se si intende usare FTP su SSL (FTPS). Il modo più semplice per configurare Windows Firewall per consentire il traffico FTPS consiste nell'elencare il servizio FTP nell'elenco delle eccezioni in ingresso. Il nome completo del servizio è "Servizio FTP Microsoft" e il nome breve del servizio è "ftpsvc". Il servizio FTP è ospitato in un host del processo di servizio generico (Svchost.exe) in modo che non sia possibile inserirlo nell'elenco di eccezioni anche se un'eccezione del programma.

Per configurare Windows Firewall per consentire il traffico FTP sicuro tramite FTPS, seguire questa procedura:

  1. Aprire un prompt dei comandi: fare clic su Start, quindi su Tutti i programmi, su Accessori, quindi su Prompt dei comandi.

  2. Per configurare il firewall per consentire al servizio FTP di rimanere in ascolto su tutte le porte aperte, digitare la sintassi seguente e quindi premere INVIO:

    netsh advfirewall firewall add rule name="FTP for IIS7" service=ftpsvc action=allow protocol=TCP dir=in
    
  3. Per disabilitare il filtro FTP con stato in modo che Windows Firewall non blocchi il traffico FTP, digitare la sintassi seguente e quindi premere INVIO:

    netsh advfirewall set global StatefulFtp disable
    

Altre informazioni sull'uso dei firewall

Spesso è difficile creare regole del firewall per il corretto funzionamento del server FTP e la causa principale di questa sfida risiede nell'architettura del protocollo FTP. Ogni client FTP richiede la manutenzione di due connessioni tra client e server:

  • I comandi FTP vengono trasferiti tramite una connessione primaria denominata Canale di controllo, che in genere è la porta FTP 21 nota.
  • I trasferimenti di dati FTP, ad esempio elenchi di directory o caricamento/download di file, richiedono una connessione secondaria denominata Canale dati.

L'apertura della porta 21 in un firewall è un'attività semplice, ma ciò significa che un client FTP potrà inviare solo comandi, non trasferire i dati. Ciò significa che il client sarà in grado di usare il canale di controllo per autenticare ed eliminare correttamente directory, ma il client non sarà in grado di visualizzare elenchi di directory o di caricare/scaricare file. Ciò è dovuto al fatto che le connessioni dati per il server FTP non possono passare attraverso il firewall fino a quando il canale dati non è stato consentito attraverso il firewall.

Nota

Questo potrebbe sembrare confuso per un client FTP, perché il client sembra essere in grado di accedere correttamente al server, ma la connessione potrebbe sembrare timeout o interrompere la risposta quando si tenta di recuperare un elenco di directory dal server.

Le sfide dell'uso di FTP e firewall non terminano con il requisito di una connessione dati secondaria; per complicare ancora di più le cose, esistono in realtà due modi diversi per stabilire la connessione dati:

  • Active Data Connessione ions: in una connessione dati attiva, un client FTP configura una porta per l'ascolto del canale dati e il server avvia una connessione alla porta, in genere dalla porta 20 del server. Connessioni dati attive usate per essere il modo predefinito di connettersi al server FTP; Tuttavia, le connessioni dati attive non sono più consigliate perché non funzionano correttamente in scenari Internet.
  • Dati passivi Connessione ions: in una connessione dati passiva, un server FTP configura una porta per l'ascolto del canale dati e il client avvia una connessione alla porta. Le connessioni passive funzionano molto meglio negli scenari Internet e consigliate da RFC 1579 (FTP intuitivo per il firewall).

Nota

Alcuni client FTP richiedono un'azione esplicita per abilitare le connessioni passive e alcuni client non supportano nemmeno connessioni passive. Uno di questi esempi è l'utilità Ftp.exe della riga di comando fornita con Windows. Per aggiungere alla confusione, alcuni client tentano di alternare in modo intelligente tra le due modalità quando si verificano errori di rete, ma purtroppo questo non funziona sempre.

Alcuni firewall tentano di risolvere i problemi relativi alle connessioni dati con filtri predefiniti che analizzano il traffico FTP e consentono in modo dinamico le connessioni dati attraverso il firewall. Questi filtri firewall sono in grado di rilevare quali porte verranno usate per i trasferimenti di dati e aprirle temporaneamente nel firewall in modo che i client possano aprire connessioni dati. Alcuni firewall possono abilitare il filtro del traffico FTP per impostazione predefinita, ma non sempre. Questo tipo di filtro è noto come tipo di ispezione pacchetti con stato (SPI) o ispezione con stato, il che significa che il firewall è in grado di determinare in modo intelligente il tipo di traffico e scegliere dinamicamente come rispondere. Molti firewall ora usano queste funzionalità, tra cui Windows Firewall predefinito.