Como gerenciar a autenticação com vários VPS e GoogleApps?

3

Eu tenho um monte de VPSs e de vez em quando eu tenho que criar outro. Atualmente eu uso AWS, Rackspace e DigitalOcean como meus provedores IAAS. A maioria deles é baseada no Ubuntu. Além disso, tenho usuários gerenciados pelo Google Apps.

Para cada um dos VPS criados, preciso gerenciar um usuário root e normal, e vários usuários devem ter acesso à credencial de usuário normal. Se um usuário está bloqueado (ou seja, foi demitido ..) ele obviamente não deveria mais ter acesso ao VPS. Outro recurso obrigatório é permitir / bloquear permissões por grupo de usuários. O grupo de usuários seria gerenciado pelo Google Apps e os VPS apontariam apenas para a API de autenticação do Google Apps ou equivalente.

Eu quero saber se existe uma maneira de autenticar usuários em vários VPSs usando o Google Credentials. Dessa forma, um usuário deve fazer o ssh john.doe @ para acessar o VPS, onde john.doe é uma credencial válida gerenciada pelo Google Apps.

Se não houver, qual é a abordagem recomendada para o meu problema?

    
por gfernandes 07.03.2014 / 22:53

2 respostas

1

Existe um módulo google_pam no github que foi escrito para alcançar o que você deseja.

This package implements a PAM module to authenticate users against a Google domain. The following features are provided:

Select any Google domain. Allow only users from a certain group. A script to install all Google users as system users. Password caching using files or memcached. Advanced logging setup.

Como configurar o Google PAM no Ubuntu 12.04 LTS usando um PPA

edite 1 resposta ao @gfernandes segundo comentário abaixo.

Eu verifiquei o código-fonte e ele apenas levanta o usuário-administrador / senha diretamente do arquivo de configuração em 2 locais, ao verificar os grupos e depois verificar a senha.

        service = self.GroupsService(
            domain=self.config.get(SECTION_NAME, 'domain'),
            email=self._get_email(
                self.config.get(SECTION_NAME, 'admin-username')),
            password=self.config.get(SECTION_NAME, 'admin-password')
            )

Não tenho tempo para investigar mais agora, mas gostaria de tentar um segundo administrador restrito, que poderia ser descartado e / ou com uma senha específica do aplicativo na verificação em duas etapas. Eu mesmo tive pensamentos semelhantes.

    
por 08.03.2014 / 10:55
0

Na mesma linha da resposta do @XTian, há também esse PAM chamado google-authenticator . As instruções de configuração também estão disponíveis no wiki do projeto.

Após a criação, basta adicionar essa linha à sua configuração do PAM:

auth required pam_google_authenticator.so

Eu também encontrei este interessante PAM chamado pam-face-authentication , que usava reconhecimento de imagem para permitir logins baseados na face do usuário.

    
por 08.03.2014 / 16:50

Tags