[Mageia-sysadm] Saving and sharing passwords in mageia teams

nicolas vigier boklm at mars-attacks.org
Sat Feb 19 02:26:54 CET 2011


On Sat, 19 Feb 2011, Buchan Milne wrote:

> On Friday, 18 February 2011 23:45:02 nicolas vigier wrote:
> > Hello,
> > 
> > We often need to register some accounts on various websites for the
> > Mageia project (domain name registration, twitter, identica, etc ...).
> > And we need to be able to share the account informations (login and
> > password) with other people inside teams. So we need something like a
> > password database, with permissions to restrict access to only some
> > people or groups of people. We can store this database on Mageia servers,
> > but I think it should be encrypted, so that root access on the server
> > does not give access to the passwords.
> 
> This is not an uncommon requirement, in my work environment we need to be able 
> to share the local root passwords (e.g. in case a system administrator needs 
> to be able to restore something that prevents user logins from working).
> 
> However, in work environments, access to privileged passwords may need to be 
> auditable.

This tool could probably be used also outside Mageia.

> 
> > I have looked at existing tools, but didn't find one that would allow
> > us to do this easily. So I'm thinking about writting some scripts to do
> > it. It would work like this :
> > 
> >  - all users first need to upload their gnupg public key in ldap
> 
> I was already considering the requirement for GPG public keys in LDAP for 
> 'privileged user password recovery'. E.g., use the same process as 
> unprivileged users, but encrypt the key sent to the user with their gpg public 
> key (providing a second level of authentication - if we consider access to the 
> mailbox one level).

Good idea !

> I believe there may also an LDAP-based keyserver, which could provide even 
> more re-use.

A keyserver using LDAP would be nice. If not too difficult to setup.

> 
> >  - we have a command to create a password on the server, with a list
> >    of groups/users who can access this password :
> >     $ mgapassword create passwdname %group1 %group2 user1 user2 ...
> 
> Should we leverage existing (e.g. LDAP) groups?

Yes, I think we should use ldap groups.

> >  - a command to save the value of a password :
> >     $ mgapassword set passwdname < value
> >       or
> >     $ mgapassword edit passwdname
> >  - an other command to retrieve a password :
> >     $ mgapassword get passwdname
> >  - a command to list the passwords you can access :
> >     $ mgapassword list
> > 
> > All commands connect to the server using ssh and the ldap account. When
> > saving a password, the client ask to the server the list of gpg keys of
> > all users who should have access to the password, then encrypt the
> > password with all keys and send it encrypted to the server.
> 
> Where are the passwords stored?

Stored on the server in encrypted files. Maybe in a database.

> > The command to retrieve a password connect to the server, then the server
> > sends the password encrypted for the key of the user, which is decrypted
> > locally using the private gpg key of the user.
> > 
> > When new users are added into a group, they cannot access passwords
> > immediatly (as it is not encrypted for their keys), so someone needs to
> > retrieve and save the passwords, to encrypt them for the new users.
> 
> This general approach was what I was considering for our work environment.
> 
> > So, what do you think about this ? Or maybe someone knows existing tools
> > that can do this ?
> 
> I have not seen any I liked.
> 
> Our work environment has a basic inventory database (the primary use was to 
> generate kickstart files), the web front end is in ... Catalyst (and possibly 
> try and implement a more complete CMDB). My plan was to integrate the CatDap 
> features into this (using CatalystX::Features maybe). Adding a shared password 
> module that could be tied into CatDap and our work webapp would also be 
> interesting to me.
> 
> But, for now, a command-line tool would be adequate.
> 
> I will look at the LDAP side (schema, ACLs, suoport for adding GPG public key 
> from CatDap) over the weekend.

Thanks.



More information about the Mageia-sysadm mailing list