Condividi tramite


Protezione di IIS

In questo argomento viene descritto l'utilizzo delle funzionalità seguenti in Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition):

  • Autenticazione IIS
  • Autorizzazione IIS
  • Crittografia IIS

Autenticazione IIS

Quando si configura Agente server di SQL Server Compact Edition, viene specificato se i client devono eseguire l'autenticazione Microsoft Internet Information Services (IIS) al momento della connessione ad Agente server di SQL Server Compact Edition. Sono disponibili tre forme di autenticazione IIS:

  • Accesso anonimo
  • Autenticazione di base
  • Autenticazione integrata di Windows

La maggior parte delle applicazioni Internet utilizza in genere l'autenticazione di base e la crittografia SSL (Secure Sockets Layer).

Accesso anonimo

Con l'accesso anonimo, IIS non esegue l'autenticazione dei client. Tutte le operazioni eseguite da Agente server di SQL Server Compact Edition per conto del client vengono completate con l'identità di Account Internet Guest. Per impostazione predefinita, questo account è IUSR_nomecomputer, ma è possibile designare come Account Internet Guest un diverso account utente di Windows.

Autenticazione di base

Con l'autenticazione di base, il client SQL Server Compact Edition deve specificare il nome utente e la password di un account di Windows valido. IIS tenta di accedere mediante il nome utente e la password specificati dal client. Se il tentativo di accesso ha esito positivo, Agente server di SQL Server Compact Edition viene eseguito con l'identità dell'account utente di Windows specificato. Se il tentativo di accesso ha esito negativo, la richiesta del client viene rifiutata. L'autenticazione di base può essere utilizzata per applicazioni sia Internet che Intranet. Per l'autenticazione di base, è necessario che ogni client disponga di un account di Windows valido, con il nome utente e la password corrispondenti.

Importante:
Per impostazione predefinita, l'autenticazione di base determina il passaggio in rete del nome utente e della password con codifica base64. Ciò può rappresentare un rischio in termini di protezione in caso di intercettazione dello scambio di password, poiché la codifica base64 può essere facilmente decodificata. Per proteggere la password utente, è opportuno utilizzare la crittografia SSL (Secure Sockets Layer) ogni volta che viene utilizzata l'autenticazione di base. Per ulteriori informazioni, vedere Configurazione della crittografia SSL.

Autenticazione integrata di Windows

L'autenticazione integrata di Windows presenta un funzionamento analogo all'autenticazione di base. Il client SQL Server Compact Edition deve specificare il nome utente e la password di un account di Windows valido. IIS tenta di accedere mediante il nome utente e la password. Se il tentativo di accesso ha esito positivo, Agente server di SQL Server Compact Edition viene eseguito con l'identità dell'account utente di Windows. Se il tentativo di accesso ha esito negativo, la richiesta di sincronizzazione del client viene rifiutata. Il principale vantaggio offerto dall'autenticazione integrata di Windows rispetto all'autenticazione di base consiste nel fatto che l'autenticazione integrata di Windows non trasmette in rete il nome utente e la password del client in forma non crittografata. Viene così evitato il rischio di intercettazione della password. L'autenticazione integrata di Windows rappresenta la soluzione ideale per le applicazioni Intranet. L'autenticazione integrata di Windows viene utilizzata raramente per le applicazioni Internet, poiché non può essere applicata a un server proxy o un firewall.

[!NOTA] Poiché Microsoft Windows CE 4.2 non supporta l'autenticazione con digest, le soluzioni per la connettività di SQL Server Compact Edition non supportano questa forma di autenticazione.

Autorizzazione IIS

Dopo l'autenticazione del client IIS, l'autorizzazione IIS determina se il client può richiamare Agente server di SQL Server Compact Edition. È possibile controllare gli utenti che possono sfruttare la connettività di SQL Server Compact Edition controllando i client in grado di accedere ad Agente server di SQL Server Compact Edition.

Per il controllo dell'accesso, IIS fornisce i meccanismi seguenti:

  • IIS controlla innanzitutto l'indirizzo del client rispetto alle eventuali restrizioni per gli indirizzi IP configurate. È possibile configurare il server Web in modo da impedire a determinati computer o gruppi di computer oppure a specifiche reti di accedere ad Agente server di SQL Server Compact Edition. Quando un client tenta inizialmente di accedere ad Agente server di SQL Server Compact Edition, IIS controlla l'indirizzo IP del computer rispetto alle restrizioni per gli indirizzi IP impostate sul server. Se all'indirizzo IP viene negato l'accesso, la richiesta di sincronizzazione del client viene rifiutata con il messaggio 403 di accesso non consentito.
  • Se IIS viene configurato in modo da richiedere l'autenticazione, IIS controlla se il client dispone di un account utente di Windows valido, come descritto nella sezione Autenticazione IIS di questo documento. Se l'account utente non è valido, la richiesta di sincronizzazione del client viene rifiutata con il messaggio 403 di accesso non consentito.
  • IIS controlla quindi le autorizzazioni Web. Il controllo di protezione di IIS non è rilevante ai fini delle soluzioni per la connettività di SQL Server Compact Edition.
  • IIS controlla infine le autorizzazioni NTFS per Agente server di SQL Server Compact Edition per verificare se l'utente che esegue la connessione dispone delle autorizzazioni appropriate.

[!NOTA] Nonostante IIS possa essere utilizzato anche con un file system FAT (File Allocation Table), è consigliabile utilizzare NTFS. NTFS consente di utilizzare elenchi di controllo di accesso (ACL, Access Control List) per concedere o negare l'accesso ad Agente server di SQL Server Compact Edition e ai file di messaggio di input e di output sul sistema IIS.

Crittografia IIS

Al momento della configurazione di Agente server di SQL Server Compact Edition, è possibile specificare la crittografia SSL. Quando si specifica la crittografia SSL, tutte le comunicazioni tra Agente client di SQL Server Compact Edition e Agente server di SQL Server Compact Edition verranno crittografate. Per ulteriori informazioni, vedere Configurazione della crittografia SSL.

È opportuno utilizzare la crittografia SSL nelle situazioni seguenti:

  • Se si configura IIS per l'utilizzo dell'autenticazione di base.
    La crittografia è essenziale per proteggere la password Internet dell'utente. Per impostazione predefinita, l'autenticazione di base determina la trasmissione in rete del nome utente e della password con codifica base64. Ciò può rappresentare un rischio in termini di protezione in caso di intercettazione dello scambio di password, poiché la codifica base64 può essere facilmente decodificata. È opportuno utilizzare la crittografia SSL ogni volta che viene utilizzata l'autenticazione di base, allo scopo di proteggere la password Internet dell'utente.
  • Solo per RDA: se l'applicazione specifica un parametro OLEDBConnectionString contenente una password.
    I metodi Pull, Push e SubmitSQL RDA richiedono un parametro OLEDBConnectionString. Questa stringa di connessione viene passata in rete in forma non crittografata. Ciò può rappresentare un rischio in termini di protezione in caso di intercettazione dello scambio di password.
  • Solo per la replica: se il server di pubblicazione o il server di distribuzione di SQL Server utilizza l'autenticazione di SQL Server.

Il server di distribuzione utilizza l'autenticazione di SQL Server se nella proprietà DistributorSecurityMode viene specificato DB_AUTHENTICATION. Il server di pubblicazione utilizza l'autenticazione di SQL Server se nella proprietà PublisherSecurityMode viene specificato DB_AUTHENTICATION. In caso di utilizzo dell'autenticazione di SQL Server, i valori di DistributorPassword e PublisherPassword vengono passati in rete in forma non crittografata. Ciò può rappresentare un rischio in termini di protezione in caso di intercettazione dello scambio di password. È consigliabile utilizzare la crittografia SSL ogni volta che viene utilizzata l'autenticazione di SQL Server, allo scopo di proteggere DistributorPassword e PublisherPassword.

Vedere anche

Concetti

Protezione di SQL Server
Protezione dei database (SQL Server Compact Edition)

Guida in linea e informazioni

Assistenza su SQL Server Compact Edition