locked
o cara ta lascando o meu banco de dados RRS feed

  • Pergunta

  • tem um elemento que ta conseguindo pegar o usuario do meu banco de dados e ta dando um UPDATE NA TABELE ELE LISTA ELAS usando

    SELECT table_name FROM information_schema.tables

     

    SQL:BatchStarting IF @@TRANCOUNT > 0 COMMIT TRAN   dados01_user     2468 55 2011-06-19 07:04:23.983   
    SQL:BatchCompleted IF @@TRANCOUNT > 0 COMMIT TRAN   dados01_user 0 0 0 0 2468 55 2011-06-19 07:04:23.983 2011-06-19 07:04:23.983  
    SQL:BatchStarting  --*sp_password-------------------------------------------   dados01_user     2468 55 2011-06-19 07:04:24.093   
    SQL:BatchCompleted  --*sp_password-------------------------------------------   dados01_user 16 303 0 35 2468 55 2011-06-19 07:04:24.093 2011-06-19 07:04:24.123  
    SQL:BatchStarting select name from sys.tables   dados01_user     2468 55 2011-06-19 07:04:24.233   
    SQL:BatchCompleted select name from sys.tables   dados01_user 0 83 0 4 2468 55 2011-06-19 07:04:24.233 2011-06-19 07:04:24.233  
    SQL:BatchStarting drop table [CADS]   dados01_user     2468 55 2011-06-19 07:04:24.343   
    SQL:BatchCompleted drop table [CADS]   dados01_user 0 0 0 22 2468 55 2011-06-19 07:04:24.343 2011-06-19 07:04:24.357  
    SQL:BatchStarting select TABLE_NAME, COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where columnproperty(object_id(table_name), column_name,'IsIdentity') = 0   dados01_user     2468 55 2011-06-19 07:04:24.467   
    SQL:BatchCompleted select TABLE_NAME, COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where columnproperty(object_id(table_name), column_name,'IsIdentity') = 0   dados01_user 0 194 0 22 2468 55 2011-06-19 07:04:24.467 2011-06-19 07:04:24.500  
    SQL:BatchStarting 
            select data_type from INFORMATION_SCHEMA.COLUMNS where column_name = 'ID_MAQ'   dados01_user     2468 55 2011-06-19 07:04:24.607   
    SQL:BatchCompleted 
            select data_type from INFORMATION_SCHEMA.COLUMNS where column_name = 'ID_MAQ'   dados01_user 15 21 0 6 2468 55 2011-06-19 07:04:24.607 2011-06-19 07:04:24.607  
    SQL:BatchStarting UPDATE CADS set ID_MAQ = '0'    dados01_user     2468 55 2011-06-19 07:04:24.717   
    SQL:BatchCompleted UPDATE CADS set ID_MAQ = '0'    dados01_user 0 5 0 0 2468 55 2011-06-19 07:04:24.717 2011-06-19 07:04:24.717  
    SQL:BatchStarting IF @@TRANCOUNT > 0 COMMIT TRAN   dados01_user     2468 55 2011-06-19 07:04:24.827   
    SQL:BatchCompleted IF @@TRANCOUNT > 0 COMMIT TRAN   dados01_user 0 0 0 0 2468 55 2011-06-19 07:04:24.827 2011-06-19 07:04:24.827  
    SQL:BatchStarting 
            select data_type from INFORMATION_SCHEMA.COLUMNS where column_name = 'DS_MAQ'   dados01_user     2468 55 2011-06-19 07:04:24.933   
    SQL:BatchCompleted 
            select data_type from INFORMATION_SCHEMA.COLUMNS where column_name = 'DS_MAQ'   dados01_user 16 21 0 6 2468 55 2011-06-19 07:04:24.933 2011-06-19 07:04:24.933  
    SQL:BatchStarting UPDATE CADS set DS_MAQ = '0'    dados01_user     2468 55 2011-06-19 07:04:25.043   
    SQL:BatchCompleted UPDATE CADS set DS_MAQ = '0'    dados01_user 0 5 0 0 2468 55 2011-06-19 07:04:25.043 2011-06-19 07:04:25.043  

    OQ EU devo fazer com schema ou permissao para nao bloquear o meu sistema e sim para barar ele de ler as minha tabelas?

    • Movido Gustavo Maia Aguiar domingo, 19 de junho de 2011 15:11 (De:SQL Server - Desenvolvimento Geral)
    domingo, 19 de junho de 2011 12:13

Respostas

  • Boa Noite,

    Não acho que isso seja suficiente. Se alguém entrar na minha casa por um descuido (esqueci a chave do lado de fora, a porta ficou aberta, ou simplesmente eu não vi), certamente eu serei mais cuidadoso da próxima vez. Entretanto, se eu sei quem foi e tenho como provar, a primeira coisa que eu faria era ir a uma delegacia. Se você tem a evidência de quem fez as alterações indevidas, a prevenção é importante, mas não significa que as coisas devem ser esquecidas (eu iria atrás...).

    No SQL Server 2000 isso era possível, mas no 2005 e superiores ficou mais complicado, pois, as informações de login e senha são criptografadas (mesmo que o resto do tráfego não seja). Não há como impedir que ele descubra a configuração das tabelas. Embora a View Definition oculte muita coisa, nada impede que um SELECT TOP 1 seja feito contra as tabelas e possa se inferir sobre as informações.

    Procure conhecer o recurso de Application Role. Pode ser extremamente útil no seu cenário.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 19 de junho de 2011 22:06

Todas as Respostas

  • Boa Tarde,

    Não há nada muito prático a ser feito. Se ele tem o login do seu sistema, ele terá as mesmas permissões do seu sistema. O que você poderia fazer é trocar a senha para que ele não possa mais logar, mais isso significa alterar a senha no sistema também e se for Desktop pode dar muito trabalho.

    Se você sabe quem é e tem as evidências de que ele está usando de má fé, não há uma política para penalizá-lo ? Quer dizer que é só descobrir a senha e pode-se fazer tudo sem nenhuma punição ?

    Outra possibilidade é bloquear o IP via firewall impedindo assim o uso a partir da estação do usuário. Isso funcionará se ele não for usuário do sistema.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 19 de junho de 2011 15:10
  • Boa Tarde,

    Não há nada muito prático a ser feito. Se ele tem o login do seu sistema, ele terá as mesmas permissões do seu sistema. O que você poderia fazer é trocar a senha para que ele não possa mais logar, mais isso significa alterar a senha no sistema também e se for Desktop pode dar muito trabalho.

    Se você sabe quem é e tem as evidências de que ele está usando de má fé, não há uma política para penalizá-lo ? Quer dizer que é só descobrir a senha e pode-se fazer tudo sem nenhuma punição ?

    Outra possibilidade é bloquear o IP via firewall impedindo assim o uso a partir da estação do usuário. Isso funcionará se ele não for usuário do sistema.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível


    eu uso o aplicativo com o delphi 7 atraves de ado mais a conexao nao fica carregado dentro do ado eu chamo uma variavel que carrega os dados de conexao no ado uma perguta existe scaneamento para pegar os dados de trafego para a porta 1433 que ele possa localizar o login e senha

    a alternativa que eu fiz aqui foi tirar as permissoes de view definition e vou alterar a senha do usuario e possivel que ele nao tenha mais como saber qual e a configuracao das tabelas?

    domingo, 19 de junho de 2011 19:36
  • Boa Noite,

    Não acho que isso seja suficiente. Se alguém entrar na minha casa por um descuido (esqueci a chave do lado de fora, a porta ficou aberta, ou simplesmente eu não vi), certamente eu serei mais cuidadoso da próxima vez. Entretanto, se eu sei quem foi e tenho como provar, a primeira coisa que eu faria era ir a uma delegacia. Se você tem a evidência de quem fez as alterações indevidas, a prevenção é importante, mas não significa que as coisas devem ser esquecidas (eu iria atrás...).

    No SQL Server 2000 isso era possível, mas no 2005 e superiores ficou mais complicado, pois, as informações de login e senha são criptografadas (mesmo que o resto do tráfego não seja). Não há como impedir que ele descubra a configuração das tabelas. Embora a View Definition oculte muita coisa, nada impede que um SELECT TOP 1 seja feito contra as tabelas e possa se inferir sobre as informações.

    Procure conhecer o recurso de Application Role. Pode ser extremamente útil no seu cenário.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 19 de junho de 2011 22:06