AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 411
Accepted
Sevki
Sevki
Asked: 2011-01-08 15:11:22 +0800 CST2011-01-08 15:11:22 +0800 CST 2011-01-08 15:11:22 +0800 CST

Que ameaças de segurança a conta SA e outros nomes de contas conhecidos representam para a segurança?

  • 772

Um nome de conta conhecido como sa representa uma ameaça à segurança do banco de dados? Ao usar a autenticação do Windows no SQL Server, ela impõe a mesma política de senha (se foi definida para bloquear a conta após 5 vezes)?

sql-server security
  • 6 6 respostas
  • 3840 Views

6 respostas

  • Voted
  1. Best Answer
    David Spillett
    2011-01-09T07:32:00+08:002011-01-09T07:32:00+08:00

    Um nome de conta conhecido como sa representa uma ameaça à segurança do banco de dados?

    Uma conta de usuário "god" com um nome conhecido geralmente é considerada uma ideia pior do que um usuário god com um nome menos conhecido. Isso torna os ataques de força bruta um pouco mais fáceis, pois o invasor só precisa adivinhar a senha e não o nome de usuário e a senha.

    Além disso, ter um usuário divino de qualquer maneira pode ser perigoso. Geralmente, é melhor ter usuários específicos com direitos específicos para o que eles precisam fazer. Esse tipo de segurança baseada em privilégios é mais fácil de implementar desde o início do que para adaptá-lo posteriormente ao seu ambiente.

    Desabilitar o sa e dar a usuários específicos direitos administrativos específicos conforme necessário no servidor SQL é essencialmente a mesma recomendação que desabilitar roote distribuir direitos administrativos conforme necessário sudono Linux e similares. Você sempre pode reativar sauma vez conectado diretamente à máquina com privilégios adequados, caso algo dê errado e você acabe perdendo todos os direitos que seus usuários precisam para operar (e corrigir o problema), da mesma forma que você pode projetar o acesso root a um Linux caixa se você tiver acesso físico à caixa - portanto, desabilitar a conta não é uma bala mágica (mas uma vez que um invasor tenha acesso físico à sua máquina ou acesso administrativo total via RDC ou SSH, todas as apostas serão canceladas de qualquer maneira).

    Ao usar a autenticação do Windows no SQL Server, ela impõe a mesma política de senha (se foi definida para bloquear a conta após 5 vezes)?

    Ao usar a Autenticação Integrada do Windows, o servidor SQL não tem controle sobre bloqueios de conta e tal - ele apenas mapeia um usuário do Windows para um usuário do SQL e solicita ao sistema operacional que ateste o fato de que o usuário forneceu as credenciais apropriadas. Para usuários humanos interativos, isso significa que qualquer bloqueio ocorreria quando o usuário tentasse se autenticar com o Windows, não quando ele se conectasse ao SQL Server.

    • 11
  2. Joe
    2011-01-08T19:45:42+08:002011-01-08T19:45:42+08:00

    Não é uma má ideia fazer com que o usuário administrador padrão (admin/root/postgres/sa/etc) não exista realmente em seu sistema. Você sempre pode criar uma conta privilegiada com um nome diferente.

    Se nada mais, as pessoas que tentam explorar seu sistema não têm um tempo tão fácil como se estivessem trabalhando às cegas (por exemplo, injeção de sql sem ter algum shell interativo nem ser capaz de ver a saída direta de seus comandos)

    Quanto aos bloqueios de conta - se alguém conseguiu chegar longe o suficiente para tentar fazer login em sua máquina, a menos que você permita especificamente o login direto dos usuários, você já perdeu a batalha. Pessoalmente, não sou a favor de bloqueios em sua maior parte, porque dá a alguém a capacidade de criar uma negação de serviço se conseguir obter o nome de qualquer um de seus usuários. (e fazer com que eles bloqueiem o superusuário? Não é divertido).

    Eu recomendo olhar os benchmarks CIS ... eles não os têm para todos os bancos de dados, mas eles têm recomendações para Oracle, MS SQL, DB2 e MySQL. Se você estiver executando outra coisa, ainda vale a pena examinar os tipos gerais de coisas que eles recomendam.

    • 4
  3. AndrewSQL
    2011-01-18T19:31:06+08:002011-01-18T19:31:06+08:00

    Eu não vi ninguém mencionar isso, então vou adicioná-lo. Com o SQL Server 2005+, se o seu servidor fizer parte de um domínio e o domínio tiver uma política de senha, você poderá permitir que a política de senha seja aplicada em logins SQL. Isso inclui requisitos de complexidade de senha e a capacidade de forçar alterações de senha no login.

    Observe que isso às vezes pode causar problemas com alguns instaladores de software que não foram atualizados para funcionar com SQL 2005+ e criar logins SQL com senhas inseguras.

    • 4
  4. Ivan Stankovic
    2014-01-18T06:16:53+08:002014-01-18T06:16:53+08:00

    Existem dois modos de autenticação usados ​​no SQL Server: autenticação do Windows e modo misto (permite autenticação do Windows e autenticação do SQL Server)

    O primeiro modo é menos vulnerável a ataques de força bruta, pois é provável que o invasor encontre um bloqueio de login (o recurso Política de bloqueio de conta) após um número finito de tentativas de ataque. Todo ambiente de produção, se estiver usando o modo de autenticação do Windows, deve utilizar o recurso de política de bloqueio, pois torna os ataques de força bruta impossíveis

    Quando se trata de vulnerabilidade de ataque de força bruta de autenticação do SQL Server, a situação não é tão favorável. A Autenticação do SQL Server não possui recursos que permitam detectar quando o sistema está sob um ataque de força bruta. Além disso, o SQL Server é muito responsivo quando se trata de validar as credenciais de autenticação do SQL Server. Ele pode lidar facilmente com tentativas de login repetidas, agressivas e de força bruta, sem desempenho geral negativo que possa indicar tais ataques. Isso significa que a Autenticação do SQL Server é um alvo perfeito para quebra de senha por meio de ataques de força bruta

    Além disso, os métodos de força bruta estão evoluindo com cada novo método introduzido de criptografia e complexidade de senha. Por exemplo, invasores que usam Rainbow Tables (as tabelas pré-computadas para reverter os valores de hash criptográficos para todas as combinações possíveis de caracteres) podem facilmente e rapidamente quebrar qualquer senha com hash

    Para proteger seu SQL Server de ataques de força bruta, você deve considerar o seguinte:

    • Não use o modo de autenticação do SQL Server - force o invasor a atingir o bloqueio de login por meio da autenticação do Windows
    • Caso precise usar o modo de autenticação do SQL Server, desative ou remova o login SA – dessa forma o invasor deve adivinhar e emparelhar o nome de usuário e a senha
    • 3
  5. mrdenny
    2011-01-08T16:37:00+08:002011-01-08T16:37:00+08:00

    A conta sa, quando habilitada, pode fazer qualquer coisa no SQL Server. Se um invasor entrar nessa conta, poderá fazer qualquer coisa que desejar na instância do SQL Server (e possivelmente no sistema operacional do host).

    • 1
  6. Tangurena
    2011-01-09T08:13:21+08:002011-01-09T08:13:21+08:00

    O SA (e outros nomes de contas bem conhecidos) são pontos bem conhecidos que os hackers podem atacar. Alguns dos Oracle foram mal documentados e, portanto, as senhas padrão nem sempre foram alteradas. Depois de obter o controle da conta SA no SQL Server, você controla o servidor em que está sendo executado e pode executar qualquer código ou instalar qualquer coisa que desejar. Nos meus dias mais de cowboy, lembro-me de não ter permissão (precisava de papelada que não iria preencher) para instalar um controle ActiveX em um servidor web que também hospedava o SQL Server - então usei xp_cmdshell para copiar e instalar o controle .

    • 1

relate perguntas

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Os procedimentos armazenados impedem a injeção de SQL?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Protegendo senhas de banco de dados

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve