sysPass là một ứng dụng quản lý mật khẩu dựa trên web được viết bằng PHP. Nó an toàn, đáng tin cậy và chạy trong môi trường nhiều người dùng cho mục đích sử dụng cá nhân và kinh doanh. Nó lưu mật khẩu bằng mã hóa hai chiều với mật khẩu chính vào cơ sở dữ liệu. Nó cung cấp một giao diện người dùng web trực quan giúp bạn thiết lập các tùy chọn như xác thực LDAP, thư, kiểm tra, sao lưu, nhập/xuất, v.v.
Tính năng
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và thực hiện một số thay đổi:
Thay đổi các thiết lập sau:
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi cấu hình:
Trả lời tất cả các câu hỏi như hiển thị bên dưới để đặt mật khẩu gốc MariaDB và bảo mật cài đặt:
Bạn sẽ được yêu cầu cung cấp mật khẩu gốc MariaDB. Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, flush privileges và thoát khỏi MariaDB shell bằng lệnh sau:
Lúc này, cơ sở dữ liệu MariaDB và người dùng của bạn đã sẵn sàng cho sysPass. Bây giờ 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 di chuyển thư mục đã tải xuống đến thư mục gốc web Apache:
Tiếp theo, thiết lập quyền sở hữu thích hợp cho thư mục syspass bằng lệnh sau:
Tiếp theo, thiết lập quyền thích hợp cho các thư mục khác:
Tiếp theo, bạn sẽ cần cài đặt Composer vào hệ thống của mình.
Đầu tiên, hãy tạo một tập lệnh cài đặt Composer bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó chạy tập lệnh cài đặt Composer bằng lệnh sau:
Sau khi Composer được cài đặt, hãy chạy lệnh sau để cài đặt tất cả các phụ thuộc PHP cần thiết:
Sau khi tất cả các phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất việc kích hoạt máy chủ ảo Apache bằng lệnh sau:
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Apache bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cung cấp tên người dùng, mật khẩu quản trị, mật khẩu chính, thông tin xác thực cơ sở dữ liệu, chọn ngôn ngữ, chế độ lưu trữ và nhấp vào nút CÀI ĐẶT. Sau khi quá trình cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập sysPass.
Cung cấp tên người dùng, mật khẩu quản trị và nhấp vào nút >. Bạn sẽ thấy bảng điều khiển sysPass trên trang sau:
Sau khi Certbot được 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:
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:
Tiếp theo, hãy chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không hiển thị bên dưới:
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho trang web của bạn:
Tính năng
- Miễn phí và mã nguồn mở
- Kiểm soát truy cập nhóm/hồ sơ
- Mã hóa mật khẩu
- Lưu trữ tệp với trình xem hình ảnh nội tuyến
- Tích hợp OpenLDAP và Active Directory
- Cung cấp thông báo qua email
Điều kiện tiên quyết
- Máy chủ chạy Debian 11.
- 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 trên máy chủ.
Cài đặt Apache, MariaDB và PHP
sysPass chạy trên máy chủ web, sử dụng MariaDB làm cơ sở dữ liệu phụ trợ và được viết bằng PHP. Vì vậy, bạn sẽ cần cài đặt máy chủ web Apache, máy chủ cơ sở dữ liệu MariaDB, PHP và các tiện ích mở rộng PHP khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server libapache2-mod-php php php-mysqli php-pdo php-pear php php-cgi php-cli php-common php-gd php-json php-readline php-curl php-intl php-ldap php-xml php-mbstring git -y
Mã:
nano /etc/php/7.4/apache2/php.ini
Mã:
post_max_size = 100Mupload_max_filesize = 100Mmax_execution_time = 7200memory_limit = 512Mdate.timezone = Asia/Kolkata
Mã:
systemctl restart apache2
Tạo Cơ sở dữ liệu cho sysPass
Theo mặc định, cài đặt MariaDB không được bảo mật. Vì vậy, trước tiên bạn cần bảo mật nó. Bạn có thể bảo mật bằng lệnh sau:
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không):Chuyển sang xác thực unix_socket [C/D] CĐổi mật khẩu gốc? [C/D] CMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [C/D] CKhông cho phép đăng nhập root từ xa? [C/D] CXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/D] CTải lại bảng đặc quyền ngay bây giờ? [C/D] CSau khi hoàn tất, hãy đăng nhập vào giao diện MariaDB bằng lệnh sau:
mysql -u root -p
Mã:
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost defined by "password";
Mã:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Cài đặt sysPass
Trước tiên, bạn sẽ cần tải xuống phiên bản sysPass mới nhất từ kho lưu trữ Git. Bạn có thể tải xuống bằng lệnh sau:
Mã:
git clone https://github.com/nuxsmin/sysPass.git
Mã:
mv sysPass /var/www/html/syspass
Mã:
chown -R www-data:www-data /var/www/html/syspass
Mã:
chmod 750 /var/www/html/syspass/app/{config,backup}
Đầu tiên, hãy tạo một tập lệnh cài đặt Composer bằng lệnh sau:
Mã:
nano /var/www/html/syspass/install-composer.sh
Mã:
#!/bin/sh EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] then >&2 echo 'LỖI: Chữ ký trình cài đặt không hợp lệ' rm composer-setup.php exit 1 fi php composer-setup.php --quiet RESULT=$? rm composer-setup.php exit $RESULT
Mã:
cd /var/www/html/syspass/
sh install-composer.sh
Mã:
php composer.phar install --no-dev
Cấu hình Apache Virtual Host cho sysPass
Tiếp theo, bạn sẽ cần tạo tệp cấu hình Apache virtual host để lưu trữ sysPass trên internet. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/syspass.conf
Mã:
ServerAdmin [emailprotected]DocumentRoot "/var/www/html/syspass"ServerName syspass.example.comOptions MultiViews FollowSymlinksAllowOverride AllOrder allow,denyAllow from allTransferLog /var/log/apache2/syspass_access.logErrorLog /var/log/apache2/syspass_error.log
Mã:
a2ensite syspass
Mã:
systemctl restart apache2
Mã:
systemctl status apache2
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2021-10-16 13:41:36 UTC; 4 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 17819 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID chính: 17824 (apache2) Nhiệm vụ: 6 (giới hạn: 2341) Bộ nhớ: 14,7M CPU: 76ms CGroup: /system.slice/apache2.service ??17824 /usr/sbin/apache2 -k start ??17825 /usr/sbin/apache2 -k start ??17826 /usr/sbin/apache2 -k start ??17827 /usr/sbin/apache2 -k start ??17828 /usr/sbin/apache2 -k start ??17829 /usr/sbin/apache2 -k start16 tháng 10 13:41:36 debian11 systemd[1]: Đang khởi động Máy chủ HTTP Apache...
Truy cập Giao diện người dùng web sysPass
Lúc này, sysPass đã được cài đặt và lưu trữ trên máy chủ web Apache. Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web sysPass bằng URL . Bạn sẽ được chuyển hướng đến trang sau:Cung cấp tên người dùng, mật khẩu quản trị, mật khẩu chính, thông tin xác thực cơ sở dữ liệu, chọn ngôn ngữ, chế độ lưu trữ và nhấp vào nút CÀI ĐẶT. Sau khi quá trình cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập sysPass.
Cung cấp tên người dùng, mật khẩu quản trị và nhấp vào nút >. Bạn sẽ thấy bảng điều khiển sysPass trên trang sau:
Bật hỗ trợ SSL Let's Encrypt trên sysPass
Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý SSL. Theo mặc định, gói Certbot được bao gồm trong kho lưu trữ mặc định của Debian 11 để bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Mã:
certbot --apache -d syspass.example.com
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: CóCá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 syspass.example.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/syspass-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/syspass-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/syspass-le-ssl.conf
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
Mã:
Bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/syspass.conf sang ssl vhost trong /etc/apache2/sites-available/syspass-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://syspass.example.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=syspass.example.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/syspass.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/syspass.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 2021-07-20. Để 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