sexta-feira, 2 de outubro de 2015

Gerenciando Senhas com o TeamPass

Introdução

O TeamPasss é um gerenciador corporativo e colaborativo de senhas e informações sensíveis. Ele foi especialmente desenvolvido para gerenciar, armazenar, prover senhas e oferecer meios de acesso a informação sensível de forma controlada, centralizada e dinâmica.
Eu descobri esse cara garimpando no blog do meu amigo Guto Carvalho, leiam o post dele antes de prosseguir ;-)

Ponto de partida

Eu parto do princípio que você já possui um Servidor CentOS 7 Básico.

Pré-Requisitos

Antes de começarmos a instalação precisamos suprir alguns pré-requisitos, depois será Next, Next, Finish.

Banco de Dados

A primeira coisa que precisamos fazer é criar a base de dados, que posteriormente será populada durante a instalação. Essa base pode ser local ou remota, a decisão é sua.

No exemplo abaixo vamos criar uma base de dados chamada teampass_db e um usuario chamado teampass com senha TeAmPaSs.
mysql> CREATE DATABASE teampass_db CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql> GRANT ALL PRIVILEGES ON teampass_db.* TO teampass@localhost IDENTIFIED BY '
TeAmPaSs';

mysql> flush privileges;

Dependências de pacotes

Essa versão precisa do PHP 5.5, apesar de exibir que o pré-requisito é o PHP 5.3 ou superior, eu não consegui fazer funcionar com o PHP 5.4. 
# yum -y install php55-php php55-php-mcrypt php55-php-ldap php55-php-common unzip php55-php-mbstring php55-php-bcmath php55-php-xml

Ajustes no PHP

# cd /etc
# ln -s /opt/remi/php55/root/etc/php.ini php.ini 

# vi /etc/php.ini
date.timezone = America/Sao_Paulo
max_execution_time = 60


# systemctl restart httpd

Dado tipo Sal

É preciso criar um diretório que é dependência da instalação, esse diretório irá armazenar um dado do tipo Sal (Salt) que será utilizado juntamente com a senha.
# cd /var/www/
# mkdir saltkey
# chown -R apache:apache saltkey

Download dos arquivos

Precisamos realizar o download dos arquivos e copiar os arquivos php para o diretório web.
# mkdir /install
# cd /install
# wget https://github.com/nilsteampassnet/TeamPass/archive/master.zip
# unzip master
# cd /var/www/html/
# mv /install/TeamPass-master/ teampass
# chown -R apache:apache teampass

Instalaçao

basta acessar o endereço do seu servidor:
http://ip_servidor/teampass/install/install.php


Na tela inicial clique em NEXT
Clique em LAUNCH, para que a instalação cheque os pré-requisitos
Os pré-requisitos estando OK, o botão NEXT é liberado, pode pressioná-lo
Preencha as informações de conexão com a base de dados e pressione o botão LAUNCH para que a conexão seja testada
Após a conexão ser estabelecida com sucesso o botão NEXT é liberado, basta pressioná-lo
Nessa tela temos que observar vários detalhes:
  • Gerar o arquivo salt e informar o caminho onde o mesmo será armazenado;
  • Configurar a seção de SMTP (Opcional);
  • Inserir a senha do Administrador;
Por último clique no no botão LAUNCH para que os dados sejam checados.
 Após a validação das informações clique no botão NEXT
A base de dados é populada, clique em NEXT
Ajustes finais são realizados, clique em NEXT
A própria instalação já remove o diretório de instalação, clique em NEXT
Apenas um resumo informando que a instalação está concluída e que o usuário de login é admin, clique em Start
Faça o login com o usuário admin e a senha que foi cadastrada e, observe que o modo de manutenção está habilitado.

Configurações

Configurações Iniciais

Clique em Settings para alterarmos as configurações iniciais
Na aba TeamPass Settings vamos remover o modo de manutenção, alterar as opções de timezone e o idioma. Após realizar as alterações clique em Save

Integração com Active Directory

Esse passo é opcional,  mas se você tem um AD na rede, é uma boa pedida configurar a autenticação por ele, ao invés de ter que decorar mais uma senha. Apenas a autenticação será feita pelo AD, você precisa criar o usuário no TeamPass de qualquer forma, afinal de contas não queremos qualquer usuário do AD autenticando no TeamPass. Além do AD ele suporta também Posix / OpenLDAP (RFC2307).

Clique na aba Opções LDAP, marque a opção Sim em "Ativa autenticação LDAP para os usuários", selecione o "LDAP server type" como Windows / Active Directory e clique em Salvar
Clique novamente na aba Opções LDAP e preencha as opções da seção Configuração LDAP e clique em Salvar

Liberar acesso à aplicação apenas de determinados endereços IPs

Se você quiser incrementar a segurança um pouco mais, e aconselho a fazer, você pode liberar o acesso para o site apenas para as máquinas do setor de informática. Para isso edite o arquivo de configuração do apache:
# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/teampass">
   Order deny,allow
   Deny from all
   Allow from 192.168.100.15/255.255.255.0
   Allow from 192.168.100.16/255.255.255.0
   Allow from 192.168.100.17/255.255.255.0
</Directory>


Após isso reinicie o apache
# systemctl restart httpd

Gerenciamento de Usuários

O TeamPass possui 3 tipos de usuários:
  • Admin (Administrador): Esse tipo de usuário consegue criar e gerenciar outros usuários, criar e gerenciar regras, associar usuários a regras e, administar configurações internas do TeamPass, porém ele não consegue ver as pastas, consequentemente ele não conseguirá criar e gerenciar senhas em tais pastas.
  • Manager (Gerenciador): Esse tipo de usuário conseguirá administrar uma ou mais regras - e suas pastas - e os usuários associados a esta regra, ele também conseguirá criar e gerenciar senhas dentro das pastas pertencentes as regras que ele estiver associado. O manager até consegue criar pastas em suas regras, mas será preciso o Admin para liberar o uso da pasta naquela regra. Ele também consegue criar usuários de nível inferior ao dele.
  • Read Only (Somente Leitura): Este tipo de usuário só consegue utilizar as pastas associadas à regra que ele faz parte, ele não cria pastas, e nem pode criar, modificar e apagar senhas dentro das pastas que tem acesso.

Referencias

Infraestrutura Ágil
Teampass and authentication Ldap/Active directory

2 comentários:

monicunha disse...

Possuo perfil Manager. Cadastrei vários usuarios porém 2 deles sumiram de minha visão. Quando tento cadastrar novamente informa que usuário já cadastrado. Como alterar ou achar um usuário que sumiu?

Robson Carvalho disse...

Olá, vocês conseguiram configurar o acesso via LDAP Active Directory?
Estou com dificuldades de configurar meu servidor. Segui o modelo acima, porém não tive êxito. Existe alguma outra necessidade além da mencionada? Agradeço antecipadamente!