Então, mudei recentemente de emprego - um código que vi em nossos scripts de construção para novas instalações do SQL Server está abaixo.
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT AUTHORITY\SYSTEM' )
BEGIN
DROP LOGIN [NT AUTHORITY\SYSTEM];
END
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT SERVICE\SQLWriter' )
BEGIN
DROP LOGIN [NT SERVICE\SQLWriter];
END
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT SERVICE\Winmgmt' )
BEGIN
DROP LOGIN [NT SERVICE\Winmgmt];
END
GO
Essas contas são criadas durante o processo de instalação do SQL Server por padrão.
É recomendável descartar os logins acima? Existem efeitos colaterais que isso poderia causar? Para que esses logins são usados?
É possível excluir os logins NT SERVICE \ SQLWriter e NT SERVICE \ Winmgmt? mas isso não é concreto o suficiente - eu posso ver o que eles precisam, mas muito pouco mais. Eles precisam de acesso sysadmin? etc.
Como exemplo (extraído de Configurar contas de serviço e permissões do Windows ):
O sistema local é uma conta interna com privilégios muito altos. Possui amplos privilégios no sistema local e atua como o computador na rede. O nome real da conta é
NT AUTHORITY\SYSTEM
.
Como devo ler isso? Deveria ficar com esses privilégios "altos"?
fonte
Respostas:
Antes de votar, aqui está a documentação formal que você pode consultar por uma razão legítima pela qual essas contas seriam escritas como você vê: Regra STIG SV-53421r2_rule . Esses controles são específicos da versão do SQL Server, mas há vários outros controles nas versões mais recentes. Se você trabalha para uma organização que se enquadra nesses controles e também adere a alguns dos mais rigorosos, como revogar os Grants padrão atribuídos à função pública, as coisas podem se complicar rapidamente.
Como tenho alguma experiência em um ambiente que se enquadra nesses controles, posso dizer que você pode desabilitar / descartar as contas
NT SERVICE\SQLWriter
eNT SERVICE\Winmgmt
imediatamente, mas é necessário garantir que o serviço do SQL Server esteja sendo executado em uma conta de serviço apropriada com nível de SO suficiente permissões, como uma Conta de Serviço de Domínio suficientemente bloqueada ou, melhor ainda, Contas de Serviço Gerenciado independentes ou de grupo . Novamente, as permissões do sistema operacional precisam ser tratadas com cuidado, pois isso se arrisca no território da casa de cartas se você não executar testes suficientes.Quanto à
NT AUTHORITY\SYSTEM
conta, essa NÃO é uma conta que você deseja descartar se estiver executando um grupo de disponibilidade. De fato, o STIG SV-93835r1_rule menciona que você deve mantê-lo apenas comCONNECT SQL
permissões concedidas por padrão. Caso você tenha um grupo de disponibilidade, essa conta também precisará ter as seguintes permissões adicionais:Essas restrições podem ser uma dor real, mas há razões legítimas pelas quais você precisaria limitar seus conjuntos de uso e permissão. Se você não se enquadra nessas diretrizes, faça o favor e comente essas etapas.
Espero que ajude!
fonte