GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal dan Konfigurasi Pengelola Kata Sandi Tim Passbolt di Ubuntu 20.04

Passbolt adalah pengelola kata sandi gratis, sumber terbuka, dihosting sendiri, dan dapat diperluas yang membantu Anda membagikan dan menyimpan kredensial login dengan aman, seperti kata sandi router, situs web, Wi -Fi, dan banyak lagi. Ini berbeda dari pengelola kata sandi lainnya. itu difokuskan pada penggunaan tim daripada individu. Ini tersedia dalam komunitas dan edisi berbayar. Ini menawarkan banyak fitur, beberapa di antaranya tercantum di bawah ini:

  • Menyediakan ekstensi Firefox dan Google Chrome.
  • Gunakan OpenPGP untuk mengenkripsi kata sandi.
  • Antarmuka web yang sederhana dan ramah pengguna.
  • Memungkinkan untuk mengimpor dan mengekspor sandi.
  • Mengizinkan menambahkan kredensial login secara manual.

Dalam tutorial ini, kami akan menjelaskan cara menginstal Passbolt Password manager dengan Apache dan Let's Encrypt di Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Sandi root dikonfigurasi untuk server.

Instal Server LAMP

Pertama, Anda perlu menginstal server Apache dan MariaDB di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

apt-get install apache2 mariadb-server -y

Setelah menginstal paket-paket di atas, Anda juga perlu menginstal PHP dan paket lain yang diperlukan di sistem Anda.

Secara default, Ubuntu 20.04 hadir dengan PHP7.4 di repositori defaultnya. Namun, Passbolt tidak mendukung PHP7.4. Jadi, Anda perlu menambahkan repositori PHP di sistem Anda.

Pertama, instal paket yang diperlukan dengan perintah berikut:

apt-get install software-properties-common gnupg -y

Selanjutnya, tambahkan repositori PHP dengan perintah berikut:

add-apt-repository ppa:ondrej/php --yes

Selanjutnya, instal PHP versi 7.3 dengan Composer dan ekstensi lain yang diperlukan dengan perintah berikut:

apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Database MariaDB

Pertama, Anda perlu mengamankan instalasi MariaDB dan mengatur kata sandi root MariaDB. Anda dapat melakukannya dengan perintah berikut:

mysql_secure_installation

Skrip ini akan mengatur kata sandi root MariaDB, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database pengujian dan akses ke sana seperti yang ditunjukkan di bawah ini:

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
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

Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta kemudian buat database dan pengguna untuk Passbolt dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to [email protected] identified by 'password';

Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Unduh dan Konfigurasikan Passbolt

Di bagian ini, kita akan mempelajari cara mengunduh dan mengonfigurasi passbolt:

Unduh Passbolt

Pertama, unduh versi terbaru Passbolt ke direktori root web Apache dengan perintah berikut:

mkdir /var/www/passbolt
git clone https://github.com/passbolt/passbolt_api.git /var/www/passbolt

Setelah diunduh, ubah kepemilikan passbolt menjadi www-data dengan perintah berikut:

chown -R www-data:www-data /var/www/

Selanjutnya, ubah direktori menjadi passbolt dan instal dependensi yang diperlukan dengan perintah berikut:

cd /var/www/passbolt
sudo -u www-data composer install --no-dev

Anda akan mendapatkan output berikut:

> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
9 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
thadafinser/package-info:  Generating class...
thadafinser/package-info: ...generating class
> App\Console\Installer::postInstall
Created `config/app.php` file
Created `/var/www/passbolt/logs` directory
Created `/var/www/passbolt/tmp/cache/models` directory
Created `/var/www/passbolt/tmp/cache/persistent` directory
Created `/var/www/passbolt/tmp/cache/views` directory
Created `/var/www/passbolt/tmp/sessions` directory
Created `/var/www/passbolt/tmp/tests` directory
Set Folder Permissions ? (Default to Y) [Y,n]? Y

Ketik Y dan tekan Enter untuk mengatur izin folder.

Buat Kunci OpenPGP

Selanjutnya, Anda perlu membuat kunci OpenPGP untuk mengautentikasi dan menandatangani permintaan JSON keluar. Anda dapat membuatnya dengan perintah berikut:

cd /var/www/passbolt
gpg --full-generate-key

Selama proses, Anda akan dimintai kata sandi, cukup tekan tombol Tab, pilih OK dan konfirmasikan bahwa Anda tidak ingin menyetelnya., karena modul php-gnupg saat ini tidak mendukung penggunaan frasa sandi.

gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Hitesh
Email address: [email protected]
Comment: Hi
You selected this USER-ID:
    "Hitesh (Hi) <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
public and secret key created and signed.

pub   rsa4096 2020-07-25 [SC]
      D2394A45B7CBBAB7F00CC79B23D4750486780854
uid                      Hitesh (Hi) <[email protected]>
sub   rsa4096 2020-07-25 [E]

Harap ingat sidik jari kunci publik di atas karena akan diperlukan nanti dalam penyiapan.

Selanjutnya, ekspor kunci publik dan pribadi ke direktori '/var/www/passbolt' dengan perintah berikut:

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

Selanjutnya, Anda perlu menginisialisasi keyring kunci gpg untuk pengguna Apache. Anda dapat melakukannya dengan perintah berikut:

sudo su -s /bin/bash -c "gpg --list-keys" www-data

Anda akan mendapatkan output berikut:

gpg: directory '/var/www/.gnupg' created
gpg: keybox '/var/www/.gnupg/pubring.kbx' created
gpg: /var/www/.gnupg/trustdb.gpg: trustdb created

Konfigurasikan Passbolt

Pertama, salin contoh file konfigurasi Passbolt dengan perintah berikut:

cp /var/www/passbolt/config/passbolt{.default,}.php

Selanjutnya, edit file konfigurasi Passbolt dengan perintah berikut::

nano /var/www/passbolt/config/passbolt.php

Tentukan fullbaseurl, database, dan sidik jari kunci publik Anda seperti yang ditunjukkan di bawah ini:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Database configuration.

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passboltdb',
            'serverKey' => [
            // Server private key fingerprint.
            'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Simpan dan tutup file setelah Anda selesai.

Jika Anda tidak ingat sidik jari kunci publik Anda, Anda dapat mengambilnya dengan perintah berikut:

gpg --list-keys --fingerprint | grep -i -B 2 [email protected]

Anda akan mendapatkan output berikut:

gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   rsa4096 2020-07-25 [SC]
      D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
uid           [ultimate] Hitesh (Hi) <[email protected]>

Konfigurasi Apache untuk Passbolt

Selanjutnya, Anda perlu membuat file konfigurasi virtual host Apache untuk Passbolt. Anda dapat membuatnya dengan perintah berikut:

nano /etc/apache2/sites-available/passbolt.conf

Tambahkan baris berikut:

<VirtualHost *:80>

        ServerName passbolt.linuxbuz.com
        DocumentRoot /var/www/passbolt

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined


      <Directory /var/www/passbolt/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>

</VirtualHost>

Simpan dan tutup file kemudian aktifkan file virtual host dan restart layanan Apache dengan perintah berikut:

a2ensite passbolt
systemctl restart apache2

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Amankan Passbolt dengan Let's Encrypt

Untuk mengamankan situs web Anda dengan Let's Encrypt SSL, Anda perlu menginstal utilitas klien Certbot di sistem Anda untuk mengelola sertifikat SSL.

Anda dapat menginstalnya dengan perintah berikut:

apt-get install python3-certbot-apache -y

Setelah terinstal, jalankan perintah berikut untuk mengamankan situs web Anda dengan Let's Encrypt SSL:

certbot --apache -d passbolt.linuxbuz.com

Anda akan diminta untuk memberikan email Anda dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
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
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf

Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Ketik 2 dan tekan Enter untuk menginstal Let's Encrypt SSL untuk situs web Anda:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-23. 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"
 - 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

Pada titik ini, situs web Anda diamankan dengan Let's Encrypt SSL.

Instal Passbolt

Selanjutnya, Anda dapat menginstal Passbolt dengan menjalankan skrip instalasi Passbolt.

Pertama, ubah direktori ke /var/www/passbolt:

cd /var/www/passbolt

Selanjutnya, jalankan script instalasi Passbolt dengan perintah berikut:

sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

Setelah instalasi selesai dengan sukses, Anda akan mendapatkan output berikut:

All Done. Took 1.6533s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

Selanjutnya, Anda harus menyelesaikan pengaturan Passbolt dari browser. Buka browser web Anda dan kunjungi URL https://passbolt.linuxbuz.com. Anda akan melihat layar berikut:

Di sini, Anda perlu mengunduh dan menginstal plugin untuk browser Anda. Klik Unduh plugin untuk mengunduh dan menginstal plugin Passbolt. Setelah terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Mengakses Antarmuka Web Passbolt

Sebelum memulai, Anda harus membuat pengguna admin dan mengatur kata sandi untuk Passbolt. Anda dapat melakukannya dengan perintah berikut:

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [email protected] -f howtoforge -l Demo -r admin" www-data

Anda akan mendapatkan output berikut:

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377

Sekarang, salin tautan dari output di atas dan gunakan untuk menyelesaikan pengaturan Passbolt di browser. Anda akan melihat layar berikut:

Konfirmasikan bahwa URL dan sidik jari kunci GPG baik-baik saja dan klik tombol Berikutnya tombol. Anda akan melihat layar berikut:

Berikan nama Pemilik, email, dan klik Berikutnya tombol. Anda akan melihat layar berikut:

Tetapkan kata sandi Anda dan klik tombol Berikutnya tombol. Anda akan melihat layar berikut:

Unduh kunci rahasia Anda dan klik Berikutnya tombol. Anda akan melihat layar berikut:

Setel token keamanan dan klik Berikutnya tombol. Anda akan melihat layar berikut:

Berikan nama pengguna, sandi, dan klik login tombol. Anda akan melihat dasbor Passbolt di layar berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal pengelola kata sandi Passbolt dengan Let's Encrypt SSL di server Ubuntu 20.04. Anda sekarang dapat menyimpan dan membagikan kata sandi Anda dengan tim dan pengguna individu Anda. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal dan Mengkonfigurasi ownCloud dengan Apache di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  2. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  3. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04