Então, recentemente, movi trabalhos - um pedaço de código que encontrei em nossos scripts de compilaçã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.
A eliminação dos logins acima é recomendada? Existem efeitos colaterais que isso pode causar? Para que servem esses logins?
Eu li Posso excluir logins NT SERVICE\SQLWriter e NT SERVICE\Winmgmt? mas não é concreto o suficiente - posso ver para que eles são necessários, mas muito pouco mais. Eles precisam de acesso sysadmin? etc.
Como exemplo (retirado de Configure Windows Service Accounts and Permissions ):
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 ser deixado com esses privilégios "altos"?
Antes de votar negativamente, aqui está a documentação formal que você pode consultar por um motivo legítimo pelo qual essas contas seriam roteirizadas como você vê: Regra STIG SV-53421r2_rule . Esses controles são específicos da versão do SQL Server, mas também 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 concessões padrão concedidas à função pública, as coisas podem ficar complicadas rapidamente.
Como tenho alguma experiência em um ambiente que se enquadra nesses controles, posso dizer que você pode desabilitar/desativar as contas
NT SERVICE\SQLWriter
eNT SERVICE\Winmgmt
imediatamente, mas você precisa ter certeza de que seu SQL Server Service está 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 gerenciadas autônomas ou de grupo . Novamente, as permissões do sistema operacional precisam ser tratadas com cuidado, pois isso se aventura no território da casa de cartas se você não realizar testes suficientes.Quanto à
NT AUTHORITY\SYSTEM
conta, esta NÃO é uma conta que você deseja descartar se estiver executando algum Grupo de Disponibilidade. Na verdade, STIG SV-93835r1_rule menciona que você deve mantê-lo apenas comCONNECT SQL
as 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 existem razões legítimas pelas quais você precisaria limitar seu uso e conjuntos de permissões. Se você não se enquadra nessas diretrizes, faça um favor a si mesmo e comente essas etapas.
Espero que ajude!