Descarte de las cuentas NT AUTHORITY y NT SERVICE creadas automáticamente

8

Así que recientemente moví trabajos: a continuación se muestra un fragmento de código que vi en nuestros scripts de compilación para nuevas instalaciones de SQL Server.

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

Estas cuentas se crean durante el proceso de instalación de SQL Server de forma predeterminada.

¿Se recomiendan dejar caer los inicios de sesión anteriores? ¿Hay algún efecto secundario que esto pueda causar? ¿Para qué se utilizan estos inicios de sesión?

Leí ¿Puedo eliminar los inicios de sesión de NT SERVICE \ SQLWriter y NT SERVICE \ Winmgmt? pero no es lo suficientemente concreto: puedo ver para qué se necesitan pero muy poco más. ¿Necesitan acceso de administrador de sistemas? etc.

Como ejemplo (tomado de Configurar cuentas de servicio y permisos de Windows ):

Sistema local es una cuenta integrada con privilegios muy altos. Tiene amplios privilegios en el sistema local y actúa como la computadora en la red. El nombre real de la cuenta es NT AUTHORITY\SYSTEM.

¿Cómo debo leer esto? ¿Debería dejarse con estos privilegios "altos"?

George.Palacios
fuente
Ver esta pregunta relacionada anterior . Personalmente, siento que esto es algo que debe hacerse solo si (a) hay algún beneficio tangible al hacerlo y (b) hay pruebas de que los efectos secundarios no lo afectarán.
Aaron Bertrand

Respuestas:

2

Antes de votar en contra, esta es la documentación formal a la que puede hacer referencia por una razón legítima por la cual estas cuentas se incluirían en la secuencia de comandos como se ve: Regla STIG SV-53421r2_rule . Estos controles son específicos de la versión de SQL Server, pero también hay otros controles en las versiones más recientes. Si trabaja para una organización que se encuentra bajo estos controles y también se adhiere a algunos de los más estrictos, como revocar las subvenciones predeterminadas otorgadas al rol público, las cosas pueden complicarse con bastante rapidez.

Como tengo algo de experiencia en un entorno que se encuentra dentro de estos controles, puedo decir que puede deshabilitar / descartar tanto las cuentas NT SERVICE\SQLWritercomo las NT SERVICE\Winmgmtcuentas, pero debe asegurarse de que su Servicio SQL Server se ejecute bajo una cuenta de servicio adecuada con suficiente nivel de sistema operativo permisos, como una cuenta de servicio de dominio suficientemente bloqueada, o incluso mejor, cuentas de servicio administradas independientes o grupales . Una vez más, los permisos del sistema operativo deben tratarse con cuidado ya que esto se aventura en el territorio de la casa de naipes si no realiza suficientes pruebas.

En cuanto a la NT AUTHORITY\SYSTEMcuenta, esta NO es una cuenta que desee eliminar si va a ejecutar Grupos de disponibilidad. De hecho, STIG SV-93835r1_rule menciona que debe mantenerlo solo con los CONNECT SQLpermisos otorgados por defecto. En el caso de que tenga un grupo de Disponibilidad, esta cuenta también deberá tener los siguientes permisos adicionales:

  • ALTERAR CUALQUIER GRUPO DE DISPONIBILIDAD
  • VER ESTADO DEL SERVIDOR
  • EJECUTAR EN [sys]. [Sp_server_diagnostics]
  • EJECUTAR EN [sys]. [Sp_availability_group_command_internal]

Estas restricciones pueden ser un problema real, pero hay razones legítimas por las que necesitaría limitar su uso y conjuntos de permisos. Si no cumple con estas pautas, hágase el favor y comente esos pasos.

¡Espero que ayude!

John Eisbrener
fuente