チームでのパスワード・鍵ファイルの管理に使えそうなツールを探していたところ、WebベースでAD連携もできるパスワード管理ツール「TeamPass」というものを見かけたので、インストールして少し触ってみることにした。インストール先にはCentOS 7を用いる。
1.前提パッケージのインストール
まずは前提となるパッケージのインストール。
以下のコマンドを実行する。
yum install -y epel-release
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y --enablerepo=rpmforge,remi,remi-php55 httpd mariadb mariadb-server php php-mysql php-mcrypt php-json php-mbstring php-ldap php-bcmath php-iconv php-xml php-gd wget
systemctl start mariadb
systemctl enable mariadb
sed -i '/max_execution_time/s/30/60/g' /etc/php.ini
MariaDBで、最低限のセキュリティ設定を行っておく。
mysql_secure_installation
事前に、データベースの作成を行っておく。
mysql -u root -p \
-e 'CREATE DATABASE teampass;
CREATE USER teampass@localhost identified by "P@ssw0rd";
GRANT ALL ON teampass.* TO teampass;'
最後に、検証なのでFirewalldとSELinuxについては適切な設定ではなく、プロセスの停止。
そのうえでhttpdの起動設定を行う。
setenforce 0
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
systemctl start httpd
systemctl enable httpd
2.TeamPassのインストール
次に、TeamPassのインストールを行う。
まず、こちらから最新版のダウンロードリンクを調べておく。
とりあえず今回は2.1.26を指定する。
cd /opt
wget https://github.com/nilsteampassnet/TeamPass/archive/2.1.26.19.tar.gz
tar xzvf 2.1.26.19.tar.gz
ln -s /opt/TeamPass-* /var/www/html/teampass
chown -R apache:apache /opt/TeamPass-*
3.TeamPassの初期設定
ブラウザで、「http://IPアドレス/teampass/」にアクセスする。
Welcomeページが表示されるので、そのまま「Next」で次のページへ。
「Server checks」で何も問題がなければ、「LAUNCH」をクリックする。
何も問題がなければ「NEXT」に変わるのでそのまま進む。
DBへの接続情報を設定する。
先ほど作成したDB、ユーザやパスワードの情報を入力して「LAUNCH」をクリック。
接続に問題なければ「NEXT」に変わるのでそのまま進む。
TeamPassにおける暗号化や管理者ユーザのパスワード設定を行う。
ランダムな値を払い出すならば「Generate」をクリックすればよい。「LAUNCH」クリック後は今までと同じなので割愛。
テーブル作成処理が行われる。
すべて終わったらそのまま次へ。
処理がすべて完了したら、そのまま進めていく。
4.TeamPassを使ってみる
インストール処理がすべて終わったら、ログイン画面が表示される。
あとは、IDはadmin、パスワードは先ほど設定した管理者パスワードでログインする。
一応、右上の国旗のトコを選択したら日本語にもできるみたいだけど…なんか翻訳が怪しいので英語のまま進める。
ログイン直後の画面。
フォルダを作る必要があるようなので、上のフォルダのアイコンをクリックして作成する。
Rollを作成するため、フォルダの隣にある帽子アイコンをクリックして作成する。
ロール作成後、設定からメンテナンスモードを無効化することで使えるようになる。
で、いろいろと触ってみた感想だが…
うーん…正直、RatticDBのほうがいろいろと見やすくて操作や設定も簡単だった気がする。
Redmineがある環境であれば、Valutでもいいかも…
パスワードを共有するという機能だけなら、正直ちゃんとしたユーザであればアクセスしやすい方がいいわけで、どこに何があるんだかわかりにくいことでセキュリティ性を上げてるような印象を受けるというか…別のものを使える状況であれば、あまりいらないかなぁ…というのが感想。わざわざ新しいサーバ立ち上げてまで構築するかといわれると、ちょっと悩む。
LDAP連携とかもできるし、ワンタイムパスワードでの認証も可能など、機能はいっぱいあるみたいなんだけど。もうちょっとUIが見やすくなるとうれしいなぁ…