Kho Vaultwarden của bạn có nên chỉ truy cập qua VPN? Ba điều kiện
Kho riêng là quyết định về định tuyến và khôi phục, không chỉ là một quy tắc tường lửa. Hãy kiểm tra ba điều kiện: truy cập ngay ngày đầu, bộ nhớ đệm chỉ đọc và đường quay lại.
Lần đăng nhập đầu tiên trên một chiếc điện thoại thay thế là lúc kho chỉ truy cập qua VPN cho thấy cái giá của nó: ứng dụng không có bộ nhớ đệm, máy chủ nằm sau một đường hầm, và thông tin đăng nhập của đường hầm có thể nằm trong kho mà bạn không mở được. Đây là câu hỏi thiết kế chứ không phải sự cố, và trả lời trước khi triển khai rẻ hơn trả lời sau đó. Ba điều kiện quyết định liệu một kho riêng có thực tế với người dùng của bạn hay không. Nếu bất kỳ điều nào thất bại, câu trả lời đúng thường là phơi bày hẹp hơn chứ không phải một bức tường VPN.
Điều kiện 1: người dùng của bạn đến được máy chủ ngay ngày đầu
Một thiết bị mới không có bộ nhớ đệm, không có phiên và không có niềm tin. Nó cần tên máy chủ được phân giải, tuyến đường để tới đó và một hồ sơ VPN đã cài đặt trước khi người dùng thử đăng nhập. Nếu một trong ba thứ đó chỉ đến sau lần đăng nhập đầu tiên, việc triển khai sẽ thất bại vào thời điểm tồi tệ nhất. Hãy đếm xem một nhân viên mới phải hoàn thành bao nhiêu bước trước khi mở được kho của mình.
Đường hầm chia tách thường phù hợp hơn ở đây: chỉ mang theo điểm cuối của kho và tuyến DNS mà nó cần, còn phần lưu lượng còn lại của người dùng hãy để yên. Đây là quyết định định tuyến đưa ra cùng chủ sở hữu VPN, không phải giả định rằng mọi ứng dụng khách di động tuân theo cùng một chính sách. Cả hai họ địa chỉ và tên máy chủ của dịch vụ phải nhất quán với lựa chọn đó.
Nếu người dùng không đến được máy chủ trước khi có thông tin đăng nhập hoạt động, điều kiện này thất bại và bức tường VPN có hình dạng sai.
Điều kiện 2: truy cập trong bộ nhớ đệm là chỉ đọc, và thế là đủ
Ứng dụng khách Bitwarden có thể hiển thị một kho đã mở khóa mà không cần đến máy chủ, và bản sao ngoại tuyến đó là chỉ đọc. Nó hữu ích để đọc mật khẩu trong lúc gián đoạn; đây không phải lần đăng nhập mới và cũng không phải chỉnh sửa. Hãy quyết định liệu chỉ đọc có chấp nhận được với người dùng của bạn trước khi thiết kế quanh nó.
curl -sI https://vault.example.com/alive
openssl s_client -connect vault.example.com:443 -servername vault.example.com </dev/nullKhóa và đăng xuất là hai trạng thái khác nhau, và sự khác biệt này quan trọng ở đây. Ứng dụng khách bị khóa giữ kho cục bộ ở dạng mã hóa và có thể mở khóa lại bằng mật khẩu chính hoặc sinh trắc học; đăng xuất xóa bản sao cục bộ đó và cần máy chủ. Nếu một script hỗ trợ bảo người dùng đăng xuất rồi đăng nhập lại để sửa lỗi đồng bộ, nó cũng xóa quyền truy cập ngoại tuyến của họ. Hãy kiểm tra hành động hết thời gian trên từng ứng dụng khách thay vì giả định giá trị mặc định.
Một bản sao trong bộ nhớ đệm không phải bản sao lưu. Nó sống trên một thiết bị, gắn với một tài khoản và biến mất khi đăng xuất hoặc xóa dữ liệu.
Điều kiện 3: khôi phục không đi qua chính kho
Trường hợp vòng tròn rất dễ tạo ra do vô tình: thông tin đăng nhập VPN được lưu trong kho, kho nằm sau VPN, và thiết bị duy nhất có bộ nhớ đệm lại là chiếc bị mất. Khi đó việc khôi phục phụ thuộc vào một tài liệu hoặc một người ngoài hệ thống. Hãy viết con đường khởi động đó ra và thử nó với một tài khoản có thể khôi phục trước khi ai đó cần. Một quy trình khẩn cấp mà không ai đã luyện tập chỉ là hy vọng.
Hãy thử trình tự một cách có kiểm soát: xác nhận mục nào hiện có vẫn đọc được ngoại tuyến, sau đó khôi phục tuyến mạng và xác minh rằng đăng nhập mới và đồng bộ đều hoạt động. Tránh đăng xuất khỏi bản sao trong bộ nhớ đệm duy nhất như một thử nghiệm, trừ khi có đường quay lại khác. Ghi lại những gì bạn quan sát, bao gồm phiên bản ứng dụng khách.
Nếu việc khôi phục cần đến kho, điều kiện này thất bại. Cách khắc phục là một con đường ngoài băng được ghi lại, không phải cảnh báo mạnh hơn trong tài liệu giới thiệu.
Những gì bạn vẫn giữ trong mọi trường hợp: HTTPS, bản sao lưu và cập nhật
HTTPS vẫn giữ nguyên vị trí ngay cả sau VPN. Nó cho dịch vụ web một danh tính mà trình duyệt có thể kiểm tra và giữ kết nối của ứng dụng được bảo vệ bất kể đường hầm kết thúc ở đâu. Một điểm cuối riêng không nên dạy người dùng bỏ qua cảnh báo chứng chỉ, vì thói quen đó theo họ đến các trang công khai.
Sao lưu là một kỷ luật tách biệt với tính sẵn sàng. Vaultwarden lưu dữ liệu trong một cơ sở dữ liệu, và một bản sao nhất quán được chụp khi dịch vụ đã dừng, hoặc một bản sao lưu ở mức cơ sở dữ liệu, đáng giá hơn một tệp được sao chép từ một tiến trình đang chạy. Giữ bản sao ngoài máy chủ của kho và thử một lần khôi phục. Tài liệu kho đã xuất cần sự bảo vệ như bản gốc, vì bản xuất không được mã hóa như kho lưu của máy chủ.
sqlite3 /data/db.sqlite3 ".backup '/backup/vault-2026-11-03.sqlite3'"
docker compose psSau đó hãy giữ máy chủ và các ứng dụng khách được cập nhật. Truy cập chỉ qua VPN giảm phơi bày; nó không làm một triển khai dễ tổn thương trở nên vô hại và không bảo vệ một điểm cuối đã bị xâm phạm. Ba điều kiện quyết định mô hình truy cập, và việc bảo trì quyết định mô hình đó có sống qua năm hay không.