Skip to content

#ToolTip - Teampass

TeamPass é um Gerenciador de Senhas opensource ideal para empresas e grupos de equipes, que possuam uma grande quantidade de senhas/acessos e necessitam de uma forma segura para colaboração de forma centralizada. Também é possível um gerenciamento granular baseado em niveis de permissão diferenciados a grupos de usuários. Para o pessoal mais antigo pode-se dizer que a ferramenta se assemelha a um “keepass web”, por causa da sua aparência:

Segue um How-To de como instalar e configurar o TeamPass num ambiente empresarial.

Passo1: Instalação da VM

Foi instalado usando CentOS7, funciona em outras versões, mas neste lab utilizei essa.

Para aumentar o nível de segurança deste serviço, foi utilizado o LUKS que é a ferramenta padrão de encriptação de disco utilizado pela RedHat. Ele é utilizado para encriptar discos virtuais ou físicos, lógicos ou não, através de uma senha informada na instalação do SO(pode ser habilitado após SO instalado). Quando o LUKS é habilitado, se faz necessário inserir essa senha a cada boot da máquina. Sem esta senha é impossível a máquina se inicie.

Passo2: Instalação dos pré-requisitos

  • MySQL 5.1 or higher,
  • PHP 5.5.0 or higher,
  • PHP extensions:
  • mcrypt
  • openssl
  • ldap (if used)
  • mbstring
  • bcmath
  • iconv
  • xml
  • gd
  • openssl
  • curl

Comandos

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server mysql-client
yum install php php-mcrypt php-openssl php-ldap php-mbstring php-bcmath php-iconv php-xml php-gd php-openssl php-curl php-fpm php-mysqli

Alterar o max_exectution_time do php:

cat /etc/php.ini
cat /etc/php.ini| grep max_execution_time
max_execution_time = 120
Criar Database conforme indicado

systemctl start mysqld
systemctl enable mysqld
mysql_secure_installation
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

mysql -u root -p
******  
MariaDB [(none)]> create database teampassdb character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on teampassdb.* to 'teamuser'@'localhost' identified by '********';
MariaDB [(none)]> flush privileges;

Passo3: Instalação

Download do aplicativo e configuração de permissão e pastas.

[root@teampass ~]#
cd /var/www/html
[root@teampass html]# wget https://github.com/nilsteampassnet/TeamPass/archive/2.1.27.16.zip
[root@teampass html]# unzip 2.1.27.16.zip
[root@teampass html]# mv 2.1.27.16 teampass
[root@teampass html]#
[root@teampass html]# chmod -R 0777 teampass/includes/config
[root@teampass html]# chmod -R 0777 teampass/includes/avatars
[root@teampass html]# chmod -R 0777 teampass/includes/libraries/csrfp/libs
[root@teampass html]# chmod -R 0777 teampass/includes/libraries/csrfp/log
[root@teampass html]# chmod -R 0777 teampass/includes/libraries/csrfp/js
[root@teampass html]# chmod -R 0777 teampass/backups
[root@teampass html]# chmod -R 0777 teampass/files
[root@teampass html]# chmod -R 0777 teampass/install
[root@teampass html]# chmod -R 0777 teampass/upload
[root@teampass html]#
[root@teampass html]# chown -Rf apache.apache *

Configuração do apache e restart do serviço.

[root@teampass html]#
[root@teampass html]# cat /etc/httpd/conf.d/teampass.conf
<VirtualHost *:80>

    DocumentRoot "/var/www/html/teampass"
    ServerName teampass.cringerlabs.local
    ErrorLog "/var/log/httpd/teampass-error.log"
    CustomLog "/var/log/httpd/teampass-access.log" combined

</VirtualHost>
[root@teampass html]#
[root@teampass html]# systemctl restart httpd
[root@teampass html]#

Após o reinicio do serviço acesse o portal no endereço criado e preencha com o dados configurados.

Passo4: Configuração

  1. Após login, para ir para as configurações basta clicar na ferramenta no topo da página.

  2. Ao configurar o Email para este serviço você, e sua equipe, sempre serão notificados a cada alteração.

  3. É possível que os usuários sejam criados localmente e através de uma base de usuários LDAP, segue abaixo um exemplo de configuração utilizando um servidor Active Directory.

    Obs: Após inserir o usuário escolhido no grupo do AD “TeampassGroup”, o usuário não aparecerá automaticamente na lista de usuários existentes, se faz necessário que o mesmo tente realizar login na ferramenta. E ao tentar ele entrará automaticamente no grupo de acesso “commonuser”, que conforme configurado, não possui acesso a nada (apenas login).

  4. Após isso se faz necessário criar uma árvore de diretórios de forma que fique organizado do jeito mais prático para seu uso.

  5. Posteriormente na opção “Manage Roles”, é possivel adicionar grupos de acesso.

    Conforme pode ver, o grupo “commonuser” não possui acesso a nada, apenas os outros grupos e de forma granular.

  6. Por último, após a tentativa de login do usuário, ele aparecerá na lista de usuários existentes e é possivel gerenciar e indicar quais roles esse usuário possui.

E assim, finalizamos a instalação e configuração básica do TeamPass.

Bom uso e bom proveito.

Fonte: 1. https://teampass.net/

Bonus (em breve) A aplicação tambem suporta a utilização de API e Autenticação de 2 fatores. E para quem interessar a ferramenta já possui imagem em Docker.