Cài đặt và cấu hình Passbolt Team Password Manager trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Passbolt là trình quản lý mật khẩu miễn phí, mã nguồn mở, tự lưu trữ và có thể mở rộng giúp bạn chia sẻ và lưu trữ thông tin đăng nhập một cách an toàn, chẳng hạn như mật khẩu của bộ định tuyến, trang web, Wi-Fi, v.v. Nó khác với các trình quản lý mật khẩu khác. Nó tập trung vào việc sử dụng nhóm hơn là cá nhân. Nó có sẵn trong cả phiên bản cộng đồng và trả phí. Nó cung cấp rất nhiều tính năng, một số tính năng được liệt kê dưới đây:
  • Cung cấp tiện ích mở rộng cho Firefox và Google Chrome.
  • Sử dụng OpenPGP để mã hóa mật khẩu.
  • Giao diện web đơn giản và thân thiện với người dùng.
  • Cho phép nhập và xuất mật khẩu.
  • Cho phép thêm thông tin đăng nhập theo cách thủ công.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Trình quản lý mật khẩu Passbolt với Apache và Let's Encrypt trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Máy chủ chạy Ubuntu 20.04.
  • Tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Mật khẩu gốc được định cấu hình cho máy chủ.

Cài đặt LAMP Máy chủ​

Trước tiên, bạn sẽ cần cài đặt máy chủ Apache và MariaDB trong hệ thống của mình. Bạn có thể cài đặt chúng bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server -y
Sau khi cài đặt các gói trên, bạn cũng sẽ cần cài đặt PHP và các gói cần thiết khác trong hệ thống của mình.

Theo mặc định, Ubuntu 20.04 đi kèm với PHP7.4 trong kho lưu trữ mặc định của nó. Tuy nhiên, Passbolt không hỗ trợ PHP7.4. Vì vậy, bạn sẽ cần thêm kho lưu trữ PHP vào hệ thống của mình.

Đầu tiên, cài đặt các gói cần thiết bằng lệnh sau:
Mã:
apt-get install software-properties-common gnupg -y
Tiếp theo, thêm kho lưu trữ PHP bằng lệnh sau:
Mã:
add-apt-repository ppa:ondrej/php --yes
Tiếp theo, cài đặt phiên bản PHP 7.3 với Composer và các tiện ích mở rộng cần thiết khác bằng lệnh sau:
Mã:
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
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cấu hình Cơ sở dữ liệu MariaDB​

Trước tiên, bạn sẽ cần bảo mật cài đặt MariaDB và đặt mật khẩu gốc MariaDB. Bạn có thể thực hiện bằng lệnh sau:
Mã:
mysql_secure_installation
Tập lệnh này sẽ đặt mật khẩu gốc MariaDB, xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa và xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó như được hiển thị bên dưới:
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):OK, mật khẩu đã sử dụng thành công, tiếp tục...Đặt mật khẩu gốc? [Y/n] YXóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập gốc từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Sau khi MariaDB được bảo mật, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Cung cấp mật khẩu root của bạn khi được nhắc, sau đó tạo cơ sở dữ liệu và người dùng cho Passbolt bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to passbolt@localhost defined by 'password';
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tải xuống và cấu hình Passbolt​

Trong phần này, chúng ta sẽ tìm hiểu cách tải xuống và cấu hình passbolt:

Tải xuống Passbolt​

Trước tiên, hãy tải xuống phiên bản mới nhất của Passbolt vào thư mục gốc web của Apache bằng lệnh sau:
Mã:
mkdir /var/www/passbolt
git clone https://github.com/passbolt/passbolt_api.git /var/www/passbolt
Sau khi tải xuống, hãy thay đổi quyền sở hữu của passbolt thành www-data bằng lệnh sau:
Mã:
chown -R www-data:www-data /var/www/
Tiếp theo, hãy thay đổi thư mục thành passbolt và cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Mã:
cd /var/www/passbolt
sudo -u www-data composer install --no-dev
Bạn sẽ nhận được kết quả sau:
Mã:
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump9 gói bạn đang sử dụng đang tìm kiếm nguồn tài trợ.Sử dụng lệnh `composer fund` để tìm hiểu thêm!thadafinser/package-info: Đang tạo lớp...thadafinser/package-info: ...đang tạo lớp> App\Console\Installer::postInstallĐã tạo tệp `config/app.php`Đã tạo thư mục `/var/www/passbolt/logs`Đã tạo thư mục `/var/www/passbolt/tmp/cache/models`Đã tạo thư mục `/var/www/passbolt/tmp/cache/persistent`Đã tạo thư mục `/var/www/passbolt/tmp/cache/views`Đã tạo thư mục `/var/www/passbolt/tmp/sessions`Đã tạo thư mục `/var/www/passbolt/tmp/tests`Đặt Quyền Thư mục ? (Mặc định là Y) [Y,n]? Y
Nhập Y và nhấn Enter để thiết lập quyền cho thư mục.

Tạo khóa OpenPGP​

Tiếp theo, bạn sẽ cần tạo khóa OpenPGP để xác thực và ký các yêu cầu JSON gửi đi. Bạn có thể tạo khóa bằng lệnh sau:
Mã:
cd /var/www/passbolt
gpg --full-generate-key
Trong quá trình này, bạn sẽ được yêu cầu nhập mật khẩu, chỉ cần nhấn phím Tab, chọn OK và xác nhận rằng bạn không muốn đặt mật khẩu, vì mô-đun php-gnupg hiện không hỗ trợ sử dụng mật khẩu.
Mã:
gpg (GnuPG) 2.2.19; Bản quyền (C) 2019 Free Software Foundation, Inc.Đây là phần mềm miễn phí: bạn được tự do thay đổi và phân phối lại.KHÔNG CÓ BẢO HÀNH, trong phạm vi được pháp luật cho phép.gpg: thư mục '/root/.gnupg' đã tạogpg: hộp khóa '/root/.gnupg/pubring.kbx' đã tạoVui lòng chọn loại khóa bạn muốn: (1) RSA và RSA (mặc định) (2) DSA và Elgamal (3) DSA (chỉ ký) (4) RSA (chỉ ký) (14) Khóa hiện có từ thẻLựa chọn của bạn? 1Khóa RSA có thể dài từ 1024 đến 4096 bit.Bạn muốn kích thước khóa nào? (3072) 4096Kích thước khóa được yêu cầu là 4096 bitVui lòng chỉ định thời hạn hiệu lực của khóa. 0 = khóa không hết hạn  = khóa hết hạn sau n ngày  w = khóa hết hạn sau n tuần  m = khóa hết hạn sau n tháng  y = khóa hết hạn sau n nămKhóa có hiệu lực trong? (0) 0Khóa không hết hạnĐiều này có đúng không? (y/N) yGnuPG cần tạo ID người dùng để xác định khóa của bạn.Tên thật: HiteshĐịa chỉ email: [emailprotected]Bình luận: Xin chàoBạn đã chọn ID người dùng này: "Hitesh (Xin chào) "Thay đổi (N)tên, (C)bình luận, (E)mail hoặc (O)kay/(Q)uit? OChúng ta cần tạo ra nhiều byte ngẫu nhiên. Tốt nhất là thực hiệnmột số hành động khác (gõ trên bàn phím, di chuyển chuột, sử dụngcác đĩa) trong quá trình tạo chính; điều này giúp trình tạo số ngẫu nhiên có cơ hội tốt hơn để đạt được đủ entropy.Chúng ta cần tạo ra nhiều byte ngẫu nhiên. Tốt nhất là thực hiệnmột số hành động khác (gõ trên bàn phím, di chuyển chuột, sử dụngcác đĩa) trong quá trình tạo chính; điều này giúp trình tạo số ngẫu nhiên có cơ hội tốt hơn để đạt được đủ entropy.gpg: /root/.gnupg/trustdb.gpg: trustdb createdgpg: khóa 2DA8E7FB8E23B2FD được đánh dấu là đáng tin cậygpg: thư mục '/root/.gnupg/openpgp-revocs.d' được tạogpg: chứng chỉ thu hồi được lưu trữ dưới dạng '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'khóa công khai và bí mật đã được tạo và ký.pub rsa4096 2020-07-25 [SC] D2394A45B7CBBAB7F00CC79B23D4750486780854uid Hitesh (Xin chào) sub rsa4096 2020-07-25 [E]
Vui lòng ghi nhớ dấu vân tay khóa công khai ở trên vì bạn sẽ cần đến nó sau này trong quá trình thiết lập.

Tiếp theo, xuất khóa công khai và khóa riêng tư vào thư mục '/var/www/passbolt' bằng các lệnh sau:
Mã:
gpg --armor --export-secret-keys [emailprotected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [emailprotected] > /var/www/passbolt/config/gpg/serverkey.asc
Tiếp theo, bạn sẽ cần khởi tạo vòng khóa của khóa gpg cho người dùng Apache. Bạn có thể thực hiện bằng lệnh sau:
Mã:
sudo su -s /bin/bash -c "gpg --list-keys" www-data
Bạn sẽ nhận được kết quả sau:
Mã:
gpg: thư mục '/var/www/.gnupg' đã tạogpg: hộp khóa '/var/www/.gnupg/pubring.kbx' đã tạogpg: /var/www/.gnupg/trustdb.gpg: trustdb đã tạo

Cấu hình Passbolt​





Đầu tiên, hãy sao chép tệp cấu hình Passbolt mẫu bằng lệnh sau:
Mã:
cp /var/www/passbolt/config/passbolt{.default,}.php
Tiếp theo, hãy chỉnh sửa tệp cấu hình Passbolt bằng lệnh sau command::
Mã:
nano /var/www/passbolt/config/passbolt.php
Xác định fullbaseurl, cơ sở dữ liệu và dấu vân tay khóa công khai của bạn như được hiển thị bên dưới:
Mã:
'fullBaseUrl' => 'https://passbolt.linuxbuz.com', // Cấu hình cơ sở dữ liệu. 'Datasources' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'passbolt', 'password' => 'password', 'database' => 'passboltdb', 'serverKey' => [ // Dấu vân tay khóa riêng của máy chủ. 'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854', 'public' => CONFIG. 'gpg' . DS. 'serverkey.asc', 'private' => CONFIG. 'gpg' . DS . 'serverkey_private.asc',
Lưu và đóng tệp khi bạn hoàn tất.

Nếu bạn không nhớ dấu vân tay khóa công khai của mình, bạn có thể lấy dấu vân tay bằng lệnh sau:
Mã:
gpg --list-keys --fingerprint | grep -i -B 2 [emailprotected]
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
gpg: kiểm tra trustdbgpg: marginals needed: 3 completes needed: 1 trust model: pgpgpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1upub rsa4096 2020-07-25 [SC] D239 4A45 B7CB BAB7 F00C C79B 23D4 7504 8678 0854uid [ultimate] Hitesh (Hi)

Cấu hình Apache cho Passbolt​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho Passbolt. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/passbolt.conf
Thêm các dòng sau:
Mã:
 ServerName passbolt.linuxbuz.com DocumentRoot /var/www/passbolt ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined  Options FollowSymLinks MultiViews AllowOverride All Require all granted
Lưu và đóng tệp, sau đó kích hoạt tệp máy chủ ảo và khởi động lại dịch vụ Apache bằng lệnh sau:
Mã:
a2ensite passbolt
systemctl restart apache2
Khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Bảo mật Passbolt bằng Let's Encrypt​

Để bảo mật trang web của bạn bằng Let's Encrypt SSL, bạn sẽ cần cài đặt tiện ích máy khách Certbot trong hệ thống của mình để quản lý chứng chỉ SSL.

Bạn có thể cài đặt tiện ích này bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Sau khi cài đặt, hãy chạy lệnh sau để bảo mật trang web của bạn bằng Let's Encrypt SSL:
Mã:
certbot --apache -d passbolt.linuxbuz.com
Bạn sẽ được yêu cầu cung cấp email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator standalone, Installer NoneNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CCác plugin đã chọn: Authenticator apache, Installer apacheNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho passbolt.linuxbuz.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/passbolt-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.confBật site khả dụng: /etc/apache2/sites-available/passbolt-le-ssl.conf
Tiếp theo, hãy chọn có hay không chuyển hướng lưu lượng HTTP sang HTTPS như hiển thị bên dưới:
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho trang web của bạn:
Mã:
Bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/passbolt.conf sang ssl vhost trong /etc/apache2/sites-available/passbolt-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://passbolt.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-10-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le
Tại thời điểm này, trang web của bạn được bảo mật bằng Let's Encrypt SSL.

Cài đặt Passbolt​

Tiếp theo, bạn có thể cài đặt Passbolt bằng cách chạy tập lệnh cài đặt Passbolt.

Đầu tiên, hãy thay đổi thư mục thành /var/www/passbolt:
Mã:
cd /var/www/passbolt
Tiếp theo, hãy chạy tập lệnh cài đặt Passbolt bằng lệnh sau:
Mã:
sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data
Sau khi cài đặt ahs đã hoàn tất thành công, bạn sẽ nhận được kết quả sau:
Mã:
Tất cả đã xong. Mất 1,6533 giâyNhập khóa riêng của máy chủ vào vòng chìa khóa--------------------------------------------------------------------------Đang nhập /var/www/passbolt/config/gpg/serverkey_private.ascKhởi tạo vòng chìa khóa OKCài đặt Passbolt thành công! Thưởng thức! ?
Tiếp theo, bạn sẽ cần hoàn tất thiết lập Passbolt từ trình duyệt. Mở trình duyệt web của bạn và truy cập URL https://passbolt.linuxbuz.com. Bạn sẽ thấy màn hình sau:



Tại đây, bạn sẽ cần tải xuống và cài đặt plugin cho trình duyệt của mình. Nhấp vào Tải xuống plugin để tải xuống và cài đặt plugin Passbolt. Sau khi cài đặt, bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện web Passbolt​

Trước khi bắt đầu, bạn sẽ cần tạo một người dùng quản trị và đặt mật khẩu cho Passbolt. Bạn có thể thực hiện bằng lệnh sau:
Mã:
cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [emailprotected] -f howtoforge -l Demo -r admin" www-data
Bạn sẽ nhận được kết quả sau:
Mã:
____ __ ____ / __ \____ _____ ____/ /_ ____ / /_ / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ / ____/ /_/ (__ |__ ) /_/ / /_/ / / /_/ \__,_/____/____/_.___/\____/_/\__/ Trình quản lý mật khẩu nguồn mở cho nhóm-------------------------------------------------------------------------------Đã lưu người dùng thành công.Để bắt đầu đăng ký, hãy làm theo liên kết được cung cấp trong hộp thư của bạn hoặc tại đây:https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377
Bây giờ, hãy sao chép liên kết từ đầu ra ở trên và sử dụng nó để hoàn tất quá trình thiết lập Passbolt trên trình duyệt. Bạn sẽ thấy màn hình sau:



Xác nhận rằng URL và dấu vân tay khóa GPG là ổn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Cung cấp tên Chủ sở hữu, email và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Đặt mật khẩu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Tải khóa bí mật của bạn xuống và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Đặt mã thông báo bảo mật và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Cung cấp tên người dùng, mật khẩu và nhấp vào nút đăng nhập. Bạn sẽ thấy bảng điều khiển Passbolt trong màn hình sau:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công trình quản lý mật khẩu Passbolt với Let's Encrypt SSL trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể lưu trữ và chia sẻ mật khẩu của mình với nhóm và người dùng cá nhân của bạn. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên