¿Cómo administro Windows como Linux / Unix: derechos administrativos por membresía de grupo sin accidentes y sin compartir la contraseña de administrador?

8

Estoy haciendo algunos cambios fundamentales en un entorno Windows Server 2003/2008. En el lado de Unix, mis restricciones de seguridad son simples:

  1. Los usuarios que deberían tener derechos de administrador están en un grupo especial ("rueda" o similar).
  2. Cuando esos usuarios inician sesión en esas máquinas, todavía no tienen derechos de administrador, hasta que ejecutan explícitamente un comando con esos derechos de administrador ("comando sudo" o "su").
  3. Incluso cuando ejecutan el comando con "su" (algo así como "runas"), aún necesitan ingresar una contraseña: la suya.

En este sistema, puedo controlar quién tiene privilegios de administrador (por membresía de grupo), evitar que ejecuten accidentalmente algo con privilegios de administrador por accidente (al requerir "su" o "sudo"), y nunca revelar un "Administrador" principal (es decir "root"), ya que se les pide la suya.

¿Cómo hago el equivalente en Windows Server? Las opciones tal como las veo son:

  1. Agregue usuarios a la cuenta de administradores locales: Pero todo lo que hacen es como administrador, con riesgo de error.
  2. Exíjalos que hagan "administrador de runas": Pero luego deben conocer la contraseña de administrador, que no quiero compartir.

¿Hay alguna solución en la que pueda simultáneamente: controlar quién tiene acceso por membresía de grupo; evite que accidentalmente hagan cosas dañinas al requerir una contraseña separada; ¿les impide saber la contraseña de administrador?

deitch
fuente

Respuestas:

8

En primer lugar, solo los administradores deben tener acceso de administrador, por lo que, a menos que haya una ENORME (no puedo pensar en una buena) razón por la que lo necesitan, entonces debe dejarse en manos de los administradores; Hay raras ocasiones en que un usuario normal obtiene privilegios de administrador, e incluso entonces, por lo general, soy escéptico sobre por qué lo necesitan.

En segundo lugar, puede lograr lo que quiere hacer utilizando la Membresía de grupo en Windows. No dijo que estaba usando Active Directory, así que no estoy seguro si tiene un dominio y lo está haciendo, pero puede crear Grupos de seguridad y agregarles cuentas de usuario individuales. Mira aquí. No agregaría usuarios al grupo de administradores locales en el servidor individualmente, ya que esto se volverá complicado y será difícil hacer un seguimiento en el futuro, y le generará mucho dolor de cabeza y posibles problemas de seguridad. Lo que haría, como se mencionó anteriormente, es crear un Grupo de seguridad y agregar los miembros a los que desea tener acceso de administrador a este grupo. Crearía dos cuentas de usuario para sus usuarios; uno para inicio de sesión regular y luego una segunda cuenta que solo se usó para acciones elevadas. Agregaría la cuenta "superior / privilegiada" de los usuarios al Grupo de seguridad, luego, puede colocar este grupo en una membresía de grupo local elevada en el servidor real, por ejemplo, Usuarios avanzados. Esto les permitirá realizar muchas funciones sin ser administradores.

En cuanto a Ejecutar como administrador, no tiene que hacer eso todo el tiempo. La mejor manera de hacer que las personas ejecuten las cosas sin conocer la contraseña del administrador, o de cualquier administrador, es usar Shift + clic derecho y luego seleccionar Ejecutar como usuario diferente, o hacer clic derecho y ejecutar como administrador. Primero querrá crear un usuario separado para ellos que tenga derechos más altos o derechos elevados como se mencionó anteriormente (este usuario elevado se agregaría nuevamente al Grupo de Seguridad como se mencionó anteriormente), ya que este usuario podría usarse para ejecutar cosas que requieren elevación todo el tiempo mientras está conectado con una cuenta de usuario normal / estándar. Ver mi captura de pantalla:

ingrese la descripción de la imagen aquí

Eso debería encargarse de lo que quieres hacer en cuanto a ejecutar cosas como administrador. Una nota final que podría agregar es mantener UAC encendido. Si hace esto, los usuarios deberán escribir su contraseña (elevada) y no una contraseña de administrador para las cosas que hacen en el servidor. Es complicado cuando tienes que escribirlo mucho, pero por seguridad vale la pena.

Brad Bouchard
fuente
esto es exactamente lo que sugirieron los otros 2. Tiene razón, estamos ejecutando AD, y los agregaremos a un grupo de administración de servidores, que tendrá privilegios de administrador local.
deitch
RE:, Run as Administratorcualquier credencial administrativa servirá. Si la cuenta en la que inició sesión no tiene credenciales administrativas, se le solicitará un nombre de usuario y una contraseña, y puede ingresar una cuenta administrativa allí. Tu publicación realmente no deja esto claro.
HopelessN00b
Y en este caso, estoy hablando de administradores de sistemas. Una buena práctica de seguridad es que los administradores de sistemas no tengan una contraseña de cuenta de producción / sistema, solo que ejecuten cosas como su propia cuenta. Quiero extender esto a los administradores de sistemas.
deitch
1
@deitch Sí, esto es exactamente lo que hacemos en $ [dayjob]. Todos los empleados de TI tenemos cuentas de usuario normales y cuentas administrativas. Inicie sesión en todo como usuarios limitados y ejecute la Run as Administratoropción para cualquier cosa que necesite elevación. los usuarios de administración local no se usan a menos que tengan que serlo (confianza de dominio rota, etc.)
HopelessN00b
2
@ HopelessN00bGeniusofnetwork, por lo que RunAsAdministrator no significa "Ejecutar como cuenta de administrador", significa "Ejecutar como cualquier cuenta que tenga privilegios de administrador, siempre que pueda proporcionar credenciales para dicha cuenta".
deitch
5

Deje su cuenta estándar como 'estándar'. Créelos una segunda cuenta privilegiada y agréguela a los diversos grupos administrativos. Use 'runas' con la cuenta privilegiada. (Puede que le resulte útil deshabilitar los inicios de sesión interactivos con la cuenta de administrador, pero de nuevo, esto probablemente se volverá molesto).

Sobrique
fuente
1
Lo entiendo. Entonces tienes 2 cuentas: Sobrique y SobriqueA. SobriqueA no puede iniciar sesión en ningún sistema en una consola / control remoto, solo puede hacer runas. SobriqueA es miembro de un grupo con privilegios de administrador. El usuario inicia sesión como Sobrique, luego ejecuta "runas SobriqueA", que requiere la contraseña de SobriqueA, y todos estos comandos se ejecutan con privilegios de administrador completos. Es un poco complicado, pero podría ser peor.
deitch
2
Eso es correcto.
Brad Bouchard
1
+1 para abordar deshabilitar inicios de sesión interactivos. De lo contrario, los usuarios simplemente iniciarían sesión con las credenciales de administrador y estarían sujetos a la preocupación de OP por cada acción como administrador.
Byron C.
4

En Server 2003, necesitaría usar la Run As...opción para ejecutar como una cuenta con privilegios administrativos.

Con Server 2008+, utiliza UAC y / o la Run as Administratoropción que sugirió. Esto no requiere conocer la contraseña de la cuenta administrativa [local]; cualquier credencial administrativa servirá.

Por lo tanto, agregaría sus cuentas a los grupos administrativos locales, o mejor, desde un punto de vista de seguridad, crearía cuentas administrativas separadas y las agregaría a los grupos administrativos locales. Luego, cuando necesiten ejecutar algo con privilegios administrativos, UAC solicitará credenciales administrativas y / o usarán la opción Run As.../ Run as Administrator.

HopelessN00b
fuente
Esto es muy similar a la respuesta de @sobrique. ¿Entonces Win piensa que las cuentas tienen privilegios de administrador o no? ¿Y no tiene el concepto de "esta cuenta tiene el derecho de ejecutar cosas como administrador si explícitamente pregunta y vuelve a autenticar"?
deitch
1
Básicamente no. Windows tiene muchos derechos de seguridad, por lo general, esos derechos se otorgan a un grupo (porque cada usuario es desagradable). La pertenencia al grupo confiere los derechos. La práctica común es simplemente iniciar sesión con una cuenta de administrador, porque es fácil, pero eso no significa que sea correcto. Tenemos cuentas de usuario locales y cuentas de administrador de dominio que utilizamos para iniciar sesión en los servidores de administración (que han instalado una variedad de herramientas de administración de Windows).
Sobrique
Usted podría violín con 'secpol.msc' y configurar un perfil de derechos personalizados - autorizará el acceso a un grupo "no exactamente Administradores y añada el usuario básico cuentas para eso. Pero de todas formas probablemente tropezarás con la necesidad de una cuenta de administrador 'adecuada'.
Sobrique
1
@deitch Bueno, eso es esencialmente lo que UAC es / permite. Le permite ejecutar como cuenta administrativa, pero se le solicitará cualquier cosa que requiera "elevación". (Autenticación de token dividido). Técnicamente, no se trata de que Windows cree una dicotomía "Administrador o no administrador", sino que ejecutar algo como administrador es una característica tan común que se le da una opción de menú específica. En la mayoría de los casos, esta opción no es estrictamente necesaria (siempre puede ejecutarse como otro usuario, que resulta ser un administrador), pero es más conveniente tener esa opción de menú allí.
HopelessN00b
1
Bueno, John aún necesitará conocer las credenciales para que una cuenta administrativa ejecute algo como administrador, simplemente no tiene que ser la cuenta de administrador.
HopelessN00b