none
Proteger meu Banco (Manegament do SQL) RRS feed

  • Pergunta

  • Bom dia a todos.

    Pessoal estou enfrentando um problemão em minhas aplicações. Tenho vários sistema rodado em alguns estados e uso o banco de dados do SQL 2005 Express. Faço o suporte remoto, mas de alguns dias para cá vejo que tem alguém mexendo nos bancos de dados e isso está me deixando completamente vulnerável. TERIA UMA FORMA DE EU RESTRINGIR O ACESSO AO MANEGEMENTE DO SQL 2005 EXPRESS ?. QUERO RESTRINGIR O LOGIN DE USUARIOS DO WINDOWS, INCLUSVIE DO ADMINISTRADOR DA REDE/MÁQUINA. NA VERDADE, QUERO EU CRIAR UM USUÁRIO E SENHA QUE SOMENTE EU POSSA ACESSO O MANAGEMENTE E CONSEQUENTEMENTE OS BANCOS, É POSSÍVEL ISSO? COMO ?

    Exemplo: O Banco de dados do Access quando colocamos uma senho, somente nós podemos abrir o management.

    Desde já agradeço.

    Oryz
    sexta-feira, 19 de junho de 2009 13:46

Respostas

  • Boa Noite,

    Podemos fazer alguns ajustes, mas tenha em mente que um banco de dados nunca será "seguro" se estiver rodando em algum local que você não tem controle. Nenhuma das tentativas poderia pode exemplo impedir que alguém pare o serviço e substitua os MDFs e LDFs se for o caso.

    É possível restringir o acesso por aplicação e (ou) por usuário se você utilizar uma trigger DDL com algum evento de Log On.

    Create TRIGGER tr_Server_Logon_Role ON ALL SERVER FOR LOGON      
    AS        
    BEGIN       
    execute as login = 'sa' -- Necessário para permitir que a trigger sempre seja executada    
    Declare @Programa as varchar(50)      
    Select @Programa=Program_Name()      
        
    If @Programa= 'Microsoft SQL Server Management Studio - Query' and ORIGINAL_LOGIN() !='SeuLogin'      
        ROLLBACK
    End

    Poderíamos pensar em Application Roles. Se elas forem utilizadas, apenas a aplicação teria direitos e quando o usuário usasse o Management Studio não poderia efetuar nenhuma ação. A idéia é interessante, mas a partir do momento em que ele é administrador da máquina, nada impede que ele consiga tornar-se SysAdmin se assim o desejar.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como importar e exportar imagens entre o SQL Server e o File System ? – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!612.entry
    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 23 de junho de 2009 01:51

Todas as Respostas

  • Olá Orisvaldo,

    você precisa verificar algumas coisas:

    - Qual tipo de autenticação o SQL Server está usando;
    - Quais são os logins existentes e quais GRANTs eles possuem;
    - Trocar as senhas dos logins (para isso, é bom verificar se não é um login de aplicação).

    Depois disso, você pode utilizar roles para restrigir os acessos e definir o que cada logins pode acessar ou não.
    Qualquer dúvida posta aqui.

    Att.,

    Paulo Henrique.

    MCTS
    sexta-feira, 19 de junho de 2009 17:06
  • Boa Noite,

    Podemos fazer alguns ajustes, mas tenha em mente que um banco de dados nunca será "seguro" se estiver rodando em algum local que você não tem controle. Nenhuma das tentativas poderia pode exemplo impedir que alguém pare o serviço e substitua os MDFs e LDFs se for o caso.

    É possível restringir o acesso por aplicação e (ou) por usuário se você utilizar uma trigger DDL com algum evento de Log On.

    Create TRIGGER tr_Server_Logon_Role ON ALL SERVER FOR LOGON      
    AS        
    BEGIN       
    execute as login = 'sa' -- Necessário para permitir que a trigger sempre seja executada    
    Declare @Programa as varchar(50)      
    Select @Programa=Program_Name()      
        
    If @Programa= 'Microsoft SQL Server Management Studio - Query' and ORIGINAL_LOGIN() !='SeuLogin'      
        ROLLBACK
    End

    Poderíamos pensar em Application Roles. Se elas forem utilizadas, apenas a aplicação teria direitos e quando o usuário usasse o Management Studio não poderia efetuar nenhuma ação. A idéia é interessante, mas a partir do momento em que ele é administrador da máquina, nada impede que ele consiga tornar-se SysAdmin se assim o desejar.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como importar e exportar imagens entre o SQL Server e o File System ? – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!612.entry
    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 23 de junho de 2009 01:51