Compartir a través de


Lista de comprobación: Limitar el acceso a datos

Esta lista de comprobación le ayuda a revisar cómo limita el acceso a los datos de la organización. Use esta lista de comprobación para auditar periódicamente la forma en la que los usuarios obtienen acceso a la información almacenada en SQL Server Database Engine (Motor de base de datos de SQL Server).

Acceso a la instancia de SQL Server

Estos elementos están relacionados con la instancia completa de Motor de base de datos.

...

Descripción

Icono del campo Booleano
¿Ha concedido acceso a la mayoría de los inicios de sesión a través de los grupos de Windows?

Sugerencia Si configura el acceso a Motor de base de datos mediante los grupos de Windows, el administrador lo puede administrar y mantener con más facilidad. Para obtener más información sobre inicios de sesión, vea Entidades de seguridad (motor de base de datos).

Icono del campo Booleano
¿Se han quitado los inicios de sesión innecesarios u obsoletos de Motor de base de datos?

Sugerencia Esto quizá requiera revisiones manuales periódicas. Si habilita el acceso principalmente a través de los grupos de Windows, esta tarea puede ser más fácil.

Icono del campo Booleano
¿Ha implementado el principio de privilegios mínimos?

Sugerencia A las entidades de seguridad (inicios de sesión, usuarios y roles) solo se les debe conceder permisos a los objetos de base de datos a los que deben tener acceso para realizar su trabajo. No permita que los usuarios habituales se conecten mediante una cuenta de administrador, como sa. No permita que su página web, aplicación personalizada o paquete de SSIS se conecten mediante una cuenta de administrador.

Icono del campo Booleano
Para ver los metadatos del sistema sin conceder permisos adicionales, ¿ha concedido el permiso VIEW DEFINITION selectivamente en el nivel de objeto, esquema, base de datos o servidor?

Sugerencia Para obtener más información, vea GRANT (Transact-SQL).

Icono del campo Booleano
¿Ha reemplazado los servidores remotos por servidores vinculados?

Sugerencia Para obtener más información, vea Configurar servidores remotos y Vincular servidores.

Icono del campo Booleano
¿Dispone de delegación limitada si es necesaria la autenticación de paso a través a un servidor vinculado?

Sugerencia Para obtener más información, vea sp_addlinkedsrvlogin (Transact-SQL).

Icono del campo Booleano
¿Ha deshabilitado las consultas ad hoc a través de los servidores, a menos que sean necesarias?

Sugerencia Para obtener más información, vea consultas distribuidas ad hoc (opción).

Administrar la identidad del usuario

Estos elementos se relacionan con la configuración de cada base de datos.

...

Descripción

Icono del campo Booleano
¿La cuenta de usuario invitado está deshabilitada en todas las bases de datos a menos que se requiera para usuarios anónimos?

Sugerencia Deshabilite las cuentas usando SQL Server Management Studio o Transact-SQL.

Icono del campo Booleano
¿Los usuarios solo tienen acceso a las bases de datos necesarias?

Sugerencia Esto quizá requiera revisiones manuales periódicas. Si habilita el acceso principalmente a través de los roles de SQL Server, esta tarea puede ser más fácil. Para obtener más información, vea Roles de nivel de servidor.

Icono del campo Booleano
¿A la mayoría de los usuarios se les ha concedido acceso a través de roles de SQL Server?

Sugerencia Si configura el acceso mediante roles de servidor y de base de datos, el mantenimiento del acceso es más fácil. Para obtener información sobre roles, vea Roles de nivel de base de datos.

Icono del campo Booleano
¿El Agente de SQL Server usa credenciales para ejecutar pasos de trabajo que requieran privilegios específicos en vez de ajustar los privilegios de la cuenta de servicio del Agente de SQL Server?

Sugerencia Para obtener más información, vea Credenciales (motor de base de datos).

Icono del campo Booleano
Si un usuario del Agente de SQL Server debe ejecutar un trabajo que requiera diferentes credenciales de Windows, ¿le ha asignado una cuenta de proxy con los permisos suficientes para realizar la tarea?

Sugerencia Para obtener más información, vea Cómo crear un proxy (SQL Server Management Studio).

Icono del campo Booleano
¿Encapsula el acceso a objetos de base de datos en módulos como procedimientos almacenados, funciones, desencadenadores o ensamblados?

Sugerencia: Si limita el acceso a módulos predefinidos, le resultará más difícil a un usuario malintencionado ejecutar código arbitrario. Para obtener más información, vea Descripción de los procedimientos almacenados.

Icono del campo Booleano
En los módulos, ¿ha establecido explícitamente un contexto de ejecución en vez de usar el contexto predeterminado?

Sugerencia Para obtener más información, vea Usar EXECUTE AS en módulos.

Icono del campo Booleano
¿Los módulos están firmados para impedir alteraciones?

Sugerencia Para obtener más información, vea Firma de módulos (Motor de base de datos).

Icono del campo Booleano
¿Usa USER WITHOUT LOGIN en vez de los roles de aplicación?

Sugerencia Para obtener más información, vea Prácticas recomendadas de seguridad de SQL Server 2005: Tareas operativas y administrativas.

Icono del campo Booleano
¿Usa EXECUTE AS en vez de SETUSER?

Sugerencia Para obtener más información, vea EXECUTE AS frente a SETUSER.

Icono del campo Booleano
¿Ha reemplazado roles de aplicación por EXECUTE AS?

Sugerencia Use EXECUTE AS … WITH NO REVERT siempre que sea posible. Use la opción EXECUTE AS … WITH COOKIE cuando se aniden cambios de identidad. Para obtener más información, vea EXECUTE AS (Transact-SQL).

Acceso a objetos

Estos elementos están relacionados con el acceso a objetos de base de datos.

...

Descripción

Icono del campo Booleano
¿A los roles público de servidor y de base de datos se les han concedido pocos permisos (si acaso)?

Sugerencia Todos los inicios de sesión y los usuarios son miembros de los roles públicos y no se pueden quitar. Estos roles deben tener permisos muy limitados.

Icono del campo Booleano
¿Los objetos de base de datos similares están agrupados en el mismo esquema?

Sugerencia Cree esquemas basándose en los requisitos empresariales. Use estos esquemas personalizados en vez del esquema dbo. Para obtener más información, vea Esquemas (motor de base de datos).

Icono del campo Booleano
¿Administra la seguridad de los objetos de base de datos estableciendo la propiedad y los permisos en el nivel de esquema?

Sugerencia Para obtener más información, vea GRANT (permisos de esquema de Transact-SQL).

Icono del campo Booleano
¿Dispone de propietarios distintos para los esquemas en vez de que dbo posea todos los esquemas?

Sugerencia Cuando todos los esquemas tienen el mismo propietario, el encadenamiento de propiedad puede omitir las comprobaciones de permisos necesarias. Para obtener más información, vea Cadenas de propiedad.

Icono del campo Booleano
¿Usa la firma de código del código de procedimiento si se requieren privilegios adicionales para el procedimiento?

Sugerencia Para obtener más información, vea Firma de módulos (Motor de base de datos).

Icono del campo Booleano
¿La opción de base de datos TRUSTWORTHY está establecida en OFF?

Sugerencia Cuando se establece en ON, los módulos de la base de datos (como, las funciones definidas por el usuario o los procedimientos almacenados) que usan un contexto de suplantación pueden obtener acceso a los recursos fuera de la base de datos. Use la instrucción ALTER DATABASE con el fin de cambiar la configuración de TRUSTWORTHY. Para obtener más información, vea Propiedad de base de datos TRUSTWORTHY.

Icono del campo Booleano
¿Los módulos toman las medidas necesarias para evitar la inyección de código SQL?

Sugerencia: Para obtener más información, vea Inyección de código SQL.

Icono del campo Booleano
Si se permite el acceso ad-hoc a la base de datos, en vez de encapsular el acceso en los módulos, ¿las aplicaciones toman las medidas para evitar la inyección de código SQL?

Sugerencia Para obtener más información, vea los siguientes vínculos.

Auditar el acceso

...

Descripción

Icono del campo Booleano
¿La auditoría es específica de cada escenario?

Sugerencia Evalúe la necesidad de realizar auditorías con la sobrecarga de generación de datos adicionales. La auditoría de SQL Server puede habilitar la auditoría en una sola base de datos y para DML en objetos específicos. Para obtener más información, vea Descripción de SQL Server Audit.

Icono del campo Booleano
¿La auditoria de inicio de sesión está configurada para conservar un registro de los errores de inicio de sesión?

Sugerencia Configure la auditoria de inicio de sesión mediante el uso de Propiedades del servidor (página Seguridad) de Management Studio.

Icono del campo Booleano
¿Audita los inicios de sesión tanto correctos como incorrectos si almacena datos confidenciales?

Sugerencia Para obtener más información, vea Audit Login (clase de evento) y Audit Login Failed (clase de evento).

Icono del campo Booleano
¿Audita DDL, DML y eventos específicos del servidor mediante el uso de auditorias de SQL Server o eventos de seguimiento?

Sugerencia Para obtener más información, vea Descripción de SQL Server Audit, Conceptos básicos de las notificaciones de eventos, Eventos DDL y Usar eventos de traza con notificaciones de eventos.

Icono del campo Booleano
¿Usa WMI para que recibir alertas de los eventos de emergencia?

Sugerencia Para obtener más información, vea Conceptos del proveedor WMI para eventos de servidor.

Icono del campo Booleano
¿Habilita la auditoria C2 o la compatibilidad con criterio común solo si es necesario?

Sugerencia Dirija la configuración a las necesidades empresariales. Solo habilite la auditoria C2 o la compatibilidad con criterio común si es adecuado para la empresa. Vea Certificación de Criterio común.