none
Como restrigir el acceso a SQL Server 2000 por aplicación RRS feed

  • Pregunta

  • La intención es restrigir el acceso al SQL Server para ciertas aplicaciones, es decir, no permitir al MSQuery conectarse por ejemplo, o que algun usuario tenga una herramienta no autorizada para la conexión al SQL Server.
    viernes, 24 de septiembre de 2010 17:10

Respuestas

  • Es una lástima que sea un 2000, porque si tuvieras una versión moderna sería relativamente sencillo imponer esta restricción mediante un Trigger de Logon. Pero en la versión 2000 no existe este tipo de Triggers.

    El único remedio decente consiste en controlar la cuenta de usuario, y no darle permisos de conectarse a quien no deba. Una vez que alguien tiene un usuario y contraseña autorizados, puede conectarse con la aplicación que le dé la gana, y no hay manera de impedirlo. Incluso aunque tuvieras un SQL 2008 y controlaras el nombre de la aplicación dentro de un trigger de logon, sería bastante fácil trucar una aplicación para que se hiciera pasar por otra, ya que el nombre de aplicación que le llega al servidor no es más que un simple string dentro de la cadena de conexión.

    Si sólo quieres que accedan al servidor con una aplicación concreta sobre la que tienes control, modifícala para que utilice un Rol de Aplicación al conectarse al servidor, y dale permisos en la base de datos únicamente a este Rol, pero no les des permisos a los usuarios.

    viernes, 24 de septiembre de 2010 17:48
  • Hola.

    No desestimes el impacto de la comunicación. Es decir, informa que no está permitido, audita quién se salta las normas con una traza y notifícalo a los que sean cazados. Lo normal es que con eso solventes una gran parte de los accesos no deseados.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    lunes, 27 de septiembre de 2010 12:51
    Moderador

Todas las respuestas

  • Es una lástima que sea un 2000, porque si tuvieras una versión moderna sería relativamente sencillo imponer esta restricción mediante un Trigger de Logon. Pero en la versión 2000 no existe este tipo de Triggers.

    El único remedio decente consiste en controlar la cuenta de usuario, y no darle permisos de conectarse a quien no deba. Una vez que alguien tiene un usuario y contraseña autorizados, puede conectarse con la aplicación que le dé la gana, y no hay manera de impedirlo. Incluso aunque tuvieras un SQL 2008 y controlaras el nombre de la aplicación dentro de un trigger de logon, sería bastante fácil trucar una aplicación para que se hiciera pasar por otra, ya que el nombre de aplicación que le llega al servidor no es más que un simple string dentro de la cadena de conexión.

    Si sólo quieres que accedan al servidor con una aplicación concreta sobre la que tienes control, modifícala para que utilice un Rol de Aplicación al conectarse al servidor, y dale permisos en la base de datos únicamente a este Rol, pero no les des permisos a los usuarios.

    viernes, 24 de septiembre de 2010 17:48
  • Hola.

    No desestimes el impacto de la comunicación. Es decir, informa que no está permitido, audita quién se salta las normas con una traza y notifícalo a los que sean cazados. Lo normal es que con eso solventes una gran parte de los accesos no deseados.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    lunes, 27 de septiembre de 2010 12:51
    Moderador