Olá pessoal, o assunto de hoje é um tema muito importante e que é negligenciado por muita gente. Sysadmin, qual a função dessa role ? Quando deve ser usado? Por quem? Quais as melhores práticas? É o que tratarei nesse post.
Role é uma função que contem um grupo de permissões específicas na instância SQL Server (As funções são como grupos no sistema operacional Windows.)
O sysadmin no banco de dados SQL Server tem a mesma função do administrador do windows (seja servidor ou máquina local). Os membros da função de servidor fixa sysadmin podem executar qualquer atividade na instância.
Para começar, quando estamos realizando a instalação de uma nova instância SQL dois logons sysadmin são criados:
1 - Logon do modelo windows, que é um usuário de windows que você escolhe atribuir a essa função (de forma mais aprofundada você pode atribuir um grupo de windows onde todos os usuários dentro desse grupo tenham a permissão).
2 - Logon do tipo SQL logon, esse usuário sempre é criado com o nome SA (se escolher a opção de autenticação na instalação Windows Authentication o SA é criado já desabilitado, caso escolha o formato Mixed mode, os campos de senha serão habilitados para serem preenchidos)
Devido a alta permissão desses logons (podem executar qualquer ação na instância) o uso deles deve ser restrito aos administradores do ambiente. Aplicativos de usuários, BIs e outros dispositivos devem acessar os bancos com logons específicos e com permissões específicas em cada banco de dados. Infelizmente é comum encontrarmos aplicações que rodam com logon sysadmin, isso é uma prática muito ruim e perigosa.
É possível também criarmos novos logons e atribuirmos essa mesma permissão, podemos ter quantos forem necessários.
Isso pode ser feito de duas formas
1 - Pelo Management Studio
Logon do tipo Windows
Logon do tipo SQL
Atribuição da role sysadmin para os dois tipos de logon é igual
2 - Por T-SQL
Logon do tipo windows / Logon do tipo SQL
Mas afinal, precisamos ter muitos logons com essa permissão?
Recomendo que não! Essa função de servidor deve ser restringida ao máximo, toda a sua segurança depende dela.
É como a senha do seu cartão de credito, quanto mais pessoas tiverem acesso a ela, maior é a chance de você se dar mal.
Após longos anos de experiência lidando com ambientes cada vez mais críticos e complexos montei um check list de boas práticas para garantir ao máximo a continuidade do ambiente e a segurança dos dados e que compartilho com você agora.
1 - Desabilite o logon SA
Sim, não devemos usar esse logon, ele é o alvo principal em tentativas de invasão.
2 - Altere a senha do logon SA
Alterar a senha desse logon para garantir que apenas pessoas restritas possam ter a informação (o minimo possível).
3 - Altere o nome do logon
Isso mesmo, ao passo que invasores buscarão inicialmente pelo logon padrão criado pelo SQL, podemos alterar o seu nome.
* O SQL necessita de um logon com nome SA (funcionamento interno), portanto devemos criar um novo com o minimo de permissão e desabilitá-lo, assim, se alguma pessoa conseguir habilitá-lo de alguma forma não terá a permissão de sysadmin como imaginava.
4 - Crie um novo logon sysadmin (antes dos passos anteriores, claro)
Sempre que possível trabalhe com logons windows authentication para a equipe de manutenção do ambiente, isso garante logons nominais, com restrições do grupo do windows (como política de senhas por exemplo), podemos usar todo o recurso que o windows nos oferece dentro do SQL Server. Caso seja realmente necessário a criação de logon SQL sysadmin, selecione as opções para impor política de senhas e trocar no primeiro login (garantindo que apenas
aquele colaborador tenha a senha do logon).
5 - Utilize senhas longas
Lembre-se a segurança é muito importante, não podemos facilitar.
6 - Habilite a auditoria de logon
É fácil e eficaz, irá gerar um log no event viewer e/ou no errorlog do SQL Server.
7 - Monitore os acessos frequentemente
Acompanhar o ambiente é de extrema importância, parte do nosso trabalho é estar atento a tudo, analise os logs com frequência.
8 - Revise as permissões periodicamente
Troca de colaboradores, projetos que finalizaram, muitas são as situações onde a permissão de sysadmin pode ser retirada, devemos garantir que só tenham o acesso quem realmente precisa.
Cada detalhe é muito importante e isso faz parte da vida do DBA. Busque soluções, precisamos estar sempre um passo a frente, afinal, cuidamos de dados!
Até a próxima!
Comments