Việc khuyến khích các thành viên trong gia đình làm quen với công nghệ mới luôn là một con dao hai lưỡi, đặc biệt khi họ có xu hướng sử dụng những mật khẩu dễ đoán. Tình trạng này đáng báo động khi internet ngày càng tiềm ẩn nhiều rủi ro lừa đảo và tấn công mạng, khiến việc quản lý mật khẩu trở nên vô cùng quan trọng. Để bảo vệ các thiết bị công nghệ của gia đình, congnghe360.net đã tìm kiếm một trình quản lý mật khẩu mã nguồn mở khuyến khích việc đặt mật khẩu mạnh hơn và chia sẻ chúng một cách dễ dàng mà không cần gửi bất kỳ thông tin nào ra ngoài mạng nội bộ.
Đây là một trong những yêu cầu quan trọng khi chọn Passbolt của chúng tôi. Chúng tôi coi đây là một thử nghiệm trước khi quyết định chi tiền cho các dịch vụ quản lý mật khẩu trả phí đắt đỏ và gặp khó khăn trong việc thuyết phục người khác sử dụng. Mục tiêu là chia sẻ thông tin đăng nhập cho các thiết bị cơ bản như máy tính, router, TV, hồ sơ Netflix, các dịch vụ tự host (self-hosted) và các dịch vụ trực tuyến khác với gia đình. Chúng tôi sẽ không thêm thông tin tài khoản ngân hàng hoặc thẻ tín dụng vào máy chủ Passbolt, và có thể dễ dàng loại bỏ chúng nếu ai đó vô tình thêm vào. Với cách tiếp cận tiết kiệm, chúng tôi đã triển khai Passbolt trên một Raspberry Pi 4B với 4GB RAM.
Tại sao Passbolt là lựa chọn tối ưu cho gia đình và những gì bạn cần chuẩn bị
Passbolt là một trình quản lý mật khẩu mã nguồn mở, cho phép bạn tự host trên mạng nội bộ của mình. Điều này mang lại quyền kiểm soát hoàn toàn dữ liệu của bạn, tăng cường bảo mật và loại bỏ sự phụ thuộc vào các dịch vụ bên thứ ba. Với khả năng chia sẻ mật khẩu an toàn và dễ dàng trong gia đình, Passbolt giúp mọi người sử dụng mật khẩu mạnh mà không cần ghi nhớ hay chia sẻ chúng qua các kênh kém an toàn như tin nhắn.
Để bắt đầu cài đặt và chạy Passbolt, bạn sẽ cần:
- Raspberry Pi với ít nhất 2GB RAM (chúng tôi khuyến nghị Raspberry Pi 4B với 4GB RAM trở lên).
- Thẻ nhớ microSD 16 GB hoặc 32 GB.
- Máy chủ Nginx đang chạy trên Raspberry Pi.
Thiết lập một instance Tailscale sẽ giúp quá trình này dễ dàng và an toàn hơn, đặc biệt nếu bạn muốn quản lý home lab của mình từ xa. Passbolt khuyến nghị cài đặt trên một máy chủ sạch, “Vanilla server” với các yêu cầu tối thiểu về dependencies, vì các thay đổi có thể làm hỏng một số tính năng. Chúng tôi đã thiết lập Passbolt trên Raspberry Pi 4 với hệ điều hành Raspbian Pi OS Lite (64-bit) ở chế độ headless (không màn hình). Nếu bạn sử dụng bất kỳ bản phân phối Linux nào khác, hãy điều chỉnh các lệnh và cú pháp cho phù hợp.
Người dùng cầm Raspberry Pi trước màn hình, minh họa cài đặt headless
Bước 1: Tạo chứng chỉ SSL cho Raspberry Pi của bạn
Quan trọng cho bảo mật trong trình duyệt, ngay cả khi truy cập cục bộ
Hầu hết các ứng dụng tự host mà bạn chạy cục bộ đều sử dụng HTTP. Việc áp dụng điều tương tự cho trình quản lý mật khẩu sẽ là một thiếu sót lớn về bảo mật. Đó có lẽ là lý do tại sao Passbolt yêu cầu sử dụng HTTPS với chứng chỉ SSL để bảo mật tốt hơn. Và điều tuyệt vời nhất là bạn có thể tự thêm các chứng chỉ SSL này. Chúng tôi đã thử sử dụng chứng chỉ tự ký (self-signed certificates), nhưng các trình duyệt liên tục hiển thị lỗi “Not Secure” với biểu tượng tam giác cảnh báo màu đỏ bên cạnh biểu tượng ổ khóa trên thanh địa chỉ.
May mắn thay, chúng tôi có một instance Tailscale đang chạy trên Raspberry Pi, cho phép kích hoạt HTTPS để bảo mật tốt hơn. Tuy nhiên, chúng tôi phải sử dụng tên máy cụ thể như nó xuất hiện trong cấu hình Tailscale, điều này rất quan trọng để tạo chứng chỉ SSL. Dưới đây là cách bạn có thể tìm tên máy từ bảng điều khiển Tailscale:
- Đăng nhập vào trang web chính thức của Tailscale bằng thông tin đăng nhập của bạn.
- Từ Tailscale Dashboard, nhấp vào tên máy mà bạn muốn tạo chứng chỉ SSL.
Giao diện Tailscale Dashboard, nhấn vào tên máy để xem chi tiết
- Ghi lại tên miền đầy đủ (Full Domain) của máy đó.
Sao chép tên miền đầy đủ (Full Domain) của máy từ bảng điều khiển Tailscale
Sau đó, mở terminal trên Pi của bạn và tạo một thư mục chuyên dụng:
mkdir certs
Tiếp theo, điều hướng đến thư mục đó:
cd ./certs
Bây giờ, chạy lệnh sau để sử dụng Tailscale tạo chứng chỉ SSL cho máy của bạn:
Màn hình terminal hiển thị lệnh Tailscale để tạo chứng chỉ SSL
tailscale cert <machine-name>.<tailnet>.ts.net
Trong lệnh này, hãy thay thế “Machine Name” và “Tailnet” bằng các giá trị của “Full Domain” mà bạn đã ghi lại trước đó.
Khi Tailscale đã tạo chứng chỉ và khóa, hãy đảm bảo rằng nó có thể truy cập được bởi người dùng ‘www-data’ của Nginx. Bạn có thể cấp quyền bằng các lệnh sau:
sudo chown -R www-data:www-data /path/to/machinename.tailnet.ts.net.cert
sudo chown -R www-data:www-data /path/to/machinename.tailnet.ts.net.key
Hãy thêm đường dẫn thư mục lưu trữ các tệp .cert và .key vào máy của bạn. Một trong những lợi ích chính khi sử dụng chứng chỉ Tailscale là bạn có thể là quản trị viên và là người duy nhất có thông tin đăng nhập Tailscale để quản lý mật khẩu trong Passbolt.
Bước 2: Cấu hình máy chủ SMTP của Google cho thông báo email (Tùy chọn)
Bỏ qua bước này nếu bạn sử dụng nhà cung cấp email khác
Thay vì thiết lập một máy chủ SMTP từ đầu, chúng tôi đã chọn Google làm nhà cung cấp dịch vụ để gửi thông báo email. Nếu bạn định sử dụng tương tự, bạn có thể dùng trang Tài khoản Google của mình để tạo một Mật khẩu ứng dụng (App Password) duy nhất cho Passbolt.
Mở trang Mật khẩu ứng dụng của Google trong trình duyệt, đặt Passbolt làm tên ứng dụng và tạo mật khẩu duy nhất gồm 16 chữ số mới. Khi mật khẩu xuất hiện trong cửa sổ bật lên, bạn phải sao chép mật khẩu 16 chữ số đó và lưu trữ ở nơi an toàn. Đó là vì nếu bạn mất hoặc quên mật khẩu duy nhất này, bạn sẽ không thể lấy lại hoặc xem lại nó.
Trang tạo mật khẩu ứng dụng (App Password) của Google để sử dụng SMTP
Bước 3: Cài đặt Passbolt Server trên Raspberry Pi
Nó thiết lập hầu hết các biến môi trường
Passbolt Community Edition là phiên bản miễn phí mà bạn có thể triển khai trên máy của mình. Bạn có thể cài đặt nó trực tiếp bằng Docker hoặc trên các hệ điều hành được hỗ trợ. Mặc dù quá trình cài đặt có tính tương tác, nhưng nó chỉ mất vài phút để hoàn thành trừ khi có vấn đề với chứng chỉ SSL.
Các bước cài đặt Passbolt server
-
Chạy script thu thập tất cả các dependencies cần thiết cho Passbolt:
Lệnh tải script cài đặt Passbolt Community Edition trong terminal
curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh
-
Tải SHA512SUM của Passbolt Community Edition và lưu lại:
Lệnh tải file SHA512SUM để kiểm tra tính toàn vẹn của script cài đặt Passbolt
curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt
-
Kiểm tra tính hợp lệ của script cài đặt Passbolt trước khi chạy:
Kiểm tra tính hợp lệ của script cài đặt Passbolt bằng file checksum trong terminal
sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh
-
Nếu mọi thứ ổn, bạn có thể cài đặt Passbolt server:
Lệnh cài đặt Passbolt server trên Raspberry Pi trong terminal
sudo apt install passbolt-ce-server
-
Làm theo các hướng dẫn trên màn hình để cài đặt và cấu hình MariaDB server cục bộ. Bạn có thể nhấn Enter để sử dụng các giá trị cơ sở dữ liệu mặc định và thêm mật khẩu khi cần thiết.
-
Trên màn hình thiết lập SSL, chọn Manual và sau đó cung cấp địa chỉ đến các thư mục chứa các tệp .cert và .key. Khi script cấu hình phát hiện chứng chỉ, nó sẽ tiếp tục hoàn tất cài đặt.
Khi quá trình cài đặt kết thúc, bạn sẽ nhận được một thông báo xác nhận. Passbolt sẽ chỉ cho bạn một địa chỉ HTTPS hoặc IP để hoàn tất cài đặt.
Trong trường hợp có thông báo lỗi, bạn có thể cần phải gỡ bỏ (purge) mọi thứ và bắt đầu lại từ đầu.
Cấu hình Passbolt server
Bạn sẽ cần thiết lập Passbolt server để sử dụng nó cục bộ với những người khác.
Lưu ý: Sử dụng
smtp.google.com
cho tài khoản Gmail miễn phí vàsmtp-relay.google.com
cho tài khoản Google Workspace trả phí.
-
Mở hostname hoặc IP mà bạn đã cấu hình cho Passbolt trong một trình duyệt web để cấu hình nó. Nhấp vào nút ‘Get Started’.
Trang "Get Started" của Passbolt trong trình duyệt để bắt đầu cấu hình
-
Passbolt sẽ kiểm tra các biến môi trường trước khi cho phép bạn cấu hình bất cứ điều gì. Nếu bạn thấy tất cả đều xanh, hãy nhấp vào ‘Start Configuration’.
Nút "Start Configuration" xuất hiện sau khi Passbolt kiểm tra các biến môi trường
-
Gán một tên máy chủ (server name), nhập email của bạn và nhấp vào Next để Passbolt tạo một khóa GPG mới cho máy chủ của bạn.
Các tùy chọn để thêm tên máy chủ và tạo khóa OpenGPG mới cho Passbolt server
-
Thêm địa chỉ IP cục bộ của cơ sở dữ liệu bạn đã tạo trong khi cài đặt Passbolt, cùng với tên người dùng, mật khẩu và tên cơ sở dữ liệu.
Thêm chi tiết cơ sở dữ liệu MySQL/MariaDB trong quá trình cấu hình Passbolt
-
Bạn có thể thiết lập URL Passbolt tùy chỉnh và đảm bảo rằng bạn đã bật ‘Force SSL’ cho địa chỉ đó.
Cấu hình fullbaseurl và bật chế độ Force SSL cho Passbolt
-
Bạn có thể sử dụng chi tiết máy chủ SMTP bằng cách thiết lập cục bộ hoặc từ các nhà cung cấp dịch vụ email như Gmail. Điều này là cần thiết để mời mọi người tham gia máy chủ Passbolt của bạn. Sử dụng ‘Send Test Mail’ để kiểm tra xem cài đặt SMTP của bạn có hoạt động và máy của bạn có thể gửi email hay không.
Thiết lập chi tiết máy chủ SMTP của Google Gmail trong cấu hình Passbolt
-
Kiểm tra xem giá trị của full base URL có khớp với tên miền đầy đủ mà bạn đã lấy từ Tailscale hay không.
Cuối cùng, bạn có thể tạo người dùng đầu tiên với tên và email để hoàn tất cài đặt.
Khi bạn mở lại URL Passbolt, bạn sẽ cần đặt một mật khẩu mạnh và bộ công cụ khôi phục mật khẩu của bạn sẽ tự động tải xuống. Hãy lưu trữ bộ công cụ khôi phục này ở một nơi an toàn. Tiếp theo, bạn có thể xác định một mã thông báo bảo mật (security token) dựa trên sự kết hợp văn bản và màu sắc để thêm một lớp bảo mật khác.
Sau đó, bạn có thể thêm người dùng mới và lưu mật khẩu cho các tài khoản đăng nhập khác nhau. Chúng tôi đã tạo một nhóm tên “Gia đình” để gửi lời mời hàng loạt và giúp việc chia sẻ mật khẩu chọn lọc với họ trở nên dễ dàng hơn. Đối với mỗi lời mời, Passbolt khuyến khích người dùng tạo một mật khẩu mạnh, chọn mã thông báo bảo mật cho việc đăng nhập và tự động tải xuống bộ công cụ khôi phục về thiết bị của người dùng.
Bước đầu tiên hướng tới thực hành chia sẻ mật khẩu có ý thức
Khuyến khích các thành viên trong gia đình sử dụng trình quản lý mật khẩu là một nhiệm vụ lớn. Tuy nhiên, Passbolt đã giúp việc khuyến khích (và bắt buộc) họ sử dụng mật khẩu mạnh, độc đáo và lưu trữ bộ công cụ khôi phục trở nên dễ dàng. Đồng thời, nó đã giảm thói quen chia sẻ mật khẩu ở dạng văn bản thuần túy qua trò chuyện, tin nhắn hoặc chỉ đơn giản là đọc lớn tiếng. Tailscale cho phép chúng tôi hỗ trợ họ ngay cả khi chúng tôi không có mặt ở nhà.
Tự host một trình quản lý mật khẩu có những lợi ích và rủi ro riêng. Nó là lựa chọn hợp lý và phù hợp cho những người đam mê home lab, những người tự host các ứng dụng và dịch vụ trên mạng gia đình. Bạn có thể thiết lập một instance Tailscale hoặc VPN để triển khai các biện pháp bảo mật thích hợp và truy cập nó từ bất cứ đâu.
Việc tự host Passbolt trên Raspberry Pi không chỉ mang lại giải pháp quản lý mật khẩu an toàn, mạnh mẽ cho gia đình mà còn giúp nâng cao nhận thức về bảo mật cho mọi thành viên. Hãy cùng congnghe360.net khám phá thêm các giải pháp công nghệ tiện ích khác để cuộc sống số của bạn an toàn và hiệu quả hơn.