Protección de base de datos,

03/01/2005 - 17:05 por José Miguel Torres | Informe spam
Buenas señores:

Tengo un problema. Tengo que distribuir una aplicación a unos 20 usuarios
con MSDE o SQL Server. La base de datos también entra en la distribución. Mi
pregunta es, ¿cual es la mejor manera de asegurarme que nadie entrará en la
base de datos para modificarla? he estudiado varias alternativas, ( capturar
el sa, auditar conexión,) espero me echen una mano, muchas gracias desde
ya!


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com

Preguntas similare

Leer las respuestas

#1 Maxi
03/01/2005 - 18:38 | Informe spam
Hola, que nadie nadie pueda hacerlo es imposible porque el SA tendra acceso
por lo menos.

Lo que puedes hacer es proteger las cosas mas importantes como los Sp's,
vistas.

Ahora la gran pregunta del millon:

Porque no queres que nadie tenga acceso a la BDD?


Salu2
Maxi


"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el mensaje
news:
Buenas señores:

Tengo un problema. Tengo que distribuir una aplicación a unos 20
usuarios
con MSDE o SQL Server. La base de datos también entra en la distribución.
Mi
pregunta es, ¿cual es la mejor manera de asegurarme que nadie entrará en
la
base de datos para modificarla? he estudiado varias alternativas, (
capturar
el sa, auditar conexión,) espero me echen una mano, muchas gracias
desde
ya!


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com



Respuesta Responder a este mensaje
#2 Luis Enrique García A.
03/01/2005 - 19:50 | Informe spam
Es un punto complicado, puedes esconder el pass de "sa" pero no mas, lo que
se utiliza normalmente para incrementar la seguridad de tus sistemas y mas
si es en via de que no modifiquen la base de datos para realizar reportes o
cambios a tu informacion, estriba en:

1. No manejar integridad referencial del tipo PRIMARY KEY / FOREIGN KEY sino
manejar toda esa parte por trigger "WITH ENCRYPTION"

2. Nombres de objetos no genericos, es decir, tu catalogo de productos no se
llamara "Productos" o algo similar, sino que todas tus objetos tendran un
nombre del tipo "XXb125" o la semantica que tu decidas

3. Manejar vistas con triggers "INSTEAD OF" tambien "WITH ENCRYPTION"

4. Todos tus SP recompilarlos con "WITH ENCRYPTION"

5. Dependiendo de tu front end, verifica la posibilidad de almacenar tu info
encriptada (Esto siempre ralentiza los procesos)

6. El DBO de tu base de datos debe de ser el de tu aplicacion y sera el
unico con acceso a ella


Esto, no es garantia de que no entren a tu base de datos, pero al menos les
complicaras la vida.


Adicionalmente, si tu SW es de pago, no olvides agregar en la licencia la
estructura de la base de datos.

Y dentro de la garantia, la perdida de la misma si se realizan actividades
en la base de datos que no sean ejecutadas desde tu aplicacion.


En fin, solo son algunos puntos, la pregunta es ¿¿¿Vale la pena invertir
tiempo en todo esto??? tal vez te sea suficiente con el registro de licencia
de tu producto para evitar todo eso.


Luis E.



"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el mensaje
news:
Buenas señores:

Tengo un problema. Tengo que distribuir una aplicación a unos 20


usuarios
con MSDE o SQL Server. La base de datos también entra en la distribución.


Mi
pregunta es, ¿cual es la mejor manera de asegurarme que nadie entrará en


la
base de datos para modificarla? he estudiado varias alternativas, (


capturar
el sa, auditar conexión,) espero me echen una mano, muchas gracias


desde
ya!


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com



Respuesta Responder a este mensaje
#3 Asterion
03/01/2005 - 19:51 | Informe spam
Esta consulta me interesa mucho, pues en un proyecto de la empresa en la que
estoy se planteó un problema similar.

La gerencia de la empresa cliente compró un liquidador de nuestra empresa.
Por disposición de la gerencia del cliente NADIE de la empresa cliente puede
tener acceso a la información cargada en las tablas de nuestra aplicación
(nadie incluye al personal de sistemas). Esto es porque quieren asegurarse
que nadie en la empresa pueda acceder a los sueldos (presentes o pasados)
inspeccionando tablas, cambiarse de categoría o cargarse cualquier tipo de
extras o bonificaciones.

Tendría que existir una cuenta(de nuestra empresa) para hacer mantenimientos
o modificaciones al sistema.
Nadie en el cliente debería tener acceso libre.

¿Cómo se puede hacer?.




"Maxi" escribió:

Hola, que nadie nadie pueda hacerlo es imposible porque el SA tendra acceso
por lo menos.

Lo que puedes hacer es proteger las cosas mas importantes como los Sp's,
vistas.

Ahora la gran pregunta del millon:

Porque no queres que nadie tenga acceso a la BDD?


Salu2
Maxi


"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el mensaje
news:
> Buenas señores:
>
> Tengo un problema. Tengo que distribuir una aplicación a unos 20
> usuarios
> con MSDE o SQL Server. La base de datos también entra en la distribución.
> Mi
> pregunta es, ¿cual es la mejor manera de asegurarme que nadie entrará en
> la
> base de datos para modificarla? he estudiado varias alternativas, (
> capturar
> el sa, auditar conexión,) espero me echen una mano, muchas gracias
> desde
> ya!
>
>
> José Miguel Torres
> jtorres_diaz~~ARROBA~~terra.es
> http://jmtorres.blogspot.com
>
>
>



Respuesta Responder a este mensaje
#4 Maxi
03/01/2005 - 19:56 | Informe spam
Hola, de ser asi, la unica alternativa es montar un sql totalmente aparte,
no darle a nadie la clave del SA, y sacar del grupo a los Administradores.

Otra opcion no vas a tener


Salu2
Maxi


"Asterion" escribió en el mensaje
news:
Esta consulta me interesa mucho, pues en un proyecto de la empresa en la
que
estoy se planteó un problema similar.

La gerencia de la empresa cliente compró un liquidador de nuestra empresa.
Por disposición de la gerencia del cliente NADIE de la empresa cliente
puede
tener acceso a la información cargada en las tablas de nuestra aplicación
(nadie incluye al personal de sistemas). Esto es porque quieren asegurarse
que nadie en la empresa pueda acceder a los sueldos (presentes o pasados)
inspeccionando tablas, cambiarse de categoría o cargarse cualquier tipo de
extras o bonificaciones.

Tendría que existir una cuenta(de nuestra empresa) para hacer
mantenimientos
o modificaciones al sistema.
Nadie en el cliente debería tener acceso libre.

¿Cómo se puede hacer?.




"Maxi" escribió:

Hola, que nadie nadie pueda hacerlo es imposible porque el SA tendra
acceso
por lo menos.

Lo que puedes hacer es proteger las cosas mas importantes como los Sp's,
vistas.

Ahora la gran pregunta del millon:

Porque no queres que nadie tenga acceso a la BDD?


Salu2
Maxi


"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el
mensaje
news:
> Buenas señores:
>
> Tengo un problema. Tengo que distribuir una aplicación a unos 20
> usuarios
> con MSDE o SQL Server. La base de datos también entra en la
> distribución.
> Mi
> pregunta es, ¿cual es la mejor manera de asegurarme que nadie entrará
> en
> la
> base de datos para modificarla? he estudiado varias alternativas, (
> capturar
> el sa, auditar conexión,) espero me echen una mano, muchas gracias
> desde
> ya!
>
>
> José Miguel Torres
> jtorres_diaz~~ARROBA~~terra.es
> http://jmtorres.blogspot.com
>
>
>



Respuesta Responder a este mensaje
#5 Asterion
03/01/2005 - 20:21 | Informe spam
Si Maxi, esta sugerencia es buena. La cuenta de mi empresa sería sa.

Ahora, ¿cómo hago para darle acceso a los usuarios desde la aplicación?.
¿Debo usar exclusivamente sp?.
¿Debo compilar los sp "with encryption" tal cual lo sugiere el amigo García?.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida