TeamPass یک ابزار قدرتمند مدیریت پسورد/رمز عبور در لینوکس میباشد که open-source بوده و قابل استفاده در کسب و کارهای بزرگ و کوچ میباشد که امکانات فوق العاده ای برای داکیومنت کردن اطلاعات لاگین تجهیزات داخل یک سازمان دارد. تیم پس از دیتابیس MariaDB/MySQL برای نگهداری ایمن اطلاعات لاگین شامل هر گونه دسترسی به تجهیزات یا حساب های کاربری روی اینترنت و سایر موارد که داری یوزر و پسورد میباشد استفاده میکند و بسیار امکانات گسترده ای برای مدیران شبکه ارائه میدهد. TeamPass توسط آقای Nils Laumaille از فرانسه طراحی شده که مرتب در حال به روز رسانی میباشد.
از قابلیت های TeamPass Password Manager به مواردی مانند زیر اشاره کرد :
در این آموزش ما به شما نحوه نصب و راه اندازی Teampass در Rocky Linux 8 با استفاده از LAMP (مخفف Linux/Apache/MariaDB/PHP) آموزش خواهیم داد.
پیش نیاز ها:
تهیه یک سرور ابری با سیستم عامل Rocky Linux 8
نصب MariaDB 10.7 به بالا
نصب PHP 7.4 به بالا به همراه extensions مورد نیاز
نصب Apache, MariaDB و PHP
در ابتدا ما نیاز داریم که وب سرور آپاچی به همراه دیتابیس MariaDB و PHP را نصب کنیم. در این آموزش من از MariaDB 10.11 و PHP 8.1 استفاده میکنم. (البته روی لابراتور تست MariaDB 10.3 نصب کردم مشکل خاصی مشاهده نشد.)
ابتدا با استفاده از دستور زیر تمام پکیج های سیستم را به روز رسانی میکنیم.
مطابق پیش نیازهایی که در داکیومنت آموزش نصب TeamPass در GitHub مطرح شده برای نصب آخرین ورژن تیم پس نیاز به MariaDB 10.7 به بالا به همراه PHP 7.4 به بالا میباشد. به صورت پیش فرض MariaDB 10.3 به همراه PHP 7.2 از ریپازیتوری ها نصب خواهد شد. برای نصب ورژن های بالاتر ما نیاز داریم که ریپازیتورها را کمی شخصی سازی کنیم. برای این کار با استفاده از یک ویرایشگر متن یا هر ابزار دیگری که میشناسید یک فایل با نام MariaDB.repo در مسیر ریپازیتوری ها /etc/yum.repos.d/ ایجاد کنید و ریپازیتوری مربوط به ورژن MariaDB خود را داخل فایل کپی کنید. در این سناریو ما قصد داریم MariaDB 10.10 را نصب و راه اندازی کنیم.
برای نصب MariaDB ورژن های دیگر میتوانید از این لینک کمک بگیرید.
بعد از ذخیره تغییرات، با استفاده از دستور زیر وب سرور آپاچی را به همراه MariaDB 10.5 و دیگر ابزارها نصب و راه اندازی میکنیم.
سپس سرویس Apache و MariaDB را start و در Boot سیستم فعال میکنیم.
با استفاده از دستور زیر میتوانید از وضعیت سرویس های خود باخبر شوید.
در صورتیکه سرویس فایروال روی سرور شما فعال است میبایست سرویس httpd را به آن اضافه کنید که از بیرون قابل دیدن باشد. برای بررسی وضعیت سرویس فایروال خود میتوانید از دستور زیر استفاده کنید.
در صورتیکه Active (Running) بود یعنی فایروال شما فعال میباشد و نیاز هست که سرویس آپاچی را در آن allow کنید. برای این کار از دستور زیر استفاده کنید.
برای صحت عملکرد سرویس آپاچی میتوانید آدرس ip سرور یا نام دامنه خود را در مرورگر وارد کنید که صفحه تست آپاچی برای شما باید نمایش داده شود.
برای نصب php 8.0 به بالا نیاز هست که ریپازیتوری remi را در سرور خود نصب کنیم.
سپس با استفاده از دستور زیر php 8.1 را در سرور خود نصب و راه اندازی میکنیم.
به محض اینکه پکیج ها نصب شدند فایل php.ini را از مسیر /etc با استفاده از یک ویرایشگر متن باز میکنیم.
سپس مقادیر زیر را پیدا و ویرایش میکنیم.
برای اعمال تغییرات نیاز هست که سرویس آپاچی را ریستارت کنیم.
اکنون باید دیتابیس teampass و سپس یوزر و پسورد اتصال به دیتابیس را در MariaDB ایجاد کنیم.
سپس به مسیر روت وب سرور (/var/www/html) وارد میشویم و بعد از آن با استفاده از دستور git آخرین ورژن ابزار Teampass را از گیت هاب دانلود میکنیم.
اکنون فایل ویرچوال هاست مان را در وب سرور آپاچی ایجاد میکنیم.
خطوط زیر را در آن کپی و فایل را ذخیره میکنیم.
توجه داشته باشید در قسمت Server Admin و ServerName شما باید ایمیل مدیر سایت و IP آدرس یا URL اختصاص داده شده به تیمپس را جایگزین کنید. سپس با استفاده از دستور زیر ساختار کانفیگ فایل آپاچی خود را بررسی میکنیم.
سپس سرویس آپاچی را ریستارت میکنیم.
در این بخش باید به دایرکتوری ها و فایل های زیر پرمیژن اجرایی لازم را بدهیم :
نکته : فراموش نکنید مطابق آموزش در انتهای کار سطوح دسترسی دایرکتوری ها را به حالت اولیه برگردانید.
یک مرورگر باز کنید و آدرس سرور را در آن وارد کنید تا صفحه install نمایش داده شود. روی دکمه START کلیک کنید که به مرحله بعد بروید.
در اینجا روی دکمه START کلیک کنید تا سرور چک، مانند دسترسی write دایرکتوری هایی که در بالاتر پرمیژن دادیم به همراه پیش نیاز های نصب تیم پس انجام شود. روی دکمه Next کلیک کنید.
در اینجا اطلاعات لاگین به دیتابیس را وارد نمایید.
در این قسمت رمز عبور ادمین کنترل پنل تیم پس را وارد کنید.
در این مرحله تیبل های مورد نیاز در دیتابیس ایجاد خواهند شد.
نصب نهایی در این مرحله انجام خواهد شد.
نصب با موفقیت به پایان رسید. شما باید صفحه ای زیر را مشاهده کنید. در این بخش شما میبایست دایرکتوری install را حذف کنید.
یوزر و پسورد Teampass را که در بالاتر تنظیم کردیم وارد کنید.
هم اکنون شما باید صفحه داشبود یا کنترل پنل تیم پس را مشاهده کنید.
بعد از اتمام نصب شما میبایست دایرکتوری هایی که در مرحله قبل پرمیژن آنها را تغییر دادیم به حالت اول آن برگردانیم. برای این کار از دستورات زیر استفاده کنید.
نکته مهم : همکاران عزیز با توجه به اینکه این ابزار اطلاعات لاگین مربوط به سازمان شما داخل آن نگهداری میشود و از اهمیت بسیار بالایی برخوردار است و همانطور که تا الان، شما فایل یا ابزاری که اطلاعات لاگین مربوط به سازمان تان را داخل آن نگهداری میکردید را در بستر اینترنت قرار ندادید این ابزار هم به همین صورت هست. لطفا بعد از نصب و راه اندازی کامل، فراموش نکنید تمام دسترسی های سرور را مسدود کنید و ارتباط با سرور صرفا محدود به نتورک داخل شرکت باشد و افرادی هم که از بیرون سازمان قصد دارن با این ابزار کار کنند حتما از طریق VPN به نتورک شرکت وصل شده و استفاده کنند. نکات امنیتی بسیار جدی گرفته شود.
نصب TeamPass به پایان رسید. در این مقاله ما نحوه نصب و راه اندازی Teampass password manager را بر روی Rocky Linux 8 آموزش دادیم. بر روی دیگر سیستم عامل های مانند Rocky Linux 9 یا Alma Linux 9 و حتی CentOS شما میتوانید از دستورات این مقاله استفاده کنید. شما میتوانید TeamPass را در سازمان خود پیاده سازی کنید و دسترسی های مورد نیاز را در آن ایجاد و بین اعضای تیم خود به صورت امن به اشتراک بگذارید.
موفق باشید.
از قابلیت های TeamPass Password Manager به مواردی مانند زیر اشاره کرد :
- دسترسی امن به اطلاعات لاگین مربوط به تجهیزات هر سازمان / شرکت
- تعریف سطوح دسترسی مختلف برای گروه های هر سازمان
- تعریف آیتم های مختلف
- قابلیت ایجاد دایرکتوری شخصی برای هر کاربر
- رمزنگاری اطلاعات لاگین
- قابلیت اتصال به LDAP/Active Directory سرور
- اتصال از طریق API
- ایجاد دسترسی اختصاصی برای یک کاربر به یک آیتم خاص
- فعال کردن احراز هویت دو مرحله ای با استفاده از Google Authenticator و DUO
- قابلیت به اشتراک گذاری دسترسی ها از طریق ایمیل
- قابلیت پیوست داکیومنت یا عکس به آیتم ها
- قابلیت خروجی گرفتن به فرمت PDF
- قابلیت ایمپورت فایل های XML و CSV
- قابلیت تگ زدن و لیبل زدن به آیتم ها
- قابلیت جستجو بر اساس نام آیتم، لیبل، تگ و ...
- قابلیت اتصال به میل سرور جهت مدیریت هشدارها و آلارم های مربوطه
- رمزنگاری اطلاعات با استفاده از الگوریتم AES-256
- قابلیت رمزنگاری فایل های پیوست
- قابلیت کارکردن به صورت آفلاین
- قابلیت اتصال بدون اینترنت
- سازگاری با تمام سیستم عامل ها و تجهیزات موبایل
در این آموزش ما به شما نحوه نصب و راه اندازی Teampass در Rocky Linux 8 با استفاده از LAMP (مخفف Linux/Apache/MariaDB/PHP) آموزش خواهیم داد.
پیش نیاز ها:
تهیه یک سرور ابری با سیستم عامل Rocky Linux 8
نصب MariaDB 10.7 به بالا
نصب PHP 7.4 به بالا به همراه extensions مورد نیاز
نصب Apache, MariaDB و PHP
در ابتدا ما نیاز داریم که وب سرور آپاچی به همراه دیتابیس MariaDB و PHP را نصب کنیم. در این آموزش من از MariaDB 10.11 و PHP 8.1 استفاده میکنم. (البته روی لابراتور تست MariaDB 10.3 نصب کردم مشکل خاصی مشاهده نشد.)
ابتدا با استفاده از دستور زیر تمام پکیج های سیستم را به روز رسانی میکنیم.
کد PHP:
# yum update
مطابق پیش نیازهایی که در داکیومنت آموزش نصب TeamPass در GitHub مطرح شده برای نصب آخرین ورژن تیم پس نیاز به MariaDB 10.7 به بالا به همراه PHP 7.4 به بالا میباشد. به صورت پیش فرض MariaDB 10.3 به همراه PHP 7.2 از ریپازیتوری ها نصب خواهد شد. برای نصب ورژن های بالاتر ما نیاز داریم که ریپازیتورها را کمی شخصی سازی کنیم. برای این کار با استفاده از یک ویرایشگر متن یا هر ابزار دیگری که میشناسید یک فایل با نام MariaDB.repo در مسیر ریپازیتوری ها /etc/yum.repos.d/ ایجاد کنید و ریپازیتوری مربوط به ورژن MariaDB خود را داخل فایل کپی کنید. در این سناریو ما قصد داریم MariaDB 10.10 را نصب و راه اندازی کنیم.
کد PHP:
# MariaDB 10.10 RedHatEnterpriseLinux repository list - created 2023-06-09 17:44 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.10/rhel/$releasever/$basearch
baseurl = https://download.nus.edu.sg/mirror/mariadb/yum/10.10/rhel/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://download.nus.edu.sg/mirror/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
برای نصب MariaDB ورژن های دیگر میتوانید از این لینک کمک بگیرید.
کد PHP:
https://mariadb.org/download/?t=repo-config&d=Red+Hat+Enterprise+Linux+8&v=10.5&r_m=yer
بعد از ذخیره تغییرات، با استفاده از دستور زیر وب سرور آپاچی را به همراه MariaDB 10.5 و دیگر ابزارها نصب و راه اندازی میکنیم.
کد PHP:
# yum install httpd MariaDB-server MariaDB-client git wget vim epel-release
سپس سرویس Apache و MariaDB را start و در Boot سیستم فعال میکنیم.
کد PHP:
# systemctl start mariadb httpd
# systemctl enable mariadb httpd
با استفاده از دستور زیر میتوانید از وضعیت سرویس های خود باخبر شوید.
کد PHP:
# systemctl status mariadb httpd
در صورتیکه سرویس فایروال روی سرور شما فعال است میبایست سرویس httpd را به آن اضافه کنید که از بیرون قابل دیدن باشد. برای بررسی وضعیت سرویس فایروال خود میتوانید از دستور زیر استفاده کنید.
کد PHP:
# systemctl status firewalld
در صورتیکه Active (Running) بود یعنی فایروال شما فعال میباشد و نیاز هست که سرویس آپاچی را در آن allow کنید. برای این کار از دستور زیر استفاده کنید.
کد PHP:
# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload
برای صحت عملکرد سرویس آپاچی میتوانید آدرس ip سرور یا نام دامنه خود را در مرورگر وارد کنید که صفحه تست آپاچی برای شما باید نمایش داده شود.
برای نصب php 8.0 به بالا نیاز هست که ریپازیتوری remi را در سرور خود نصب کنیم.
کد PHP:
# yum config-manager --set-enabled powertools
# yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# yum makecache
# yum repolist
# yum module reset php
# yum module list php
# yum module install php:remi-8.1
سپس با استفاده از دستور زیر php 8.1 را در سرور خود نصب و راه اندازی میکنیم.
کد PHP:
# yum install php php-cli php-mysqli php-pear php-json php-devel php-curl php-mbstring php-bcmath php-common php-gd php-xml mod_ssl php-gmp php-ldap
به محض اینکه پکیج ها نصب شدند فایل php.ini را از مسیر /etc با استفاده از یک ویرایشگر متن باز میکنیم.
کد PHP:
# vim /etc/php.ini
سپس مقادیر زیر را پیدا و ویرایش میکنیم.
کد PHP:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Tehran
برای اعمال تغییرات نیاز هست که سرویس آپاچی را ریستارت کنیم.
کد PHP:
# systemctl restart httpd
اکنون باید دیتابیس teampass و سپس یوزر و پسورد اتصال به دیتابیس را در MariaDB ایجاد کنیم.
کد PHP:
MariaDB [(none)]> create database teampass;
MariaDB [(none)]> grant all privileges on teampass.* to linuxzone@localhost identified by "linux-zone.org/forums";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
سپس به مسیر روت وب سرور (/var/www/html) وارد میشویم و بعد از آن با استفاده از دستور git آخرین ورژن ابزار Teampass را از گیت هاب دانلود میکنیم.
کد PHP:
# cd /var/www/html/
# git clone https://github.com/nilsteampassnet/TeamPass.git
اکنون فایل ویرچوال هاست مان را در وب سرور آپاچی ایجاد میکنیم.
کد PHP:
# vim /etc/httpd/conf.d/teampass.conf
خطوط زیر را در آن کپی و فایل را ذخیره میکنیم.
کد PHP:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/TeamPass
ServerName teampass.example.com
<Directory /var/www/html/TeamPass>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/teampass_error.log
CustomLog /var/log/httpd/teampass_access.log combined
</VirtualHost>
توجه داشته باشید در قسمت Server Admin و ServerName شما باید ایمیل مدیر سایت و IP آدرس یا URL اختصاص داده شده به تیمپس را جایگزین کنید. سپس با استفاده از دستور زیر ساختار کانفیگ فایل آپاچی خود را بررسی میکنیم.
کد PHP:
# apachectl configtest
سپس سرویس آپاچی را ریستارت میکنیم.
کد PHP:
# systemctl restart httpd
در این بخش باید به دایرکتوری ها و فایل های زیر پرمیژن اجرایی لازم را بدهیم :
نکته : فراموش نکنید مطابق آموزش در انتهای کار سطوح دسترسی دایرکتوری ها را به حالت اولیه برگردانید.
کد PHP:
# chmod 0777 TeamPass/includes
# chmod -R 0777 TeamPass/includes/config
# chmod -R 0777 TeamPass/includes/avatars
# chmod -R 0777 TeamPass/includes/libraries/csrfp/libs
# chmod -R 0777 TeamPass/includes/libraries/csrfp/log
# chmod -R 0777 TeamPass/includes/libraries/csrfp/js
# chmod -R 0777 TeamPass/backups
# chmod -R 0777 TeamPass/files
# chmod -R 0777 TeamPass/install
# chmod -R 0777 TeamPass/upload
یک مرورگر باز کنید و آدرس سرور را در آن وارد کنید تا صفحه install نمایش داده شود. روی دکمه START کلیک کنید که به مرحله بعد بروید.
در اینجا روی دکمه START کلیک کنید تا سرور چک، مانند دسترسی write دایرکتوری هایی که در بالاتر پرمیژن دادیم به همراه پیش نیاز های نصب تیم پس انجام شود. روی دکمه Next کلیک کنید.
در اینجا اطلاعات لاگین به دیتابیس را وارد نمایید.
در این قسمت رمز عبور ادمین کنترل پنل تیم پس را وارد کنید.
در این مرحله تیبل های مورد نیاز در دیتابیس ایجاد خواهند شد.
نصب نهایی در این مرحله انجام خواهد شد.
نصب با موفقیت به پایان رسید. شما باید صفحه ای زیر را مشاهده کنید. در این بخش شما میبایست دایرکتوری install را حذف کنید.
یوزر و پسورد Teampass را که در بالاتر تنظیم کردیم وارد کنید.
هم اکنون شما باید صفحه داشبود یا کنترل پنل تیم پس را مشاهده کنید.
بعد از اتمام نصب شما میبایست دایرکتوری هایی که در مرحله قبل پرمیژن آنها را تغییر دادیم به حالت اول آن برگردانیم. برای این کار از دستورات زیر استفاده کنید.
کد PHP:
chmod -R 0750 TeamPass
chown -R apache:apache TeamPass
نکته مهم : همکاران عزیز با توجه به اینکه این ابزار اطلاعات لاگین مربوط به سازمان شما داخل آن نگهداری میشود و از اهمیت بسیار بالایی برخوردار است و همانطور که تا الان، شما فایل یا ابزاری که اطلاعات لاگین مربوط به سازمان تان را داخل آن نگهداری میکردید را در بستر اینترنت قرار ندادید این ابزار هم به همین صورت هست. لطفا بعد از نصب و راه اندازی کامل، فراموش نکنید تمام دسترسی های سرور را مسدود کنید و ارتباط با سرور صرفا محدود به نتورک داخل شرکت باشد و افرادی هم که از بیرون سازمان قصد دارن با این ابزار کار کنند حتما از طریق VPN به نتورک شرکت وصل شده و استفاده کنند. نکات امنیتی بسیار جدی گرفته شود.
نصب TeamPass به پایان رسید. در این مقاله ما نحوه نصب و راه اندازی Teampass password manager را بر روی Rocky Linux 8 آموزش دادیم. بر روی دیگر سیستم عامل های مانند Rocky Linux 9 یا Alma Linux 9 و حتی CentOS شما میتوانید از دستورات این مقاله استفاده کنید. شما میتوانید TeamPass را در سازمان خود پیاده سازی کنید و دسترسی های مورد نیاز را در آن ایجاد و بین اعضای تیم خود به صورت امن به اشتراک بگذارید.
موفق باشید.