SQL Server: Login SA, utilizar ou não? Eis a questão.

Em um mecanismo de banco de dados MS SQL Server, é possível notar durante sua instalação duas modalidades de configuração referentes a credenciais de usuários administradores, são elas:

  • Windows authentication (Autenticação via Windows);
  • Mixed Mode Authentication (Autenticação Mista).

Dentre os dois modos de autenticação, o segundo solicita a criação de um login SQL nomeado de SA. Este usuário ao ser criado terá permissões de administrador, sendo assim uma credencial muito importante e que deve ser manejada apenas por pessoas experientes e com autorização.

Respondendo a pergunta do título, em grande parte da literatura, a autenticação via Windows é considerado o modo mais seguro de acesso, devido:

  • Diminuir o acúmulo de senhas; 
  • Gerenciar desligamento de usuários ao SQL e ao S.O  simultaneamente;
  • Aplicar permissões a grupos de maneira mais rápida entre outras.

Entretanto a autenticação mista juntamente com o login SA ainda são amplamente utilizados devido a sua facilidade de liberar acessos sem necessariamente estar conectado a um servidor autorizado, sendo bastante utilizado para conectar aplicações.

Neste caso não há uma receita de bolo e sim o que o seu modelo de negócio permite fazer. Caso possa utilizar apenas o modo de autenticação do Windows, é uma excelente opção. Caso não consiga, devido a utilizar uma aplicação que só consegue conexão ao banco via Login SQL por exemplo, aqui vão algumas dicas que podem prover mais segurança para o seu ambiente.

Não utilizar o SA para conexão de aplicações

O login SA foi criado para que o DBA ou pessoas autorizadas pudessem realizar operações que necessitam de altos privilégios no banco de dados e não devem ser utilizados como forma de conexão da aplicação com o banco. Esta conexão aumenta o risco de SQL Injection, tendo em vista que caso a camada de segurança da aplicação não esteja bem implementada, através de uma requisição de URL o hacker conseguiria coletar informações sensíveis do banco de dados ou do próprio servidor em que o mesmo está hospedado.

Desabilitar o SA

Em caso de autenticação pelo modo misto, desabilite o usuário SA, pois qualquer hacker tem o entendimento que em um banco de dados MS SQL Server existe um login muito poderoso com este nome. Esta ação diminui a possibilidade de acessos indesejados de ex-funcionários, consultores ou qualquer pessoa que historicamente já acessou esta credencial algum dia.

Renomear o SA

Caso desabilitar o SA não seja uma opção, uma forma de prover mais uma camada de segurança seria de realizar a alteração do nome deste usuário para um menos conhecido, tendo em vista que dificultaria o acesso indesejado de um invasor, pois o mesmo não saberia o nome atual da credencial

Observação: Antes de desabilitar ou renomear o SA, é importante verificar se o mesmo é utilizado como conexão à aplicação, pois ao realizar ação, a aplicação conectada através deste irá parar de acessar o banco.

Manter uma política de troca de senhas

Caso nenhuma das ações acima seja possível, então é interessante reforçar a política de troca de senha com frequência entre os colaboradores que o utilizam, habilitar a política de senhas fortes, como também auditar este login identificando suas conexões de forma a facilitar o entendimento de onde surgiu o ataque.

Estas medidas, mesmo que simples, ajudam a tornar seu ambiente um pouco mais seguro a invasões ao banco de dados. Ficou com alguma dúvida? Clique aqui para falar com um de nossos especialistas.

Wallace Mendes
Especialista em Banco de Dados na AMT