TeamPass je kolaborativní správce hesel, který se používá ke správě hesel a jejich sdílení mezi členy týmu s konkrétní rolí. Používá MySQL/MariaDB k ukládání hesel a poskytuje výkonný nástroj pro přizpůsobení přístupu k heslům Teampass je vysoce přizpůsobitelný a poskytuje spoustu možností, jak jej přizpůsobit vašim potřebám. Používá knihovnu Defuse PHP Encryption k zabezpečení vašich dat a vašich uživatelů.
V tomto tutoriálu vám ukážeme, jak nainstalovat TeamPass na Debian 10 a zabezpečit jej pomocí Let's Encrypt SSL.
Předpoklady
- Server se systémem Debian 10.
- Platný název domény s adresou IP vašeho serveru. v tomto tutoriálu budeme používat doménu teampass.example.com.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, je dobré aktualizovat systém na nejnovější verzi. Svůj systém můžete aktualizovat pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Po aktualizaci systému jej restartujte, aby se změny implementovaly.
Instalovat LAMP Server
Nejprve budete muset do svého systému nainstalovat webový server Apache, databázový server MariaDB, PHP a další požadovaná rozšíření PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-mysql php-curl php-mbstring php-bcmath php-common php-gd php-xml git wget -y
Jakmile jsou všechny balíčky nainstalovány, otevřete soubor php.ini a změňte některá požadovaná nastavení:
nano /etc/php/7.3/apache2/php.ini
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor.
Nakonfigurujte MariaDB
Ve výchozím nastavení není root heslo MariaDB v Debianu 10 nakonfigurováno. Z bezpečnostních důvodů ho tedy budete muset nastavit.
Nejprve se přihlaste do prostředí MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení nastavte heslo uživatele root MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewpassword");
Dále vytvořte databázi a uživatele pro TeamPass pomocí následujícího příkazu:
MariaDB [(none)]> create database teampassdb;
MariaDB [(none)]> grant all privileges on teampassdb.* to [email protected] identified by "password";
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Stáhnout TeamPass
Dále si budete muset stáhnout nejnovější verzi TeamPass z úložiště Git. Můžete si jej stáhnout do webového kořenového adresáře Apache pomocí následujícího příkazu:
cd /var/www/html
git clone https://github.com/nilsteampassnet/TeamPass.git
Dále udělte správná oprávnění pro TeamPass pomocí následujícího příkazu:
chown -R www-data.www-data /var/www/html/TeamPass/
chmod -R 775 /var/www/html/TeamPass/
Konfigurace Apache pro TeamPass
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro TeamPass. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/teampass.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/TeamPass ServerName teampass.example.com <Directory /var/www/html/TeamPass> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/teampass_error.log CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined </VirtualHost>
Po dokončení uložte a zavřete soubor. Poté povolte virtuální hostitele TeamPass a restartujte webovou službu Apache, aby se změny projevily:
a2ensite teampass
systemctl restart apache2
Zabezpečte TeamPass pomocí Let's Encrypt
Dále je dobré zabezpečit TeamPass pomocí Let's Encrypt Free SSL. Nejprve budete muset nainstalovat klienta Certbot na váš server, abyste si stáhli a nainstalovali Let's Encrypt SSL pro vaši doménu.
Ve výchozím nastavení není klientský balíček Certbot dostupný ve výchozím úložišti Debian 10. Úložiště můžete přidat pomocí následujícího příkazu:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Dále aktualizujte úložiště a nainstalujte klienta Certbot pomocí následujícího příkazu:
apt-get update -y
apt-get install python-certbot-apache -t buster-backports
Po instalaci spusťte následující příkaz pro získání a instalaci certifikátu SSL pro vaši doménu:
certbot --apache -d teampass.example.com
Budete vyzváni, abyste přijali podmínky služby a poskytli svou platnou e-mailovou adresu, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for teampass.example.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/teampass-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/teampass-le-ssl.conf Enabling available site: /etc/apache2/sites-available/teampass-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
Dále budete muset zvolit, zda chcete přesměrovat provoz HTTP na HTTPS, jak je znázorněno níže:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Zadejte 2 a stiskněte Enter pokračovat. Po dokončení instalace byste měli získat následující výstup:
Redirecting vhost in /etc/apache2/sites-enabled/teampass.conf to ssl vhost in /etc/apache2/sites-available/teampass-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://teampass.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=teampass.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/teampass.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/teampass.example.com/privkey.pem Your cert will expire on 2020-04-30. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
V tuto chvíli je vaše doména zabezpečena pomocí Let's Encrypt SSL.
Přístup k webovému rozhraní TeamPass
Otevřete webový prohlížeč a zadejte adresu URL https://teampass.example.com. Budete přesměrováni na uvítací stránku TeamPass, jak je uvedeno níže:
Klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte adresu URL a cestu ke svému TeamPass a klikněte na SPUSTIT knoflík. Po splnění všech požadavků byste měli vidět následující stránku:
Klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte podrobnosti o databázi a klikněte na SPUSTIT a Další knoflík. Měli byste vidět následující stránku:
Zadejte heslo správce a klikněte na SPUSTIT a Další knoflík. Měli byste vidět následující stránku:
Klikněte na SPUSTIT tlačítko pro naplnění databáze. Měli byste vidět následující stránku:
Klikněte na Další knoflík. Měli byste vidět následující stránku:
Klikněte na SPUSTIT tlačítko pro dokončení instalace. Měli byste vidět následující stránku:
Klikněte na Další knoflík. Jakmile je instalace dokončena. Měli byste vidět následující stránku:
Klikněte na Přesunout na domovskou stránku . Budete přesměrováni na přihlašovací stránku TeamPass:
Zadejte své uživatelské jméno a heslo správce a klikněte na Přihlásit v knoflík. Na následující stránce byste měli vidět řídicí panel TeamPass:
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali správce hesel TeamPass v Debianu 10.