Hola, interesante el tema, pero me gustaria dar mi opinion si es que no les molesta claro ;)
El codigo SQL es lo mismo que el codigo de tu aplicación, como protege usted que sus desarrolladores no se roben el codigo de la aplicación? Como protege que contra un decompilador no le roben el codigo? Si la aplicación esta en el cliente este es dueño de los datos pero usted puede encriptar los SP para que sean mas dificiles de decifrar, es lo mismo que su .exe, todoso sabemos y conocemos miles de decompiladores y funcionan bien, pero igual hacemos el exe no? Y tratamos de hacerla la cosa mas compleja con algun que otra tecnica.} En SQL es lo mismo y lo que tiene son las encriptaciones de codigo. Para impedir que se roben datos usted recien en 2008 puede aplicar encriptacion nativa y si se roban la base no la pueden levantar si no tiene las mismas condiciones de encriptacion que en el servidor principal. Como vera el robar codigo es posible y en todo ambiente, el tema es como usted trata de hacer la tarea mas dificil y proteger las cosas. Tambien pueden ver el diseño de sus tablas y con un profiler ver como su sistema funciona, eso es viable no solo en SQL sino en varios motores de base de datos. Ahora bien, a mi no me queda claro su preocupacion hacia donde es! Que quiere evitar? Quien le robo o piensa que le puede robar su propiedad intelectual? Maximiliano Damian Accotto Microsoft MVP en SQLServer SQL Total Consulting Bogota 3631 P3B 1407 Buenos Aires-Argentina Movil: (011)-15-5868-5599 Desde el exterior: (+54-911)-5868-5599 <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Luis Enviado el: jueves, 02 de octubre de 2008 08:40 a.m. Para: Maxi Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Mariano, lo de propiedad intelectual no tiene efecto, como haces para demostrar que lo que esta en el Server es tuyo, además esta el tema que te plantean que ellos compraron el SQL y todo lo que hay ahí es de ellos. No tengo problemas y además es mi obligación dejar todo funcionando como hasta ahora, pero dejar el código fuente es un dolor en lo más profundo, bueno por ahora no se como resolver este tema, para futuras situaciones, porque siempre hay nuevos clientes y también se van viejos clientes, lo que tengo que hacer es protegerme de alguna manera, que todavía no tengo la forma pero voy a encontrar una, de todas maneras muchas gracias a todos. Atte, José Luis Agosta S.J.L. Soft Computación _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano Alvarez Enviado el: Jueves, 02 de Octubre de 2008 06:06 Para: [EMAIL PROTECTED] Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Para descifrar o desencriptar los objetos de base de datos pueden usar unos script de T-SQL..: Yo tengo los códigos de SQL Server 2000 y SQL Server 2005 O puedes comprar DecryptSQL http://www.devlib.net/decryptsql.htm Orbital's SQL Decryptor 4.0 http://www.binarysoftworks.com/Products/ProductListing.aspx SQL Script Recovery Pro http://www.ussun.com/decryptor/ SQL Object Decrypt http://www.shareit.com/163349-1.html SQL Shield http://www.sql-shield.com/ Creo que lo que mejor podrías hacer es proteger tu código mediante propiedad intelectual. Saludos -------------------------------- Atte. Ing. Jose Mariano Alvarez SQL Total Consulting 2008/10/1 Jose Luis <[EMAIL PROTECTED]> Ufa Mariano, pensé que era un obstáculo más, pero si es posible, es como si no existiera la encriptación. Atte, José Luis Agosta S.J.L. Soft Computación _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano Alvarez Enviado el: Miércoles, 01 de Octubre de 2008 16:38 Para: [EMAIL PROTECTED] Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Los script cifrados de 2000 se pueden desencriptar. Los de 2005 no probe nunca hacerlo. -------------------------------- Atte. Ing. Jose Mariano Alvarez SQL Total Consulting 2008/10/1 PabloC <[EMAIL PROTECTED]> Si Jose y esa es la idea, por eso antes de encriptarlos tenes que guardarte los scripts de generación para que solo a vos te quede el codigo Saludos PabloC De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Luis Enviado el: Miércoles, 01 de Octubre de 2008 16:13 Para: pablo.canonico Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Pero al encriptarlo no pierdo el acceso yo también, creo que una vez intente eso y después no podía abrirlos, y como pensé que no se podía abrir la base no investigué mas, ahora veo como es eso de la encryptacion, desde ya muchas gracias por la información Atte, José Luis Agosta S.J.L. Soft Computación _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de PabloC Enviado el: Miércoles, 01 de Octubre de 2008 15:11 Para: [EMAIL PROTECTED] Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Hola Jose, entonces es muy simple, encripta los SP, crealos con With Encryption y listo!!! Saludos PabloC De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Luis Enviado el: Miércoles, 01 de Octubre de 2008 14:31 Para: pablo.canonico Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Hola Pablo no me refería a los datos eso si lo tengo claro, si no a la parte de programación que había realizado en los SP de SQL, porque habían varios que fueron realizados muy complejos y al tenerlos es como que ya tiene el camino hecho, aunque si no los tuviera se que es posible que lo programe nuevamente, pero eso ya le va a llevar un poco de tiempo. Por eso decía que el programador se quedo con todo mi desarrollo de varios años, no es lo mismo escribir línea a línea que ya tenerlas todas realizadas y solamente continuar, no se si me explico, lo que quisiera proteger es mi trabajo de desarrollo y no se como puedo hacerlo para que no quede libre, lo que me queda por hacer es que el código de los SP lo envíe desde la aplicación y que no este ese código el Server, eso es lo que se me ocurre, si hay otra sugerencia será bien recibida. Atte, José Luis Agosta S.J.L. Soft Computación _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de PabloC Enviado el: Miércoles, 01 de Octubre de 2008 10:40 Para: [EMAIL PROTECTED] Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Jose perdón que me meta Lo que no entiendo es esto "..una base de datos en un servidor SQL Server 2000, con usuario y contraseña que solo desde el programa echo en visual Basic se podía entrar, pero me a pasado que ese cliente contrato a otro programador..". Porque VOS tenes potestad sobre la base de TU cliente?, la apliacion es tuya y vos la hiciste, hasta ahí todo bien, pero los datos NO, los datos son de tu cliente y si el por cualquier motivo, real o no, justificado o no, desea o necesita usarlos tiene que tener libre disponibilidad, vos no podes prohibirle eso. Te cuento un caso puntual, un nuevo cliente nuestro tenia una aplicación de la competencia y cuando le pedimos los datos para migrárselos a nuestra aplicación, el nos comento algo similar a lo que vos decis, que el no tenia acceso libre a sus datos. Como finalizo esto, con una intimación judicial, su anterior proveedor tuvo que darle las claves de acceso a la base ( aunque nosotros ya habíamos hecho lo que vos decis, recuperamos un backup y listo ) Saludos PabloC De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Luis Enviado el: Miércoles, 01 de Octubre de 2008 10:33 Para: pablo.canonico Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Que macana, entonces quiere decir que por mas contraseña segura que coloquemos, cualquiera que tenga conocimientos de SQL puede ver todos nuestros datos, así sin mas, no existe ninguna manera de bloquear, estuve probando varias maneras pero no, no puedo, siempre el que adjunta la base tiene el control total por mas que se configure permisos para un solo usuario parece que al ser adjuntada esos permisos no los toma, que desilusión tantos años con SQL y no me percate de este inconveniente, y el nuevo programador se quedo con todo mi desarrollo de años de trabajo, otra pregunta todas las bases de datos son vulnerables o hay alguna que se pueda controlar, estaba pensando el Oracle o SQLProgress esas también son así, alguien sabe si se puede bloquear en esas bases, cualquier información de alguna más segura será bienvenida, desde ya muchas gracias. Atte, José Luis Agosta S.J.L. Soft Computación _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano Alvarez Enviado el: Martes, 30 de Septiembre de 2008 21:48 Para: [EMAIL PROTECTED] Asunto: [dbms] Como impedir que abran una base de datos fuera de SQL Si, asi es.. En SQL Server 2008 TDE simplifica la forma en la cual se cifra, permitiendo definir el cifrado mediante una clave simétrica a nivel de base de datos. Pero solo esta disponible en la edición enterprise lo cual es bastante limitativo. En cuanto a los mecanismos que usa TDE son los que introdujo SQL Server 2005 (master key, master database key, etc) con algunas variantes y limitaciones, especialmente por temas de rendimiento. Si quieren proteger una base en 2005 hay que trabajar mas para poder hacerlo ya que no lo podemos definir a nivel de base de datos sino a nivel de objeto de la base. Saludos -------------------------------- Atte. Ing. Jose Mariano Alvarez SQL Total Consulting 2008/9/30 Maxi Accotto <[EMAIL PROTECTED]> Si en 2008 tenes TDE lo cual encripta la base de forma transparente! Es justamente para lo que buscas El día 30 de septiembre de 2008 13:56, Esteban Grinberg <[EMAIL PROTECTED]> escribió: > Y si fuese 2005 (o 2008), se podria impedir totalmente? > > 2008/9/30 Jose Mariano Alvarez <[EMAIL PROTECTED]> >> >> En 2000 no se puede impedir totalmente que otro haga algo asi. >> >> Se debe impedir el control del equipo (carpetas y aplicaciones el SQL >> Server) y de la manipulacion de los servicios desde los permisos de windows. >> Aun asi no tienes la certeza 100% si tiene acceso fisico al equipo. >> >> -------------------------------- >> Atte. >> Ing. Jose Mariano Alvarez >> SQL Total Consulting >> >> >> 2008/9/30 Jose Luis <[EMAIL PROTECTED]> >>> >>> >>> >>> >>> >>> Estimado tengo un inconveniente, como puedo hacer para que una base de >>> datos no la pueda abrir si la sacan del SQL donde esta, me explico mejor, >>> >>> >>> >>> Resulta que tengo un cliente que tiene una base de datos en un servidor >>> SQL Server 2000, con usuario y contraseña que solo desde el programa echo en >>> visual Basic se podía entrar, pero me a pasado que ese cliente contrato a >>> otro programador, y el detiene el SQL Server 2000 copia la base de datos en >>> otra PC, levanta otra copia de SQL y extrae toda la información sin ningún >>> problema, como se puede evitar eso, que hice mal.? >>> >>> >>> >>> >>> >>> Atte, José Luis Agosta >>> >>> S.J.L. Soft Computación >>> >>> > > -- ----------------------------------------------------------- Microsoft MVP en SQL Server Consultor en SQLTotalConsulting Excelencia en servicios y consultoria SQLServer www.sqltotalconsulting.com ----------------------------------------------------------- No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.173 / Virus Database: 270.7.5/1702 - Release Date: 01/10/2008 09:05 a.m.
