Condividi tramite


Uso di FTP Over SSL 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 forniti fuori banda per IIS 7.0, che richiedevano il download e l'installazione del servizio dall'URL seguente: https://www.iis.net/download/FTP.

Introduzione

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

Una delle funzionalità è FTP tramite Secure Sockets Layer (SSL), che consente la crittografia delle sessioni tra un client FTP e un server. Questo documento illustra come configurare un sito FTP; e, configurando tale sito per usare SSL con la nuova interfaccia utente FTP, che consente di modificare direttamente i file di configurazione IIS 7.0. Contiene quanto segue:

Nota

Questa procedura dettagliata contiene una serie di passaggi in cui si accede al sito FTP usando l'account amministratore locale. Questi passaggi devono essere seguiti solo nel server stesso usando l'indirizzo di loopback o tramite SSL da un server remoto. Se si preferisce usare un account utente separato anziché l'account amministratore, è necessario creare le cartelle appropriate e impostare le autorizzazioni corrette per l'account utente quando necessario.

Prerequisiti

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

  1. IIS 7.0 deve essere installato nel server Windows 2008 e Internet Information Services Manager deve essere installato.

  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.0 (x64)
    • FTP 7.5 per IIS 7.0 (x86)
  3. Sarà necessario creare una cartella radice per la pubblicazione FTP:

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

    • Impostare le autorizzazioni per consentire l'accesso per il gruppo administrators:

      • Aprire un prompt dei comandi.
      • Digitare il comando seguente: ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
      • Chiudere il prompt dei comandi.

Nota

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, è necessario modificare i percorsi correlati al sito usati in questa procedura dettagliata.

FACOLTATIVO: Creazione di un certificato SSL autofirmato

In questa attività facoltativa si creerà un certificato SSL autofirmato che verrà usato per il test del sito FTP.

Nota

Se si configura un sito FTP per l'attività basata su Internet, si otterrà un certificato SSL da una delle numerose autorità di certificazione, ad esempio VeriSign, Thawte, DigiCert e così via. Per altre informazioni, vedere Autorità di certificazione.

  1. Aprire Gestione Internet Information Services (IIS 7.0).
  2. Fare clic sul computer nel nodo superiore dell'albero Connessioni , quindi fare doppio clic sulla funzionalità Certificati server .
    Screenshot che mostra il riquadro Home server MY SERVER. È selezionata l'opzione Certificati di Sever.
  3. Fare clic su Crea Self-Signed Certificato nel riquadro Azioni .
    Screenshot che mostra il riquadro Certificati Sever.
  4. Immettere "Certificato FTP" come nome per il nuovo certificato, quindi fare clic su OK.
    Screenshot che mostra la finestra di dialogo Crea certificato autofirmato.

Creazione di un sito FTP abilitato per SSL tramite gestione IIS 7.0

Passaggio 1: Usare la Procedura guidata sito FTP per creare un sito FTP basato su SSL

In questo primo passaggio si crea un nuovo sito FTP che può essere aperto solo usando l'account amministratore.

  1. Passare a Gestione IIS 7.0. Nel riquadro Connessioni 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 che mostra il menu di scelta rapida per Siti nel riquadro Connessioni.

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

    • Immettere "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 nel percorso della cartella del contenuto, è possibile usare le variabili di ambiente nei percorsi.

    • Fare clic su Avanti.

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

  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é l'account amministratore verrà usato più avanti in questa procedura dettagliata, assicurarsi di limitare l'accesso al server 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, scegliere 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 sul certificato SSL. Ad esempio, se è stato seguito il passaggio facoltativo per creare un certificato autofirmato, la casella a discesa deve dire "Il mio certificato FTP".

    • Assicurarsi che l'opzione Consenti SSL sia selezionata.

    • Fare clic su Avanti.

      Screenshot che mostra la pagina Binding e S S L Settings (Impostazioni S) nella finestra di dialogo Aggiungi sito F T P. È selezionata l'opzione Consenti S L.

  5. Nella pagina successiva della procedura guidata:

    • Selezionare Basic per le impostazioni di autenticazione .

    • Per le impostazioni di autorizzazione :

      • Scegliere "Utenti specificati" dall'elenco a discesa Consenti l'accesso.
      • Digitare "administrator" per il nome utente.
      • Selezionare Lettura e scrittura per l'opzione Autorizzazioni .
    • Al termine di questi elementi, fare clic su Fine.

      Screenshot che mostra la pagina Informazioni di autenticazione e autorizzazione nella finestra di dialogo Aggiungi sito F P. Basic, Read e Write sono tutti selezionati.

Riepilogo

È stato creato correttamente un nuovo sito FTP basato su SSL usando il nuovo servizio FTP.

Per riepilogare gli elementi completati in questo passaggio:

  • È stato creato un nuovo sito FTP denominato "My New FTP Site", con la radice del contenuto del sito in %SystemDrive%\inetpub\ftproot.
  • È stato associato il sito FTP all'indirizzo di loopback locale per il computer sulla porta 21.
  • È stato scelto di richiedere Secure Sockets Layer (SSL) per il sito FTP e selezionare il certificato SSL.
  • È stata abilitata l'autenticazione di base e è stata creata una regola di autorizzazione per l'account amministratore locale per l'accesso in lettura e scrittura.

Passaggio 2: Configurazione di impostazioni SSL FTP aggiuntive

I criteri SSL per FTP sono personalizzabili in base al sito. È possibile specificare impostazioni diverse per i canali di controllo e dati. In questo passaggio vengono configurate impostazioni SSL aggiuntive per il sito FTP che garantiscono che tutte le credenziali utente siano crittografate, anche se tutte le altre attività FTP non sono.

  1. Passare a Gestione IIS 7.0. Fare clic sul nodo per il sito FTP creato nel passaggio 1. Icone per tutte le funzionalità FTP visualizzate.
    Screenshot che mostra il riquadro Home del sito My New F T P.

  2. Per configurare le opzioni SSL, fare doppio clic sull'icona Impostazioni SSL FTP per aprire la pagina delle impostazioni SSL.
    Screenshot che mostra il riquadro Home Del nuovo sito F F P con F T S S L Settings selezionato.

  3. Quando viene visualizzata la pagina Impostazioni SSL FTP , selezionare l'opzione Personalizzata e quindi fare clic sul pulsante Avanzate .
    Screenshot che mostra il riquadro Impostazioni F T S S L. È selezionata l'opzione Personalizzata.

  4. Quando viene visualizzata la finestra di dialogo Criteri SSL avanzati :

    • Selezionare l'opzione Richiedi solo per le credenziali per il canale di controllo.

      Nota

      Questa impostazione richiede che tutti i nomi utente e la password vengano crittografati tramite SSL, ma il client può scegliere se crittografare tutte le altre attività del canale di controllo.

    • Selezionare l'opzione Consenti per il canale dati.

      Nota

      Questa impostazione consente al client di scegliere se crittografare qualsiasi attività del canale dati.

    • Al termine di questi elementi, fare clic su OK.
      Screenshot che mostra la finestra di dialogo Criteri S S L avanzati.

  5. Nella pagina Impostazioni SSL FTP fare clic su Applica nel riquadro Azioni per salvare le impostazioni SSL.
    Screenshot che mostra il riquadro Impostazioni F T S S L. Applicare e Annullare sono elencati nel riquadro Azioni.

Riepilogo

Per riepilogare gli elementi completati in questo passaggio:

  • È stato configurato il criterio SSL del canale di controllo per richiedere che tutte le credenziali utente siano crittografate e i client FTP consentiti per determinare se crittografare tutte le altre attività del canale di controllo.
  • È stato configurato il criterio SSL del canale dati per consentire ai client FTP di determinare se crittografare qualsiasi attività del canale dati.

Accesso al sito FTP

Nel passaggio 1 è stato creato un sito FTP accessibile dall'account amministratore. Nel passaggio 2 è stato configurato il criterio SSL del canale di controllo per richiedere che tutte le credenziali utente vengano crittografate consentendo ai client FTP di scegliere se tutte le altre attività del canale di controllo e del canale dati vengano crittografate.

Quando si accede al server FTP usando un client FTP compatibile con SSL, il server FTP supporta le opzioni di sicurezza esplicite seguenti:

  • TLS-C/TLS: usare TLS per la connessione con le impostazioni predefinite RFC2228. Ciò significa che non esiste alcuna protezione implicita della connessione dati.
  • TLS-P/SSL : usare TLS per la connessione. Ciò significa che la connessione dati è protetta in modo implicito.

Queste impostazioni possono essere configurate quando si specificano le opzioni di connessione SSL nella maggior parte dei client FTP di terze parti.

Aggiunta della pubblicazione FTP basata su SSL modificando i file di configurazione IIS 7.0

È anche possibile aggiungere la pubblicazione FTP basata su SSL a un sito Web esistente modificando i file di configurazione IIS 7.0.

Nota

La modifica del file applicationHost.config richiede autorizzazioni amministrative complete. Usare uno dei due metodi:

  • Accedere al computer usando l'account "amministratore" locale.

Oppure

  • Se si esegue l'accesso usando un account con autorizzazioni amministrative che non sono l'account "amministratore" locale, aprire Blocco note usando l'opzione "Esegui come amministratore".

Nota

Uno dei passaggi precedenti è necessario perché il componente di sicurezza Controllo account utente (UAC) nei sistemi operativi Windows Vista e Windows Server 2008 impedisce l'accesso al file di applicationHost.config. Per altre informazioni sull'interfaccia utente, vedere Controllo account utente.

I passaggi seguenti illustrano tutte le impostazioni necessarie per aggiungere la pubblicazione FTP per il sito Web predefinito.

Passaggio 1: Recuperare l'hash per il certificato SSL:

  1. Nella funzionalità Certificati server fare doppio clic sul certificato SSL. Ad esempio, se è stato seguito il passaggio facoltativo per creare un certificato autofirmato, fare doppio clic sul certificato denominato "Certificato FTP personale".
  2. Fare clic sulla scheda Dettagli.
  3. Scorrere i campi fino a individuare il valore Identificazione personale .
  4. Evidenziare il valore Identificazione personale , i dati vengono visualizzati come:
    "57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73"
  5. Copiare i dati esadecimale dalla casella di testo e incollarlo negli Appunti. Aprire quindi Blocco note di Windows e incollare i dati in un documento vuoto.

Nota

Queste informazioni verranno usate in un secondo momento.

Passaggio 2: Aggiungere FTP al sito Web predefinito

  1. Usando un editor di testo, ad esempio Il blocco note di Windows, aprire il file di applicationHost.config, che si trova nella %SystemRoot%\System32\inetsrv\config cartella per impostazione predefinita.

  2. Individuare la sezione per il sito Web predefinito. Dovrebbe essere simile all'esempio seguente:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
        </bindings>
    </site>
    
  3. Creare un nuovo elemento di associazione nell'insieme binding. Impostare il valore dell'attributo del protocollo sul nuovo elemento di associazione per contenere "ftp", quindi modificare il valore della porta dell'attributo bindingInformation per contenere "21". Le impostazioni del sito Web predefinito devono ora essere simili all'esempio seguente:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
    </site>
    
  4. Aggiungere una <sezione ftpServer> sotto il tag binding> di chiusura <che conterrà le impostazioni di autenticazione e SSL.

    Nota

    Le impostazioni di autenticazione per i siti FTP vengono configurate a livello di sito, a differenza dell'autenticazione per i siti Web, che possono essere configurate per URL.

    <ftpServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" userName="IUSR" />
                <basicAuthentication enabled="true" />
            </authentication>
            <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </security>
    </ftpServer>
    
  5. Copiare e incollare i dati di identificazione personale dal certificato SSL nell'attributo serverCertHash dell'elemento SSL. Rimuovere tutti gli spazi dai dati di identificazione personale.

    Nota

    Se non si convertono i dati esadecimale in maiuscolo, non verrà visualizzato in iis Manager in un secondo momento.

    Le impostazioni predefinite del sito Web devono ora contenere un aspetto simile all'esempio seguente:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
        <ftpServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
            <ssl serverCertHash="57686F6120447564652C2049495320526F636B73" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </ftpServer>
    </site>
    
  6. Scorrere fino alla fine del file applicationHost.config e aggiungere una sezione del percorso per il sito Web predefinito che conterrà le impostazioni di autorizzazione.

    Nota

    Come illustrato in questo esempio, le impostazioni di autorizzazione per i siti FTP sono configurate per URL.

    <location path="Default Web Site">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    
  7. Salvare il file applicationHost.config.

È ora possibile accedere al sito Web predefinito usando un client FTP basato su SSL.

Riepilogo

In questa attività è stata aggiunta la pubblicazione FTP basata su SSL al sito Web predefinito modificando i file di configurazione IIS 7.0. Per riepilogare gli elementi completati in questa attività:

  • È stato aggiunto un'associazione FTP al sito Web predefinito.
  • È stata abilitata l'autenticazione di base FTP e l'autenticazione anonima FTP per il sito Web predefinito.
  • È stato configurato il sito per richiedere SSL per tutte le attività del canale di controllo e del canale dati.
  • È stato configurato l'account amministratore per le autorizzazioni di lettura/scrittura per il sito Web predefinito.