Autorización y seguridad en SQL server

Autorización y seguridad en SQL server



Resumen. A lo largo de los años la seguridad en las bases de datos a tenido una gran importancia debido a los diferentes ataques de gran escala que se han llevado a cabo por diferentes hackers del mundo. En cada versión de SQL Server se ha integrado diferentes características para mejorar la seguridad y proteger las bases de datos. Pero a la hora de establecer la seguridad en nuestras bases de datos muchas veces lo hacemos de manera predeterminada de Windows, esto nos convierte en blanco fácil para los ataques. Es por ello que debemos establecer una seguridad configurada por nosotros mismos para evitar cualquier posible vulnerabilidad que nos convierta en la próxima víctima de estos ataques. Este artículo presenta una serie de características para configurar la seguridad en nuestras bases de datos.
Abstract.over the years, security in databases has a great importance due to the different large-scale attacks that have been carried out by different hackers in the world. In each version of SQL Server, it has been integrated with different features to improve security and protect databases. But when establishing security in our databases many times we do it by default in Windows, this makes us an easy target for attacks. That is why we would have put in a secure configuration for ourselves the same for the next victim. This article presents a series of features to configure security in our databases. 

Palabras Claves. Seguridad, SQL Server, Roles, Grant, Revoke, Procedimientos almacenados.

seguridad de La Información

En la Seguridad de la Información el objetivo de la protección son los datos mismos y trata de evitar su modificación non-autorizado y para protegerlos de una posible corrupción durante todo su ciclo de vida. La protección debe garantizar en primer lugar la confidencialidad, integridad y disponibilidad de los datos, sin embargo, existen más requisitos como por ejemplo la autenticidad entre otros.

Seguridad de la Información incluye conceptos como encriptación de datos, tokenización y prácticas de gestión de claves que ayudan a proteger los datos en todas las aplicaciones y plataformas de una organización.
El motivo o el motor para implementar medidas de protección, que responden a la Seguridad de la Información, es el propio interés de la institución o persona que maneja los datos, porque la pérdida o modificación de los datos, le puede causar un daño (material o inmaterial).

Hoy en día, organizaciones de todo el mundo invierten fuertemente en la tecnología de información relacionada con la ciberdefensa con el fin de proteger sus activos críticos: su marca, capital intelectual y la información de sus clientes.

Tendencias recientes han demostrado que los ataques de ransomware están aumentando en frecuencia y en gravedad. Se ha convertido en un negocio en auge para ladrones cibernéticos y hackers, que acceden a la red y secuestran datos y sistemas. En los últimos meses, grandes empresas y otras organizaciones, así como también usuarios particulares, han caído víctimas de este tipo de ataques y han tenido que pagar el rescate o correr el riesgo de perder datos importantes.

SEGURIDAD SQL SERVER
SQL Server tiene muchas características que admiten la creación de aplicaciones de base de datos seguras.
Las consideraciones comunes de seguridad, como el robo de datos o el vandalismo, se aplican independientemente de la versión de SQL Server que se use. La integridad de los datos también se debe considerar como un problema de seguridad. Si los datos no están protegidos, es posible que acaben perdiendo su valor si se permite la manipulación de datos ad hot y los datos se modifican sin intención o de forma malintencionada con valores incorrectos o bien se eliminan por completo. Además, a menudo existen requisitos legales que se deben cumplir, como el almacenamiento correcto de información confidencial. El almacenamiento de determinados tipos de datos personales está totalmente prohibido, en función de las leyes que se apliquen en una jurisdicción determinada.
Cada versión de SQL Server integra diferentes ca*a Es importante comprender que las características de seguridad no pueden garantizar por sí solas una aplicación de base de datos segura. Cada aplicación de base de datos es única en lo que respecta a los requisitos, el entorno de ejecución, el modelo de implementación, la ubicación física y el rellenado por parte del usuario. Algunas aplicaciones que son locales en cuanto al ámbito pueden necesitar una seguridad mínima, en tanto que otras aplicaciones locales o las aplicaciones implementadas en Internet pueden precisar medidas estrictas de seguridad y supervisión y evaluación continuas.
Los requisitos de seguridad de una aplicación de base de datos de SQL Server se deben tener en cuenta en el tiempo de diseño, no a posteriori. La evaluación de las amenazas en las primeras fases del ciclo de desarrollo permite reducir al mínimo los posibles daños cuando se detecte una vulnerabilidad.
CONFIGURACIONES DE SEGURIDAD EN SQL SERVER
A continuación presentamos los formas de dar permisos en SQL server utilizando la función grant y revoke el cual nos ayudaran a dar privilegios a un usuario en la tabla o en tablas posteriormente la creación y asignación de usuarios a nuestro gestor de base de datos.

PERMISOS Grant y Revoke (permisos de objeto de Transact-SQL)

Los comandos DCL se utilizan para aplicar la seguridad de la base de datos en un entorno de base de datos de múltiples usuarios. Dos tipos de comandos DCL son GRANT y REVOKE. Solo el administrador de la base de datos o el propietario del objeto de base de datos puede proporcionar / eliminar privilegios en un objeto de base de datos a continuación unas definiciones.

Grant:



Concede permisos para una tabla, vista, función con valores de tabla, procedimiento almacenado, procedimiento almacenado extendido, función escalar, función de agregado, cola de servicio o sinónimo.





Revoke:



Revoca permisos en una tabla, vista, función con valores de tabla, procedimiento almacenado, procedimiento extendido almacenado, función escalar, función de agregado, cola de servicio o sinónimo.

Objeto:
Un objeto es un elemento protegible de nivel de esquema que contiene el esquema que es su entidad primaria en la jerarquía de permisos. La mayoría de los permisos limitados y específicos que se pueden conceder para un objeto se muestran en la siguiente tabla, junto con los permisos más generales que los incluyen por implicación.

Permiso de objeto Implícito en el permiso de objeto Implícito en el permiso del esquema
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
Ejecute CONTROL Ejecute
INSERT CONTROL INSERT
RECEIVE CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT RECEIVE SELECT
TAKE OWNERSHIP CONTROL CONTROL
UPDATE CONTROL UPDATE
VIEW CHANGE TRACKING CONTROL VIEW CHANGE TRACKING
VIEW DEFINITION CONTROL VIEW DEFINITION
Ejemplos:
-- asignar acceso para crear una tabla al usuario 4

use practica3

GO

GRANT CREATE TABLE TO Usuario4

GO

-- Asignar privilegios ALL al usuario4

USE practica3

GO

GRANT ALL TO Usuario4

GO

-- Revocar Privilegios ALL al suario 4

use practica3

GO

REVOKE ALL TO Usuario4

GO

Roles y Usuarios sql server

En sql server creamos tanto usuarios como roles para tener un mejor control de nuestra base de datos cuando nos referimos a crear un usuario es cuando tenemos nuestras credenciales ya sea desde el mismo gestor de base de datos utilizando a nivel de sql server que están los inicios de sección y los roles del servidor  o utilizando el  nivel  de Windows que incluye los grupos de Windows cuantas de usuario de dominio o cuentas locales las cuales son las opciones predeterminadas al instalar sql server. Una vez que tenemos los usuarios y también inicios de sección podemos asignarles roles a dichos usuarios. En sql server se contemplan 3 tipos de roles el primero son los roles a nivel de servidor el segundo son los roles a nivel de base de datos y el tercero son los roles personalizados los cuales los podemos programar para que hagan una tarea predeterminada.

Usuarios e inicios de sección

Los usuarios en sql server son los que se encargan de administrar la base de datos y pueden estar asignados a un inicio de sección el cual es la identidad de la persona o proceso que se está conectado a una instancia de SQL Server. Para crear un nuevo inicio de sección utilizamos el siguiente CREATE LOGIN usuario WITH PASSWORD =¨*******¨ como se muestra en el siguiente ejemplo.
-- Crear inicio de sección prueba

CREATE LOGIN prueba  

WITH PASSWORD = '123455678'

GO 
También podemos usar  SQL Server Management Studio para hacerlo mediante la GUI o la interfaz gráfica ahora que tenemos el inicio de sección nos toca agregar un usuario a la base de datos actual y de los cuales hay 12 tipos como se enumeran a continuación.
  • Usuarios basados en inicios de sesión en la base de datos maestra: se trata del tipo más habitual de usuario.
  • Usuario basado en un inicio de sesión basado en un usuario de Windows.
  • Usuario basado en un inicio de sesión basado en un grupo de Windows.
  • Usuario basado en un inicio de sesión mediante autenticación de SQL Server.
  • Usuarios que se autentican en la base de datos: solo se admiten en una base de datos independiente.
  • Usuario basado en un usuario de Windows sin inicio de sesión.
  • Usuario basado en un grupo de Windows sin inicio de sesión.
  • Usuario de base de datos independiente con contraseña.
  • Usuarios basados en entidades de seguridad de Windows que conectan a través de inicios de sesión de grupo de Windows
  • Usuario basado en un usuario de Windows sin inicio de sesión, pero que se puede conectar a Motor de base de datos mediante la pertenencia a un grupo de Windows.
  • Usuario basado en un grupo de Windows sin inicio de sesión, pero que se puede conectar a Motor de base de datos mediante la pertenencia a un grupo distinto de Windows.
  • Usuarios que no se pueden autenticar: estos usuarios no pueden iniciar sesión en SQL Server ni en Base de datos SQL.
  • Usuario sin inicio de sesión. No puede iniciar sesión, pero se le pueden conceder permisos.
  • Usuario basado en un certificado. No puede iniciar sesión, pero se le pueden conceder permisos y puede firmar módulos.
  • Usuario basado en una clave asimétrica. No puede iniciar sesión, pero se le pueden conceder permisos y puede firmar módulos.

Ejemplo:

Creación de un inicio de sección y su respectiva asignación donde creamos el inicio de sección prueba y creamos el usuario miguel el cual posteriormente lo asignamos al inicio de sección prueba. Con esto nos damos cuenta que podemos tener un usuario distinto a un inicio de sección y viceversa o mejor aún grupos de usuario amarrados a un inicio de sección.
-- Crear inicio de sección prueba y asignarle inicio de sección prueba

CREATE LOGIN prueba  

WITH PASSWORD = '123455678'

GO 

create user[miguel] for login [prueba]

go

Roles a nivel de servidor

Los roles de servidor o roles o también llamados roles fijos son los que sql server asigna permisos y los cuales no se pueden cambiar. Los roles fijos de servidor se proporcionan con fines de comodidad y de compatibilidad con versiones anteriores.
En la siguiente tabla se describen los permisos que se conceden a los roles fijos de servidor.
Rol fijo de servidor
Permiso en el nivel de servidor
Dbcreator Crea y modifica base de datos
Diskadmin Administra los archivos de datos
Proccessadmin Administra los procesos de sql server
SrcurityAdmin Administra los inicios de sección
Serveradmin Opciones de configuración del servidor
Setupadmin Instala la replicación
Sysadmin Realiza cualquier actividad

Roles a nivel de base datos

Los roles de nivel de base de datos se aplican a toda la base de datos en lo que respecta a su ámbito de permisos. Existen dos tipos de roles de nivel de base de datos en SQL Server: los roles fijos de base de datos, que están predefinidos en la base de datos, y los roles flexibles de base de datos, que pueden crearse.

Los roles fijos de base de datos se definen en el nivel de base de datos y existen en cada una de ellas. Los miembros de los roles de base de datos db_owner pueden administrar la pertenencia a roles fijos de base de datos. Hay también algunos roles fijos de base de datos con fines especiales en la base de datos msdb.
Puede agregar cualquier cuenta de la base de datos y otros roles de SQL Server a los roles de nivel de base de datos. Cada miembro de un rol fijo de base de datos puede agregar otros inicios de sesión a ese mismo rol.


Rol fijo de servidor
Permiso en el nivel de servidor
Public Mantine los permisos en forma predeterminada para todos los usuarios
Db_owner Realiza cualquier actividad en la BD. Se convierte en un propietario de la BD
Db_accessadmin Agrega o retira usuarios y/o roles
Db_ddladmin Agrega, modifica o elimina objetos
db_SecurityAdmin Asigna permisos sobre objetos o sobre sentencias
db_backupoperator Realiza operaciones de Backup y Restore de la BD
db_datareader Lee información desde cualquier tabla
db_datawriter Agrega, modifica o elimina datos de cualquier tabla
db_denydatareader No puede leer la información de ninguna tabla
db_denydatawriter No puede modificar la información de ninguna tabla

Ejemplo: En este ejemplo asignamos el rol db_owner al usuario 4.
GO

sp_addrolemember 'db_owner','Usuario4'

GO

Procedimientos almacenados predefinidos

Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones en el cual se pueden hacer muchas actividades administrativas e informativas. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación, porque pueden:
  • Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al programa que realiza la llamada.
  • Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras, pueden contener llamadas a otros procedimientos.
  • Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de estos.
La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Ejemplo:

-- llamar a un procedimiento almacenado para asignar un rol al usuario4

use practica3

GO

sp_addrolemember 'db_owner','Usuario4'

go

Los procedimientos almacenados del sistema se agrupan en las categorías que aparecen en la siguiente tabla.


Categoría
Description
Procedimientos almacenados de replicación geográfica activa Usar para administrar para administrar las configuraciones de replicación geográfica activa de la base de datos de SQL Azure
Procedimientos almacenados del catálogo Se utilizan para implementar las funciones del diccionario de datos ODBC y aislar las aplicaciones ODBC de los cambios en las tablas subyacentes del sistema.
Procedimientos almacenados de captura de datos modificados Permiten habilitar, deshabilitar o informar sobre los objetos de la captura de datos modificados.
Procedimientos almacenados de cursor Se utilizan para implementar la funcionalidad de variable de cursor.
Procedimientos almacenados del recopilador de datos Se utiliza para trabajar con el recopilador de datos y los componentes siguientes: conjuntos de recopilación, elementos de recopilación y tipos de recopilación.
Procedimientos almacenados del motor de base de datos Se utilizan para el mantenimiento general de Motor de base de datos de SQL Server.
Correo electrónico de base de datos almacenados procedimientos ( Transact-SQL ) Se utilizan para realizar operaciones de correo electrónico desde una instancia de SQL Server.
Procedimientos almacenados de planes de mantenimiento de base de datos Se utilizan para configurar las tareas de mantenimiento fundamentales necesarias para administrar el rendimiento de las bases de datos.
Procedimientos almacenados de consultas distribuidas Se utilizan para implementar y administrar consultas distribuidas.
FileStream y procedimientos almacenados de FileTable ( Transact-SQL ) Se usa para configurar y administrar las características FILESTREAM y FileTable.
Procedimientos almacenados de seguridad Se utilizan para administrar la seguridad.
Procedimientos de copia de seguridad de instantáneas Usar para eliminar la copia de seguridad FILE_SNAPSHOT junto con todas sus instantáneas o para eliminar una instantánea de archivo de copia de seguridad individual.
Procedimientos almacenados de índice espacial Se utiliza para analizar y mejorar el rendimiento de la indización de los índices espaciales.
Procedimientos almacenados del Agente SQL Server Lo utiliza SQL Server Profiler para supervisar el rendimiento y la actividad.
Procedimientos almacenados de SQL Server Profiler Los utiliza el Agente SQL Server para administrar actividades programadas y controladas por eventos.
Ajustar la base de datos almacenada procedimientos Se utiliza para administrar las bases de datos de stretch.
Procedimientos almacenados de tablas temporales Uso de las tablas temporales
Procedimientos almacenados de XML Se utilizan para la administración del texto XML.











 






CONCLUSIONES

  • Al utilizar las funciones GRANT y REVOKE como usuario administrador asignamos los permisos a un determinado usuario ello nos ayuda a tener un mejor control de nuestros datos ya que ese usuario no podrá hacer otras funciones en nuestro sistema.
  • Pudimos distinguir entre los inicios de sección y los usuarios los cuales y asignarles inicios de sección a un usuario o a un grupo. También en la parte de roles vimos como existen los roles de servidor y los de base de datos en los cuales debemos tener mucho cuidado a la hora de asignarlos porque de ello depende la seguridad de nuestra base de datos. Asignar un rol a un usuario que no los necesita como por ejemplo el de eliminar y actualizar esto traería consecuencias graves en la base de datos el día que ese usuario intente acceder a esos permisos.

  • El uso de procedimientos almacenados predefinidos en seguridad nos ayudan a crear usuarios, agregar roles y asignar permisos de una forma súper sencilla al  no tener que programar nosotros mismos así ahorramos tiempo.
  • Al crear usuarios con roles y asignación de permisos bloqueamos un gran agujero de seguridad ya que no dejamos las credenciales por defecto las cuales utilizando herramientas de hacker como kali Linux es muy fácil atacar la base de datos.

ReferencIAS

https://msdn.microsoft.com/es-es/library/ms189121(v=sql.120).aspx

https://technet.microsoft.com/es-es/library/ms175892(v=sql.105).aspx

https://msdn.microsoft.com/es-es/library/ms173463(v=sql.120).aspx

https://msdn.microsoft.com/es-es/library/aa337545(v=sql.120).aspx

https://msdn.microsoft.com/es-es/library/ms187750(v=sql.120).aspx

Fundamentos de Bases de Datos 5ta edición – Silberschatz

https://docs.microsoft.com/es-es/sql/t-sql/statements/revoke-object-permissions-transact-sql

http://beginner-sql-tutorial.com/sql-grant-revoke-privileges-roles.htm

https://docs.microsoft.com/es-es/sql/relational-databases/system-stored-procedures/system-stored-procedures-transact-sql

Pagina Nueva

bueno esta es mi nueva Pagina Esparo que entren por que aui encontraran mejores cosas

http://www.enlaceinborrable.net/



Office 2007 [Full][Español] y Completo!!

Señores les traigo el Office 2007. En español y Completo (Copia directa del DVD) Para aquel que confía mas en esto que en los ripeos que andan dando vuelta.

Tiene Serial y Es actualizable perfectamente.


Detalles de la descarga:

Numero de archivos: 6
Extensión: .rar
Peso de cada archivo: 95 MB
Servidor: Megaupload


Descargar:
office2007- taringa.iblogger.org.part1.rar
http://www.megaupload.com/?d=D05RIMK4
office2007- taringa.iblogger.org.part2.rar
http://www.megaupload.com/?d=MGZ18PYB
office2007- taringa.iblogger.org.part3.rar
http://www.megaupload.com/?d=86JRMBL6
office2007- taringa.iblogger.org.part4.rar
http://www.megaupload.com/?d=WTYFM8ZH
office2007- taringa.iblogger.org.part5.rar
http://www.megaupload.com/?d=I1BB39H3
office2007- taringa.iblogger.org.part6.rar
http://www.megaupload.com/?d=M92LUOOP

Service Pack 4 para XP

[ Windows XP SP4 ]

Desarrolle un instalador que instala todos los parches oficiales de Microsoft hasta febrero del
2011 que salieron para el XP al cual llame Service Pack 4 (ya que cumple la misma función
que uno).Esta diseñado para aplicarlo en equipos con SP3 y soporta línea de comando para
ser usado por administradores.


 
Service Pack 4
98 Hoxfixes
Windows Media Player 11
Internet Explorer 8
 
Extras
Soporte de Linea de Comando
Windows Media Player 11 force validation
DirectX 9 updater
 
Notas
-Este Service Pack fue desarrollado para actualizar Windows XP SP3
en castellano con los parches de seguridad al dia de la fecha.

-Comandos soportados:
/nobackup :no realizar copias de seguridad de los archivos a actualizar
/wmpfix :fuerza la validacion del windows media player
/directx :al terminar coloca en el escritorio el updater de DirectX 9
/cleanup :borrar archivos usados por el instalador
/S :instalacion desatendida
/? :muestra los switch usados por linea de comando

Changelog
v1 publica:
18/02/2011
CRC32: 670E31BC
MD5 : E6301B92F29AB278AB05079994856453
SHA-1: 451F258F2097E8E01FE15327AD5004312474005F