Passbolt là trình quản lý mật khẩu nguồn mở cho phép bạn lưu trữ và chia sẻ mật khẩu của mình một cách an toàn. Nó được thiết kế cho các tổ chức vừa và nhỏ để lưu trữ và chia sẻ thông tin đăng nhập giữa các thành viên trong nhóm. Nó được tự lưu trữ và có sẵn trong cả phiên bản cộng đồng và phiên bản đăng ký.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt trình quản lý mật khẩu Passbolt với Nginx và Let's Encrypt SSL trên CentOS 8.
Tiếp theo, bạn sẽ cần cài đặt phiên bản PHP mới nhất và các tiện ích mở rộng PHP bắt buộc khác trong máy chủ của mình. Theo mặc định, phiên bản PHP mới nhất không có trong kho lưu trữ mặc định của CentOS. Vì vậy, bạn sẽ cần thêm kho EPEL và REMI vào hệ thống của mình.
Bạn có thể thêm cả hai kho bằng lệnh sau:
Tiếp theo, vô hiệu hóa kho PHP mặc định và kích hoạt kho REMI bằng lệnh sau:
Tiếp theo, cài đặt PHP với các phụ thuộc bắt buộc khác bằng cách chạy lệnh sau:
Sau khi cài đặt tất cả các gói, bạn sẽ cần chỉnh sửa tệp cấu hình PHP-FPM và thay đổi người dùng và nhóm thành Nginx.
Thay đổi các dòng sau:
Lưu và đóng tệp sau đó thay đổi quyền sở hữu của thư mục phiên:
Tiếp theo, khởi động dịch vụ Nginx, MariaDB và PHP-FPM và cho phép chúng khởi động khi khởi động lại hệ thống bằng lệnh sau:
Tiếp theo, bạn sẽ cần cài đặt tiện ích mở rộng GNUPG vào hệ thống của mình. Bạn có thể cài đặt bằng cách chạy các lệnh sau:
Tiếp theo, khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Đầu tiên, tải xuống tệp thiết lập Composer bằng lệnh sau:
Tiếp theo, cài đặt Composer bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, xác minh phiên bản Composer bằng lệnh sau:
Bạn sẽ nhận được kết quả sau đầu ra:
Đầu tiên, hãy kết nối với MariaDB bằng lệnh sau:
Sau khi kết nối, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, flush các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi tải xuống hoàn tất, hãy thay đổi thư mục thành passbolt và cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Tiếp theo, bạn sẽ cần cài đặt haveged để tạo khóa GPG. Trước tiên, hãy cài đặt haveged bằng lệnh sau:
Tiếp theo, hãy khởi động dịch vụ haveged bằng lệnh sau:
systemctl start haveged
Tiếp theo, hãy tạo khóa GPG bằng lệnh sau:
Trả lời cẩn thận tất cả các câu hỏi. Để trống trường mật khẩu khi được yêu cầu đặt mật khẩu:
Lưu ý: Hãy nhớ khóa bí mật được tạo ở trên.
Tiếp theo, xuất khóa bí mật vào tệp serverkey_private.asc và serverkey.asc bằng lệnh sau:
Tiếp theo, thiết lập quyền sở hữu thích hợp cho thư mục passbolt:
Tiếp theo, khởi tạo vòng khóa Nginx bằng lệnh sau:
Đầu ra:
Tiếp theo, đổi tên tệp cấu hình mặc định của Passbolt:
Tiếp theo, chỉnh sửa tệp passbolt.php và xác định cài đặt cơ sở dữ liệu và URL cơ sở của bạn:
Thay đổi các dòng sau:
Lưu và đóng tệp, sau đó cài đặt Passbolt bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó kiểm tra Nginx xem có lỗi cú pháp nào không:
Đầu ra:
Tiếp theo, khởi động lại Nginx để áp dụng các thay đổi:
Tiếp theo, hãy lấy và cài đặt chứng chỉ SSL cho tên miền lets của bạn bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ:
Bạn sẽ nhận được kết quả sau:
Bạn có thể sử dụng liên kết trên để truy cập Paabolt.
Bây giờ, hãy tải lại firewalld để áp dụng các thay đổi:
Tại đây, bạn sẽ cần tải xuống tiện ích mở rộng trình duyệt Passbolt và làm mới trang sau khi cài đặt. Bạn sẽ thấy trang sau:
Chỉ định mật khẩu an toàn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Chọn một màu, nhập mã thông báo bảo mật và nhấp vào nút Tiếp theo. Bạn sẽ được chuyển hướng đến bảng điều khiển Passbolt ở trang sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt trình quản lý mật khẩu Passbolt với Nginx và Let's Encrypt SSL trên CentOS 8.
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8.
- 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 cấu hình trên máy chủ của bạn.
Cài đặt LEMP Server
Trước tiên, hãy cài đặt Nginx và máy chủ cơ sở dữ liệu MariaDB bằng lệnh sau:
Mã:
dnf install nginx mariadb-server -y
Bạn có thể thêm cả hai kho bằng lệnh sau:
Mã:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Mã:
dnf module reset php
dnf module enable php:remi-7.4
Mã:
dnf install php php-fpm php-intl php-gd php-mysqli php-json php-pear php-devel php-mbstring php-fpm git make unzip -y
Mã:
nano /etc/php-fpm.d/www.conf
Mã:
user = nginxgroup = nginx
Mã:
chgrp nginx /var/lib/php/session
Mã:
systemctl start mariadb nginx php-fpm
systemctl enable mariadb nginx php-fpm
Mã:
dnf config-manager --set-enabled powertools
dnf install gpgme-devel
pecl install gnupg
echo "extension=gnupg.so" > /etc/php.d/gnupg.ini
Mã:
systemctl restart php-fpm
Cài đặt Composer
Composer là trình quản lý phụ thuộc cho PHP. Bạn sẽ cần cài đặt nó trong hệ thống của mình.Đầu tiên, tải xuống tệp thiết lập Composer bằng lệnh sau:
Mã:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Mã:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Mã:
Tất cả các thiết lập đều chính xác để sử dụng ComposerĐang tải xuống...Composer (phiên bản 2.0.11) đã được cài đặt thành công vào: /usr/local/bin/composerSử dụng: php /usr/local/bin/composer
Mã:
composer -V
Mã:
Phiên bản Composer 2.0.11 2021-02-24 14:57:23
Tạo Cơ sở dữ liệu
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho Passbolt.Đầu tiên, hãy kết nối với MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL ON passbolt.* TO 'passbolt'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Cài đặt và cấu hình Passbolt
Trước tiên, hãy thay đổi thư mục thành thư mục gốc web Nginx và tải xuống phiên bản Passbolt mới nhất bằng lệnh sau:
Mã:
cd /var/www
git clone https://github.com/passbolt/passbolt_api.git passbolt
Mã:
cd passbolt
composer install --no-dev
Mã:
dnf install haveged
systemctl start haveged
Tiếp theo, hãy tạo khóa GPG bằng lệnh sau:
Mã:
gpg --full-generate-key
Mã:
gpg (GnuPG) 2.2.9; Bản quyền (C) 2018 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ý)Lựa chọn của bạn?Khóa RSA có thể dài từ 1024 đến 4096 bit.Bạn muốn kích thước khóa nào? (2048)Kích thước khóa được yêu cầu là 2048 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 bao lâu? (0)Khó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: Chào mừngBạn đã chọn ID người dùng này: "Hitesh (Chào mừng) "Thay đổi (N)ame, (C)omment, (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 số nguyên tố; đ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 số nguyên tố; đ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 đã tạogpg: khóa 1A0448FECA43E1F9 được đánh dấu là đáng tin cậygpg: thư mục '/root/.gnupg/openpgp-revocs.d' đã tạogpg: chứng chỉ thu hồi được lưu trữ dưới dạng '/root/.gnupg/openpgp-revocs.d/40733A5076D11E86EF2FE5B51A0448FECA43E1F9.rev'khóa công khai và bí mật đã được tạo và ký.pub rsa2048 2021-03-12 [SC] 40733A5076D11E86EF2FE5B51A0448FECA43E1F9uid Hitesh (Chào mừng) sub rsa2048 2021-03-12 [E]
Tiếp theo, xuất khóa bí mật vào tệp serverkey_private.asc và serverkey.asc bằng 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
Mã:
chown -R nginx:nginx /var/www/passbolt
Mã:
sudo su -s /bin/bash -c "gpg --list-keys" nginx
Mã:
gpg: thư mục '/var/lib/nginx/.gnupg' đã tạogpg: hộp khóa '/var/lib/nginx/.gnupg/pubring.kbx' đã tạogpg: /var/lib/nginx/.gnupg/trustdb.gpg: trustdb đã tạo
Mã:
cp config/passbolt.default.php config/passbolt.php
Mã:
nano config/passbolt.php
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' => 'passbolt', 'serverKey' => [ // Dấu vân tay khóa riêng của máy chủ. 'fingerprint' => '40733A5076D11E86EF2FE5B51A0448FECA43E1F9', 'public' => CONFIG. 'gpg' . DS. 'serverkey.asc', 'private' => CONFIG. 'gpg' . DS. 'serverkey_private.asc',
Mã:
cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" nginx
Mã:
Tất cả đã xong. Mất 0,9595 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! ?
Cấu hình Nginx cho Passbolt
Tiếp theo, bạn sẽ cần tạo một tệp cấu hình Nginx cho Passbolt. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/passbolt.conf
Mã:
server { listen 80; server_name passbolt.linuxbuz.com; root /var/www/passbolt; location / { try_files $uri $uri/ /index.php?$args; index index.php; } location ~ \.php$ { fastcgi_index index.php; fastcgi_pass unix:/var/run/php-fpm/www.sock; fastcgi_split_path_info ^(.+\.php)(.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param TÊN_SERVER $http_host; } vị trí ~* \.(jpe?g|woff|woff2|ttf|gif|png|bmp|ico|css|js|json|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ { tắt nhật ký truy cập; tắt nhật ký không tìm thấy; try_files $uri /webroot/$uri /index.php?$args; }}
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: tệp cấu hình /etc/nginx/nginx.conf đã kiểm tra thành công
Mã:
systemctl restart nginx
Bảo mật Passbolt bằng Let's Encrypt SSL
Tiếp theo, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt Let's Encrypt SSL cho Passbolt. Bạn có thể cài đặt bằng lệnh sau:
Mã:
dnf install letsencrypt python3-certbot-nginx
Mã:
certbot --nginx -d passbolt.linuxbuz.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhậ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. Bạn có đồng ý không?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)es/(K)o: C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có đồng ý, sau khi chứng chỉ đầu tiên của bạn được cấp thành công,chia sẻ địa chỉ email của bạn với Electronic Frontier Foundation, mộtđối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc mã hóa web,tin tức EFF, các chiến dịch và cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CTài khoản đã đăng ký.Đang yêu cầu chứng chỉ cho passbolt.linuxbuz.comThực hiện các thử thách sau:Thử thách http-01 cho passbolt.linuxbuz.comĐang chờ xác minh...Đang dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/passbolt.confĐang chuyển hướng tất cả lưu lượng trên cổng 80 sang ssl trong /etc/nginx/conf.d/passbolt.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://passbolt.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Đăng ký danh sách gửi thư EFF (email: [emailprotected]).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 09-06-2021. Để 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
Đăng ký người dùng cho Passbolt
Tiếp theo, bạn sẽ cần đăng ký người dùng 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" nginx
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/f81227bc-b0b6-44b5-99a7-6b490a4ba262/5a112de0-6ca4-4e1b-97c8-26453ef3828b
Cấu hình Tường lửa
Tiếp theo, bạn sẽ cần cho phép các cổng 80 và 443 đi qua tường lửa. Bạn có thể thực hiện bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
Mã:
firewall-cmd --reload
Giao diện người dùng web Access Passbolt
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến trang sau:Tại đây, bạn sẽ cần tải xuống tiện ích mở rộng trình duyệt Passbolt và làm mới trang sau khi cài đặt. Bạn sẽ thấy trang sau:
Chỉ định mật khẩu an toàn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Chọn một màu, nhập mã thông báo bảo mật và nhấp vào nút Tiếp theo. Bạn sẽ được chuyển hướng đến bảng điều khiển Passbolt ở trang sau: