Việc khuyến khích các thành viên trong gia đình làm quen và áp dụng 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. Điều này thực sự đáng lo ngại trong bối cảnh Internet đầy rẫy các chiêu trò 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ệ an toàn công nghệ cho gia đình mình, tôi đã tìm hiểu các lựa chọn cho một trình quản lý mật khẩu mã nguồn mở, có khả năng 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ộ của tôi.
Đó là một vài yêu cầu chính của tôi khi lựa chọn Passbolt. Tôi coi đây là một thử nghiệm trước khi quyết định đầu tư vào một dịch vụ quản lý mật khẩu trả phí đắt đỏ và đối mặt với khó khăn trong việc thuyết phục người khác sử dụng. Tôi dự định chia sẻ thông tin đăng nhập cho các thiết bị cơ bản như máy tính, router Wi-Fi, TV, hồ sơ Netflix, các dịch vụ tự host, và nhiều dịch vụ trực tuyến khác với gia đình. Tôi sẽ không thêm thông tin ngân hàng hay thẻ tín dụng vào máy chủ Passbolt, và tôi có thể dễ dàng xóa chúng nếu ai đó vô tình thêm vào. Với cách tiếp cận tiết kiệm, tôi đã triển khai Passbolt trên một chiếc Raspberry Pi 4B với 4GB RAM.
Dưới đây là những gì bạn cần để cài đặt và chạy Passbolt:
- Raspberry Pi với ít nhất 2GB RAM
- Thẻ nhớ microSD 16 GB hoặc 32 GB
- Máy chủ Nginx đang chạy trên thiết bị
Thiết lập một phiên bản 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” với các yêu cầu tối thiểu về phụ thuộc, vì các thay đổi có thể làm hỏng một số tính năng. Tôi đã thiết lập Passbolt trên Pi 4 với hệ điều hành Raspbian Pi OS Lite (64-bit) ở chế độ headless. 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.
Tại sao nên dùng Bitwarden – Trình quản lý mật khẩu mã nguồn mở
Tại sao chọn Passbolt và Raspberry Pi cho quản lý mật khẩu gia đình?
Việc tự host một trình quản lý mật khẩu như Passbolt trên Raspberry Pi mang lại nhiều lợi ích đáng kể, đặc biệt đối với các gia đình muốn kiểm soát hoàn toàn dữ liệu của mình và tối ưu hóa chi phí. Passbolt, với bản chất mã nguồn mở, cung cấp sự minh bạch và khả năng tùy chỉnh mà các dịch vụ đám mây khó sánh bằng.
Khi triển khai trên Raspberry Pi, một thiết bị nhỏ gọn và tiết kiệm năng lượng, chúng ta có thể xây dựng một giải pháp quản lý mật khẩu mạnh mẽ với chi phí đầu tư ban đầu thấp. Điều này đặc biệt phù hợp với những người đam mê công nghệ tại Việt Nam muốn xây dựng “home lab” cá nhân. Mục tiêu chính là khuyến khích các thành viên gia đình sử dụng mật khẩu độc nhất và mạnh mẽ hơn, đồng thời tạo một kênh an toàn để chia sẻ thông tin đăng nhập cần thiết mà không lo ngại về rò rỉ dữ liệu ra bên ngoài mạng gia đình.
Tôi xem đây là một bước thử nghiệm hiệu quả trước khi cân nhắc các gói dịch vụ quản lý mật khẩu trả phí đắt đỏ. Các dịch vụ dự kiến sẽ được quản lý bao gồm thông tin đăng nhập máy tính, cài đặt router Wi-Fi, hồ sơ các dịch vụ giải trí như Netflix, và các ứng dụng, dịch vụ tự host khác trong mạng nội bộ. Điều quan trọng cần lưu ý là tôi sẽ không lưu trữ bất kỳ thông tin nhạy cảm nào như chi tiết tài khoản ngân hàng hoặc thẻ tín dụng trên máy chủ Passbolt. Nếu có ai đó vô tình thêm vào, tôi có thể dễ dàng gỡ bỏ chúng.
Để bắt đầu hành trình tự host Passbolt, bạn cần chuẩn bị một số thiết bị và phần mềm cơ bản:
- Raspberry Pi: Ít nhất 2GB RAM. (Ví dụ: Raspberry Pi 4B với 4GB RAM là lựa chọn lý tưởng).
- Thẻ nhớ microSD: Dung lượng 16GB hoặc 32GB để cài đặt hệ điều hành và lưu trữ dữ liệu.
- Nginx: Một máy chủ web nhẹ và hiệu quả, sẽ chạy trên Raspberry Pi để phục vụ Passbolt.
Việc thiết lập một phiên bản Tailscale cũng được khuyến nghị để đơn giản hóa quá trình và tăng cường bảo mật, đặc biệt nếu bạn muốn truy cập và quản lý home lab của mình từ xa một cách an toàn. Passbolt khuyến nghị cài đặt trên một máy chủ “sạch” (fresh, vanilla server) với các thành phần phụ thuộc tối thiểu để tránh xung đột hoặc lỗi tính nă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ế độ không màn hình (headless). Nếu bạn sử dụng bản phân phối Linux khác, hãy điều chỉnh các lệnh và cú pháp cho phù hợp.
Tối ưu bảo mật và truy cập từ xa với Tailscale
Bảo mật là yếu tố hàng đầu khi quản lý mật khẩu. Việc sử dụng giao thức HTTP cho các ứng dụng tự host cục bộ có thể tiện lợi nhưng hoàn toàn không phù hợp với trình quản lý mật khẩu. Đó là lý do tại sao Passbolt yêu cầu sử dụng HTTPS với chứng chỉ SSL để đảm bảo mức độ bảo mật cao hơn. Mặc dù có thể tạo chứng chỉ tự ký, nhưng các trình duyệt thường hiển thị cảnh báo “Không an toàn” (Not Secure), điều này có thể gây lo ngại cho người dùng.
May mắn thay, nếu bạn đã thiết lập một phiên bản Tailscale trên Raspberry Pi của mình, bạn có thể dễ dàng kích hoạt HTTPS để tăng cường bảo mật. Tailscale không chỉ giúp truy cập từ xa an toàn mà còn hỗ trợ tạo chứng chỉ SSL cho các máy chủ trong mạng của bạn. Để làm được điều này, bạn cần sử dụng tên máy cụ thể như nó xuất hiện trong cấu hình Tailscale của bạn.
Ảnh một người đang cầm Raspberry Pi trước màn hình, mô tả cài đặt headless
Bước 1: Tạo chứng chỉ SSL cho Raspberry Pi của bạn
Thực hiện theo các bước dưới đây để tìm tên máy và tạo chứng chỉ SSL:
- Đă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.
Hướng dẫn chọn tên máy từ bảng điều khiển Tailscale
- Ghi lại tên Full Domain của máy đó.
Sao chép tên miền đầy đủ của máy từ Tailscale Dashboard
Sau khi có tên miền đầy đủ, mở Terminal trên Raspberry Pi và tạo một thư mục chuyên dụng:
mkdir certs
Sau đó, đ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:
Lệnh tạo chứng chỉ SSL với Tailscale trong Terminal
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ị từ tên miền đầy đủ mà bạn đã ghi lại trước đó.
Khi Tailscale đã tạo chứng chỉ và khóa, hãy đảm bảo chúng 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
trên máy của bạn vào các lệnh trên. Một trong những lợi ích chính của việc sử dụng chứng chỉ Tailscale là bạn có thể là quản trị viên duy nhất có thông tin đăng nhập Tailscale để quản lý mật khẩu trong Passbolt.
Thiết lập dịch vụ gửi email thông báo (SMTP)
Thay vì thiết lập một máy chủ SMTP từ đầu, tôi đã chọn Google làm nhà cung cấp dịch vụ để gửi email thông báo. Nếu bạn cũng muốn sử dụng dịch vụ tương tự, bạn có thể tạo một Mật khẩu ứng dụng (App Password) duy nhất cho Passbolt từ trang tài khoản Google của mình.
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 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ổ pop-up, bạn phải sao chép mật khẩu 16 chữ số này và lưu trữ nó ở một nơi an toàn. Lý do là nếu bạn làm 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 nó một lần nữa.
Trang tạo mật khẩu ứng dụng Google cho SMTP
Cài đặt Passbolt Server trên Raspberry Pi
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ó nguyên bản bằng Docker hoặc trực tiếp trên 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ài đặt máy chủ Passbolt
-
Chạy script thu thập tất cả các phụ thuộc cần thiết cho Passbolt:
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:
Kiểm tra tính hợp lệ của script cài đặt Passbolt bằng mã kiểm tra SHA512SUM
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:
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ứ đều ổn, bạn có thể cài đặt máy chủ Passbolt:
Lệnh cài đặt Passbolt server thành công 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 máy chủ MariaDB 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 quá trình cài đặt.
Khi quá trình cài đặt hoàn tất, bạn sẽ nhận được 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 việc cài đặt. Trong trường hợp có thông báo lỗi, bạn có thể cần xóa (purge) mọi thứ và bắt đầu lại từ đầu.
Cấu hình Passbolt Server sau khi cài đặt
Bạn sẽ cần thiết lập máy chủ Passbolt để sử dụng 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 địa chỉ IP mà bạn đã cấu hình cho Passbolt trong một trình duyệt web để bắt đầu cấu hình. Nhấp vào nút ‘Get Started’.
Bắt đầu cấu hình Passbolt trong trình duyệt
- 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 tất cả đều màu xanh lá cây, nhấp vào ‘Start Configuration’.
Nút "Start Configuration" sau khi kiểm tra biến môi trường trong Passbolt
- Gán tên máy chủ, 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.
Tùy chọn tạo khóa OpenGPG mới cho máy chủ Passbolt
- Thêm địa chỉ IP cục bộ của cơ sở dữ liệu bạn đã tạo trong quá trình 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 trong cấu hình Passbolt
- Bạn có thể thiết lập một URL Passbolt tùy chỉnh và đảm bảo rằng bạn đã bật Force SSL cho địa chỉ này.
Cấu hình fullbaseurl và buộc 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 Passbolt
- Kiểm tra xem giá trị URL cơ sở đầy đủ (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 quá trình 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ể định nghĩa một mã 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 lần đăng nhập khác nhau. Tôi đã tạo một nhóm tên là “Gia đình” (Family) để gửi lời mời hàng loạt và giúp việc chia sẻ các mật khẩu được chọn 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 cụm mật khẩu mạnh (strong passphrase), chọn một mã bảo mật cho lần đăng nhập, và cũng tự động tải xuống bộ công cụ khôi phục vào thiết bị của người dùng.
Tủ mạng chứa các thiết bị mạng gia đình
Passbolt: Bước tiến mới trong chia sẻ mật khẩu an toàn
Việc thuyết phục 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ụ không hề nhỏ. Tuy nhiên, Passbolt đã giúp quá trình này trở nên dễ dàng hơn bằng cách khuyến khích (và gần như buộc) họ sử dụng mật khẩu mạnh, độc nhất và lưu trữ bộ công cụ khôi phục. Đồng thời, nó đã giảm thiểu thói quen chia sẻ mật khẩu dưới dạng văn bản rõ ràng qua tin nhắn, chat, hoặc chỉ đơn giản là nói lớn. Tailscale còn cho phép tôi hỗ trợ họ ngay cả khi tôi không có mặt ở nhà.
Tự host một trình quản lý mật khẩu như Passbolt mang lại cả lợi ích và rủi ro. Giải pháp này đặc biệt phù hợp và có ý nghĩa đối với những người đam mê “home lab” và thường xuyên tự host các ứng dụng, dịch vụ trong mạng gia đình. Bạn có thể thiết lập Tailscale hoặc một phiên bản VPN như WireGuard để triển khai các biện pháp bảo mật phù hợp và truy cập vào hệ thống của mình từ bất cứ đâu. Đây là một bước tiến quan trọng hướng tới các phương pháp chia sẻ mật khẩu an toàn và có ý thức hơn trong kỷ nguyên số.
Hãy bắt đầu hành trình bảo mật mật khẩu gia đình của bạn ngay hôm nay với Passbolt và Raspberry Pi!