Cuando sea usa el Controlador Microsoft JDBC para SQL Server, es importante tomar precauciones para garantizar la seguridad de la aplicación. Las siguientes secciones proporcionan información sobre los pasos que puede realizar para contribuir a la seguridad de su aplicación.
Usar los permisos de la directiva de Java
Cuando sea usa el Controlador Microsoft JDBC para SQL Server, es importante especificar los permisos de directiva de Java que el controlador JDBC necesita. Java Runtime Environment (JRE) proporciona un amplio modelo de seguridad que puede usar en el tiempo de ejecución para determinar si un subproceso tiene acceso a un recurso. Los archivos de directiva de seguridad pueden controlar este acceso. Los archivos de directivas del contenedor están administrados por el encargado de la implementación y el administrador del sistema, pero los permisos que se enumeran en este tema son aquellos 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>]]; };
La siguiente base de códigos debería estar limitada a la base de códigos del controlador JDBC para asegurarse de que se concede la cantidad mínima 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"; };
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 de SQL Server, puede proteger el canal de comunicaciones mediante el protocolo de seguridad de Internet (IPSec), capa de sockets seguros (SSL) o ambos.
La compatibilidad con SSL se puede utilizar para proporcionar un nivel adicional de protección además de IPSEC. Para obtener más información acerca de cómo usar SSL, vea Usar el cifrado SSL.