Considerazioni sulla sicurezza per i driver Microsoft per PHP per SQL Server
In questo argomento vengono descritte considerazioni sulla sicurezza specifiche per lo sviluppo, la distribuzione e l'esecuzione di applicazioni che usano driver Microsoft per PHP per SQL Server. Per informazioni più dettagliate sulla sicurezza di SQL Server, vedere Cenni preliminari sulla sicurezza in SQL Server.
Connettersi con l'autenticazione di Windows
L'autenticazione di Windows deve essere usata per connettersi a SQL Server ogni volta che è possibile per i motivi seguenti:
Durante l'autenticazione le credenziali non vengono trasmesse attraverso la rete. Nomi utente e password non sono incorporati nella stringa di connessione al database. Di conseguenza, utenti non autorizzati o malintenzionati non possono ottenere le credenziali monitorando la rete o visualizzando le stringhe di connessione nei file di configurazione.
Gli utenti sono soggetti a una gestione centralizzata degli account. Vengono applicati criteri di sicurezza, ad esempio i periodi di scadenza delle password, la lunghezza minima delle password e il blocco degli account dopo più richieste di accesso non valide.
Per informazioni su come connettersi a un server con l'autenticazione di Windows, vedere Procedura: Connessione con l'autenticazione di Windows.
Quando ci si connette tramite l'autenticazione di Windows, è consigliabile configurare l'ambiente in modo che SQL Server possa usare il protocollo di autenticazione Kerberos. Per altre informazioni, vedere Come assicurarsi che si utilizza l'autenticazione Kerberos quando si crea una connessione remota a un'istanza di SQL Server 2005 o Autenticazione Kerberos e SQL Server.
Usare connessioni crittografate durante il trasferimento di dati sensibili
È necessario usare connessioni crittografate ogni volta che si inviano o si recuperano dati sensibili da SQL Server. Per informazioni su come abilitare connessioni crittografate, vedere Abilitazione di connessioni crittografate al Motore di database (Gestione configurazione SQL Server). Per stabilire una connessione protetta con driver Microsoft per PHP per SQL Server, usare l'attributo di connessione Encrypt durante la connessione al server. Per altre informazioni sugli attributi di connessione, vedere Connection Options.
Usare query con parametri
Per ridurre il rischio di attacchi intrusivi nel codice SQL, usare query con parametri. Per esempi di esecuzione di query con parametri, vedere How to: Perform Parameterized Queries.
Per altre informazioni sugli attacchi intrusivi nel codice SQL e considerazioni di sicurezza correlate, vedere Attacco intrusivo nel codice SQL.
Non accettare informazioni relative a server o stringhe di connessione da utenti finali
Il codice dell'applicazione deve evitare che gli utenti finali possano inviare informazioni relative a server o stringhe di connessione all'applicazione stessa. Mantenendo uno stretto controllo sulle informazioni relative a server o a stringhe di connessione si riduce l'esposizione agli attacchi di attività dannose.
Attivare WarningsAsErrors durante lo sviluppo di applicazioni
Sviluppare applicazioni con l'impostazione WarningsAsErrors su true in modo che gli avvisi generati dal driver vengano considerati errori. Ciò consente allo sviluppatore di risolvere gli avvisi prima di distribuire l'applicazione. Per altre informazioni, vedere Handling Errors and Warnings.
Proteggere i log delle applicazioni distribuite
Per le applicazioni distribuite, assicurarsi che i log vengano scritti in un percorso protetto o che la registrazione sia disabilitata. Ciò consente di evitare la possibilità che utenti finali accedano alle informazioni scritte nei file di log. Per altre informazioni, vedere Logging Activity.
Vedi anche
Guida alla programmazione per i driver Microsoft per PHP per SQL Server