Sicurezza delle applicazioni
Quando si usa Microsoft JDBC Driver per SQL Server, è importante adottare le precauzioni necessarie per garantire la sicurezza delle applicazioni. Le sezioni seguenti forniscono informazioni relative alle procedure da implementare a questo scopo.
Uso di autorizzazioni basate sui criteri Java
Quando si usa Microsoft JDBC Driver per SQL Server, è importante specificare le autorizzazioni basate sui criteri Java necessari per il driver. Java Runtime Environment (JRE) offre un modello di sicurezza completo. Tale modello può essere usato in fase di esecuzione per determinare se un thread ha accesso a una risorsa. L'accesso può essere gestito grazie ai file dei criteri di sicurezza, I file dei criteri stesi vengono gestiti dal deployer e da sysadmin per il contenitore. Le autorizzazioni elencate in questo articolo sono quelle che influiscono sul funzionamento del driver JDBC.
Di seguito è riportato un esempio di autorizzazione tipica disponibile nel file dei criteri:
// Example policy file entry.
grant [signedBy <signer>,] [codeBase <code source>] {
permission <class> [<name> [, <action list>]];
};
La codebase seguente dovrà essere limitata a quella del driver JDBC in modo da concedere il livello minore possibile di privilegi.
grant codeBase "file:/install_dir/lib/-" {
// Grant access to data source.
permission java.util.PropertyPermission "java.naming.*", "read,write";
// Specify which hosts can be connected to.
permission java.net.socketPermission "host:port", "connect";
// Logger permission to take advantage of logging.
permission java.util.logging.LoggingPermission;
// Grant listen/connect/accept permissions to the driver if
// connecting to a named instance as the client driver.
// This connects to a udp service and listens for a response.
permission java.net.SocketPermission "*", "listen, connect, accept";
};
Nota
Il codice "file:/install_dir/lib/-" fa riferimento alla directory di installazione del driver JDBC.
Protezione delle comunicazioni con il server
Quando si usa il driver JDBC per comunicare con un database di SQL Server, è importante proteggere il canale di comunicazione. È possibile proteggere il canale usando Internet Protocol Security (IPSEC) o Transport Layer Security (TLS), noto in precedenza come Secure Sockets Layer (SSL), oppure entrambi.
Il supporto di TLS può essere usato per fornire un livello aggiuntivo di protezione oltre a IPSec. Per altre informazioni sull'uso di TLS, vedere Uso della crittografia.