Đang tải bài viết...
Zero Trust Access: Thêm một lớp khoá cho URL vừa public lên Internet
Zero Trust Access là gì?
Zero Trust Access là lớp xác thực đặt phía trước ứng dụng của bạn, hoạt động ngay tại biên mạng của Cloudflare — trước khi request chạm tới webserver nội bộ. Thay vì tin tưởng "ai nằm trong mạng nội bộ thì được phép" (mô hình cũ), Zero Trust áp dụng nguyên tắc: không tin bất kỳ ai theo mặc định, mọi request đều phải được xác minh danh tính, dù request đó đến từ đâu.
Về mặt kỹ thuật, khi bạn bật Access cho một hostname (ví dụ nas.anonyht.com), Cloudflare sẽ:
- Chặn mọi truy cập trực tiếp vào hostname đó.
- Hiển thị một trang đăng nhập trung gian (do Cloudflare host).
- Xác thực người dùng theo policy bạn định nghĩa (email, nhóm Google, One-time PIN, v.v.).
- Chỉ khi xác thực thành công, request mới được forward qua Tunnel vào webserver thật.
Nói cách khác, webserver nội bộ của bạn giờ có hai lớp bảo vệ: Tunnel giấu địa chỉ mạng, còn Access kiểm soát danh tính người truy cập.
Vì sao nên dùng thêm Access dù webserver đã có login riêng?
Một câu hỏi hợp lý: "NAS/app của tôi đã có trang đăng nhập rồi, cần Access làm gì?"
- Ẩn hoàn toàn ứng dụng khỏi người lạ: chưa qua Access thì kẻ tấn công còn chưa "nhìn thấy" giao diện đăng nhập thật của app, giảm diện tấn công (brute-force, dò lỗ hổng CVE của phần mềm NAS...).
- Không phụ thuộc vào độ an toàn của app gốc: nhiều phần mềm NAS, dashboard nội bộ vốn không được thiết kế để expose thẳng ra Internet.
- Xác thực bằng danh tính thật (email) thay vì mật khẩu: hạn chế rủi ro lộ mật khẩu, không cần nhớ thêm password.
- Log truy cập tập trung: biết chính xác ai, lúc nào, từ đâu đã cố truy cập.
Chuẩn bị
- Domain đã được quản lý qua Cloudflare (đã làm ở bài Tunnel).
- Tunnel đã trỏ hostname, ví dụ: nas.anonyht.com (access dashboard NAS từ xa) vào service nội bộ, đã truy cập thử thành công.
- Một tài khoản Cloudflare (miễn phí, gói Zero Trust Free đủ dùng cho cá nhân/nhóm nhỏ).
Bước 1: Kích hoạt Cloudflare Zero Trust
- Vào Cloudflare Dashboard → chọn mục Zero Trust ở sidebar (nếu lần đầu, Cloudflare sẽ yêu cầu đặt một Team name, ví dụ anonyht — tên này chỉ dùng nội bộ, không ảnh hưởng domain public).
- Chọn gói Free (đủ cho tối đa 50 user).
- Sau khi khởi tạo xong, bạn sẽ vào được giao diện Zero Trust riêng, tách biệt với dashboard DNS thông thường.
Bước 2: Tạo một Access Application cho nas.anonyht.com
- Trong Zero Trust Dashboard, vào Access → Applications → Add an application.
- Chọn loại Self-hosted.
- Điền thông tin ứng dụng:
- Application name: NAS Nội Bộ (tên hiển thị trên trang login).
- Session duration: thời gian giữ phiên đăng nhập trước khi phải xác thực lại, ví dụ 24 hours hoặc 7 days tuỳ mức độ tiện/ chặt bạn muốn.
- Application domain: chọn domain anonyht.com, subdomain điền nas, path để trống nếu muốn bảo vệ toàn bộ hostname.

4. Nhấn Next để sang bước cấu hình policy.
Bước 3: Tạo Policy — quyết định "ai" được vào
Policy là nơi khai báo điều kiện truy cập. Ví dụ đơn giản và phổ biến nhất: chỉ cho phép một địa chỉ email cụ thể.
- Policy name: ví dụ Allow email: ADMIN.

- Action: Allow.
- Trong phần Include, chọn rule type là Emails, nhập địa chỉ: [email protected]

- Có thể thêm nhiều email khác nếu muốn chia sẻ quyền truy cập cho vài người tin cậy, mỗi dòng một địa chỉ.
- (Tuỳ chọn nâng cao) Có thể kết hợp thêm điều kiện Country để chỉ cho phép truy cập từ Việt Nam, hoặc Require thêm yếu tố như thiết bị đã cài WARP client — phù hợp nếu bạn muốn siết chặt hơn cho môi trường doanh nghiệp.
- Nhấn Next, xác nhận lại cấu hình rồi Add application.
Bước 4: Chọn phương thức đăng nhập (Identity Provider)
Mặc định, Cloudflare Access cung cấp sẵn phương thức One-time PIN: người dùng nhập email, hệ thống gửi một mã PIN 6 số về email đó, nhập mã là vào được — không cần tạo tài khoản, không cần nhớ mật khẩu.
Đây là lựa chọn đơn giản nhất và phù hợp với hầu hết trường hợp cá nhân/gia đình. Nếu muốn nâng cao hơn, tại Settings → Authentication, bạn có thể tích hợp thêm:
- Google Workspace / Google login
- GitHub
- Microsoft Azure AD
- Hoặc bất kỳ nhà cung cấp hỗ trợ chuẩn SAML / OIDC
Với quy mô cá nhân, One-time PIN gửi về [email protected] là đủ dùng và không tốn thêm bước cấu hình.
Bước 5: Kiểm tra thực tế
- Mở trình duyệt ẩn danh, truy cập https://nas.anonyht.com.
- Thay vì thấy thẳng giao diện NAS, bạn sẽ thấy trang đăng nhập do Cloudflare Access hiển thị, yêu cầu nhập email.

- Nhập [email protected], kiểm tra hộp thư để lấy mã PIN, nhập vào.

- Nếu email không nằm trong danh sách được Allow ở Policy, hệ thống sẽ báo "Access denied" dù có nhập đúng email thật của người dùng — chứng tỏ policy đang hoạt động đúng.
- Sau khi xác thực thành công, trình duyệt mới được forward tiếp vào giao diện thật của NAS (qua Tunnel như bài trước).
Theo dõi và quản lý truy cập
Trong Zero Trust Dashboard, mục Logs → Access requests cho phép xem lại toàn bộ lịch sử: ai đã cố đăng nhập, thành công hay bị từ chối, từ IP/quốc gia nào, vào lúc nào. Đây là công cụ hữu ích để phát hiện sớm nếu có ai đó đang cố dò truy cập vào hệ thống của bạn.

Nếu cần thu hồi quyền truy cập của một người, chỉ cần xoá email đó khỏi Policy — không cần đổi mật khẩu hay cấu hình lại Tunnel.
Tổng kết
Sau hai bài viết, hệ thống của bạn giờ có kiến trúc bảo mật khá đầy đủ cho một webserver nội bộ được public:
- Cloudflare Tunnel: đưa webserver ra Internet mà không cần mở port, không lộ IP thật.
- Zero Trust Access: đặt lớp xác thực danh tính trước ứng dụng, chỉ những email được cấp phép (như
[email protected]) mới vào đượcnas.anonyht.com.
Kết hợp cả hai, bạn có một giải pháp remote access an toàn, miễn phí, không cần VPN truyền thống, không cần quản lý firewall phức tạp — rất phù hợp cho homelab, NAS cá nhân hay các dashboard nội bộ quy mô nhỏ.
Bình luận (0)
Vui lòng để bình luận.