sábado, 7 de enero de 2017

Autenticación y autorización de usuarios en SQL Server

Autenticar conexiones con SQL Server

Existen dos modos posibles: modo de autenticación de Windows y modo mixto. El modo de autenticación de Windows habilita la autenticación de Windows y deshabilita la autenticación de SQL Server. El modo mixto permite la autenticación de Windows y la autenticación de SQL Server. La autenticación de Windows siempre está disponible y no se puede deshabilitar.


Autenticación y autorización de usuarios en SQL Server

Configuración del modo de autenticación

Si se selecciona autenticación de modo mixto durante la instalación, entonces, se debe proporcionar y confirmar una contraseña segura para la cuenta de administrador de sistema integrada de SQL Server denominada sa. 
La cuenta sa se conecta mediante autenticación de SQL Server.
Si se selecciona autenticación de Windows durante la instalación, el programa de instalación crea la cuenta sa para la autenticación de SQL Server pero se deshabilita. Si más tarde se cambia a autenticación de modo mixto y se desea utilizar la cuenta sa, será necesario habilitar la cuenta. Cualquier cuenta de Windows o de SQL Server se puede configurar como administradora del sistema. Debido a que la cuenta sa es bien conocida y a menudo es objeto de usuarios malintencionados, no se debe habilitar la cuenta sa, a menos que nuestra aplicación lo requiera. Nunca se debe dejar la contraseña en blanco o permitir que sea débil para una cuenta sa. 
Si fuera necesario cambiar del modo de autenticación de Windows a la autenticación de modo mixto y utilizar la autenticación de SQL Server, aquí se puede consultar cómo cambiar el modo de autenticación del servidor.

Conexión a través de la autenticación de Windows

Cuando un usuario se conecta a través de una cuenta de usuario de Windows, SQL Server valida el nombre de cuenta y contraseña utilizando el token principal de Windows en el sistema operativo. Esto significa que la identidad del usuario es confirmada por Windows. SQL Server no pide la contraseña y no realiza la validación de la identidad. La autenticación de Windows es el modo de autenticación predeterminado y es mucho más seguro que la autenticación de SQL Server. La autenticación de Windows utiliza el protocolo de seguridad Kerberos, proporciona una política de contraseñas con respecto a la validación de complejidad para contraseñas seguras, proporciona soporte para el bloqueo de cuenta y admite la caducidad de la contraseña. Una conexión realizada con Autenticación de Windows se denomina a veces una conexión de confianza, ya que SQL Server confía en las credenciales proporcionadas por Windows.
Mediante la autenticación de Windows, se pueden crear grupos de Windows en el nivel de dominio y se puede crear un inicio de sesión en SQL Server para todo el grupo. La administración del acceso desde el nivel de dominio puede simplificar la administración de cuentas.

Conexión a través de la autenticación de SQL Server

Cuando se utiliza la autenticación de SQL Server, los inicios de sesión se crean en SQL Server y no se basan en cuentas de usuario de Windows. Tanto el nombre de usuario como la contraseña se crean mediante SQL Server y se almacenan en SQL Server. Los usuarios que se conecten mediante autenticación de SQL Server deben proporcionar sus credenciales (nombre de usuario y contraseña) cada vez que se conecten. Al utilizar la autenticación de SQL Server, es necesario establecer contraseñas seguras para todas las cuentas. 
Hay algunas directivas de contraseña opcionales disponibles para los inicios de sesión de SQL Server:
El usuario debe cambiar la contraseña en el siguiente inicio de sesión. 
Requiere que el usuario cambie la contraseña la próxima vez que el usuario se conecte. SQL Server Management Studio proporciona la posibilidad de cambiar la contraseña. Los desarrolladores de software de terceros deben proporcionar esta característica si se utiliza esta opción.
Hacer cumplir la caducidad de la contraseña.
La directiva de antigüedad máxima de la contraseña del equipo se aplica para los inicios de sesión de SQL Server.
Aplicar la política de contraseñas.
Las directivas de contraseñas de Windows del equipo se aplican para los inicios de sesión de SQL Server. Esto incluye la longitud y complejidad de la contraseña. Esta funcionalidad está contenida en la API NetValidatePasswordPolicy, que sólo está disponible a partir de la versión Windows Server 2003 y posteriores.


Buenas prácticas con inicios de sesión de SQL

Proporcionar a cada inicio de sesión sólo los permisos que realmente necesiten.
Utilizar la herencia de para minimizar el número de permisos implícitos que deben configurarse para habilitar el nivel de acceso requerido.
Utilizar contenedores principales, como grupos o roles, para crear una capa de abstracción entre usuarios que deben acceder. De este modo se puede utilizar la pertenencia a estos grupos para controlar el acceso. Además, de este modo los cambios en el personal no deben requerir cambios en  los permisos.

Ventajas de la autenticación de SQL Server

Permite que SQL Server admita aplicaciones más antiguas proporcionadas por terceros que requieren autenticación de SQL Server.
Permite que SQL Server admita entornos con sistemas operativos mixtos, en los que todos los usuarios no están autenticados por un dominio de Windows.
Permite a los usuarios conectarse desde dominios desconocidos o no confiables. Por ejemplo, una aplicación en la que los clientes establecidos se conectan con los inicios de sesión de SQL Server asignados para recibir el estado de sus pedidos.
Permite que SQL Server admita aplicaciones basadas en la Web donde los usuarios crean sus propias identidades.
Permite a los desarrolladores de software distribuir sus aplicaciones utilizando una jerarquía de permisos compleja basada en inicios de sesión conocidos de SQL Server preestablecidos.
Nota:
El uso de la autenticación de SQL Server no limita los permisos de los administradores locales en el equipo donde está instalado SQL Server.

Desventajas de la autenticación de SQL Server

Si un usuario es un usuario de dominio de Windows que tiene un inicio de sesión y una contraseña para Windows, debe seguir proporcionando otro inicio de sesión y contraseña (SQL Server) para conectarse. Es difícil para muchos usuarios memorizar varios nombres y contraseñas. Tener que proporcionar credenciales de SQL Server cada vez que se conecta a la base de datos puede ser molesto.
La autenticación de SQL Server no puede utilizar el protocolo de seguridad Kerberos.
Windows ofrece políticas de contraseña adicionales que no están disponibles para los inicios de sesión de SQL Server.


La contraseña de inicio de sesión de autenticación de SQL Server encriptada debe pasar a través de la red en el momento de la conexión. Algunas aplicaciones que se conectan automáticamente almacenarán la contraseña en el cliente.

Determinación  de las directivas de contraseña de windows para el equipo local

En el menú Inicio de Windows, hacer clic en Ejecutar.
En el cuadro de diálogo Ejecutar, escribir secpol.msc y, a continuación, hacer clic en Aceptar.

Autenticación y autorización de usuarios en SQL Server


En la aplicación Configuración de seguridad local, expandir Configuración de seguridad, y luego expandir Directivas de cuenta y, a continuación, hacer clic en Directiva de contraseñas.

Seguridad Local de Windows


Las directivas de contraseña aparecen en el  panel derecho.



No hay comentarios:

Publicar un comentario