Seguridad de las aplicaciones
Cuando sea usa Microsoft JDBC Driver para SQL Server, es importante tomar precauciones para garantizar la seguridad de la aplicación. En las secciones siguientes se proporciona información sobre los pasos que puede seguir para facilitar la seguridad de la aplicación.
Usar permisos de directiva de Java
Cuando sea usa Microsoft JDBC Driver para SQL Server, es importante especificar los permisos de directiva de Java que el controlador JDBC necesita. Java Runtime Environment (JRE) proporciona un modelo de seguridad amplio. Este modelo se puede utilizar en tiempo de ejecución para determinar si un subproceso tiene acceso a un recurso. Los archivos de directiva de seguridad pueden controlar este acceso. El implementador y el administrador del contenedor administran los propios archivos de directiva. Los permisos que se enumeran en este artículo son los que afectan al funcionamiento del controlador JDBC.
Un permiso típico de los archivos de directivas tiene este aspecto:
// Example policy file entry.
grant [signedBy <signer>,] [codeBase <code source>] {
permission <class> [<name> [, <action list>]];
};
El código base siguiente debería limitarse al del controlador JDBC para asegurarse de que se conceda el número mínimo de privilegios.
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
El código "file:/install_dir/lib/-" hace referencia al directorio de instalación del controlador JDBC.
Protección de las comunicaciones con el servidor
Cuando se usa el controlador JDBC para comunicarse con una base de datos SQL Server, es importante proteger el canal de comunicación. Puede proteger el canal de comunicación mediante el Protocolo de seguridad de Internet (IPSEC) o la Seguridad de la capa de transporte (TLS), antes denominado Capa de sockets seguros (SSL), o bien puede usar los dos.
La compatibilidad con TLS se puede usar para proporcionar un nivel adicional de protección, además de IPSEC. Para obtener más información sobre cómo usar TLS, consulte Uso de cifrado.