Documente Academic
Documente Profesional
Documente Cultură
Los permisos se conceden en un asegurable que puede ser una base de datos, un esquema o un objeto.
de
SELECT INSERT UPDATE DELETE EXECUTE REFERENCES CONTROL ALTER VIEW DEFINITION
Sintaxis GRANT
GRANT { ALL [ PRIVILEGES ] } | permission [ ( column [ ,...n ] ) ] [ ,...n ] [ ON [ class :: ] securable ] TO principal [ ,...n ] [ WITH GRANT OPTION ] [ AS principal ]
Sintaxis REVOKE
REVOKE [ GRANT OPTION FOR ] { [ ALL [ PRIVILEGES ] ] | permission [ ( column [ ,...n ] ) ] [ ,...n ] } [ ON [ class :: ] securable ] { TO | FROM } principal [ ,...n ] [ CASCADE] [ AS principal ]
Triggers DDL
Los triggers se disparn en respuesta a los eventos DDL que ocurren en el servidor, tales como crear, modificar o eliminar un objeto. El objetivo principal de los triggers DDL es proporcionar un medio adicional de seguridad as como auditar comandos DDL emitido contra la base de datos.
Estrategias de seguridad
Uso de vistas y funciones Dar permisos a vistas y funciones en lugar de las propias tablas Ocultan la complejidad de la BD Permiten gestionar el acceso a nivel de columna
Uso de procedimientos almacenados Impiden operaciones incorrectas asegurando las reglas de negocio Los usuarios no necesitan tener permiso para acceder a las tablas, solo permiso de ejecucin de los procedimientos
Encriptacin de datos
para qu? Evitar acceso a datos sensibles Evitar robo de copias de seguridad con datos sensibles
qu tcnicas? Encriptacin a nivel de columna Encriptacin transparente, afecta a toda la BD coste? Mayor sobrecarga y puede afectar al rendimiento Requiere una estrategia para la definicin y mantenimiento de claves, passwords y certificados Por ello no debe considerarse para todos los datos y conexiones
Encriptacin de datos
Encriptacin a nivel de columna
Mediante certificados, keys o frases Requiere el uso de funciones especficas EncrypByCert() DecryptByCert() EncrypyAsymkey() DecryptByAsymKey() Encrypykey() DecryptBKey() EncrypyPassphrase() DecryptByPassphrase()
Inyeccin SQL
Sentencias o clusulas SQL inyectadas sobre un comando SQL existente Cadena inyectada se aade a la entrada de la aplicacin:
Mala validacin de aplicaciones Conexin realizada en el contexto de una cuenta con privilegios elevados
Asegurarse del formato de entrada, y rechazar todo lo que no cumpla el formato Empleo de expresiones regulares Usar consultas parametrizadas
Minimizar la informacin en los mensajes de error, no mostrar informacin interesante para el desarrollador Principio de Mnimo Privilegio