Caso de uso típico para una contraseña de grupo


35

Revisé más de medio siglo de experiencia en Unix y ni mis colegas ni yo hemos establecido una contraseña en un grupo ( sgy gpasswd). ¿Cuál sería un caso de uso típico para una contraseña de grupo o es solo por razones históricas?


44
Tal vez debería enviarle un correo electrónico a Ken , pidiéndole su consideración durante la fase de diseño; o)
jippie

Respuestas:


26

Yo tampoco he visto nunca esta función, ni siquiera una vez. La mayoría de las SA ni siquiera saben que existe esta instalación. Al mirar la página del manual, gpasswdhabía esta nota:

Notas sobre contraseñas grupales

  Group passwords are an inherent security problem since more than one 
  person is permitted to know the password. However, groups are a useful 
  tool for permitting co-operation between different users.

Por qué existen

Creo que fue una idea natural al imitar el modelo de usuario que tiene contraseñas, que tenía sentido duplicar ese modelo de caso de uso a grupos también. Pero en la práctica realmente no son tan útiles para nada.

La idea con una contraseña de grupo es que si necesita obtener acceso a un grupo en particular (uno del que no figuraba como miembro), podría hacerlo usando el newgrpcomando y recibir una contraseña para obtener acceso. a estos grupos alternativos.

El gran problema con ellos es que solo hay una contraseña única para cada grupo, lo que obliga a las personas a compartir esta contraseña única, cuando varias personas requieren acceso a este grupo en particular.

Grupos

La mayoría de los entornos con los que me he encontrado generalmente han colocado a las personas en grupos secundarios, y luego les han dado acceso a estos archivos en el sistema de archivos, y esto ha satisfecho prácticamente todo el uso que debe ocurrir.

sudo

Con el advenimiento de los sudopermisos adicionales se podrían entregar a los grupos según sea necesario, lo que socava aún más los casos de uso que las contraseñas de grupo pueden haber proporcionado. Si necesitaba permitir a los usuarios más permisos, era mucho más fácil crear roles sudoy luego solo permitir el nombre de usuario o grupo en el que estaban, permisos para elevar los permisos para que puedan realizar una tarea en particular.

ACL

Finalmente, la capacidad de crear listas de control de acceso (ACL) realmente dio la última flexibilidad que el modelo de permisos de usuario / grupo / otro no podía proporcionar solo, relegando cualquier posible necesidad de contraseñas de grupo a la oscuridad.


Ya mencionas sudoy ACL. Supongo que udevviene con una historia similar, por supuesto, con un enfoque en los dispositivos. LecturA INTERESANTE.
jippie 01 de

11

Este es un uso práctico para las contraseñas grupales, que implementé para mí mismo en nuestro servidor de trabajo, ya que los registros indicaban que mi cuenta estaba siendo forzada (o podría haber sido un ataque de diccionario).
Utilicé ssh-keygeny puttygenrespetuosamente para generar pares de claves para usar desde mi estación de trabajo y la computadora de mi casa. La clave que uso desde casa requiere una contraseña. Agregué las dos claves públicas al .ssh/authorized_keys, creé un grupo marionettecon una contraseña y sin miembros. Como root solía visudoagregar las siguientes líneas.

Cmnd_Alias      SUDOING = /bin/bash, /usr/bin/sudo -i
%marionette     ALL=NOPASSWD:SUDOING

He inhabilitado la contraseña de mi cuenta, que nadie puede acceder a él de esa manera. Ahora conectar sólo con las llaves y entrar en el grupo protegido por contraseña con la newgrp marionetteque me permite convertirse en root usando sudo -i.
Sin la NOPASSWD:opción que requerirá su cuenta de usuario contraseña. Si está desactivada y este grupo no tiene NOPASSWD, usted no será capaz de sudo -i. También será necesario que su cuenta de usuario contraseña si su lista de comandos no tiene /bin/basho lo que sea la raíz de su cáscara se usa por defecto.

Si bien esto hace que el camino a sudoing unos pasos más, se añade un buen nivel de seguridad. Si decide hacer todas sus cuentas de este tipo, cree una cuenta local con una contraseña y sudo privilegios, pero negar la entrada de ssh /etc/ssh/sshd_configañadiendo algo como:

DenyUsers root caan
DenyGroups root daleks

Esto es necesario para el acceso local en caso de que vuelva a instalar y se olvidó de copia de seguridad de sus claves de acceso.


podría hacerlo mucho mejor sin sudousar el newgrpcomando POSIX . Aún así, excelente respuesta.
mikeserv

No es exactamente una respuesta a la pregunta, pero es una excelente propuesta para el uso y la combinación de "antiguo" ( newgrp) y "nuevo" ( sudo) con un claro valor agregado. Esto merece algunas felicitaciones.
Dirk

1

Nunca he visto un caso de uso para esa contraseña, también. Y eso son unos 20 años de experiencia * nix.

El único caso de uso que me viene a la mente es configurarlo en "!" - bloqueado, por lo que nadie, que no sea miembro de ese grupo, puede cambiarlo con el newgrpcomando.

Si busco en / etc / group en SLES o / etc / gshadow en sistemas basados ​​en RedHat, este parece ser el caso de uso "típico". SLES ni siquiera se molestó en crear un mecanismo de sombra para esa contraseña.


No estoy seguro de lo que quieres decir. P.ej. Ya no puedo newgrp ntp, ¿cómo !cambia eso el bloqueo?
jippie 01 de

@jippie: ¿cuál es el campo de contraseña para ntp en su sistema? Si fuera fácil adivinar la contraseña, podría hacer newgrp ntp. Con ! usted no puede
Nils

Eso es solo un ejemplo, tiene una 'x' y no hay miembros del grupo que no sean el usuario ntp. Simplemente no entiendo qué problema está resolviendo configurando el campo de contraseña en!
jippie

2
De man newgrp: se le negará el acceso al usuario si la contraseña del grupo está vacía y el usuario no figura como miembro.
user2387

0

Déjame sugerirte un caso de uso.

Primero permítanme decir que estamos tan acostumbrados al término "usuario" que ni siquiera pensamos en ello. Pero "usuario" no es realmente un usuario . Por ejemplo, en casa tenemos tres computadoras: la computadora portátil de mi esposa, mi computadora portátil y una computadora de escritorio común. Cuando uso el portátil de mi esposa, inicio sesión con su cuenta de usuario. Cuando usa mi computadora portátil, inicia sesión con mi cuenta de usuario. Si alguien necesita el escritorio, él o ella usa la única cuenta común. Vemos aquí que lo que el sistema informático llama "usuario" no es realmente un usuario sino un flujo de trabajo , un conjunto de actividades.

Aquí está la pregunta: ¿Por qué no puedo tener más de una actividad, una para cada trabajo diferente que tengo? Yo puedo. En mi computadora de trabajo he creado (experimentalmente) muchos usuarios diferentes para poder concentrarme en la tarea actual. Puse a todos estos usuarios en el mismo grupo para poder acceder a mis archivos sin importar qué usuario estoy usando actualmente.

Entonces, ¿dónde encaja el gpasswd en esto?

El comportamiento predeterminado de Ubuntu es crear un grupo especial para cada usuario.

¿Qué sucede si decidimos pensar en estos grupos primarios como usuarios y pensar en los usuarios del sistema como flujos de trabajo ?

Que estos nuevos usuarios necesitarían una contraseña para iniciar sesión, ¿verdad? Aquí está el lugar de gpasswd. Todavía necesito descubrir cómo iniciar sesión con el grupo (hasta ahora, lo que sé es que puedes cambiar de grupo con gpasswd si ya has iniciado sesión).


Sin embargo, la contraseña del grupo es el punto central de esta pregunta, que no ha abordado.
Jeff Schaller

Desde el punto de vista de seguridad y responsabilidad, que es muy común en TI, el uso de la cuenta de usuario de otra persona es inaceptable. Aunque puede funcionar para la situación de su hogar, es una mala práctica para entornos corporativos.
jippie
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.