Truy cập từ xa an toàn với AWS Verified Access
Quản lý kết nối an toàn đến các khối lượng công việc riêng tư luôn là một thách thức lớn. Truyền thống, các tổ chức thường dựa vào VPN hoặc máy chủ bastion. Mặc dù các phương pháp này hoạt động, nhưng chúng lại mở rộng bề mặt tấn công lớn hơn và thiếu kiểm soát truy cập theo ngữ cảnh.
AWS đã giới thiệu Verified Access (VA) để giải quyết vấn đề này — cung cấp quyền truy cập Zero Trust đến các khối lượng công việc của bạn mà không cần sử dụng VPN.
AWS Verified Access là gì?
AWS Verified Access là một dịch vụ Truy cập Mạng Zero Trust (ZTNA) cho phép bạn cung cấp quyền truy cập an toàn đến các ứng dụng nội bộ mà không cần VPN. Nó đánh giá từng yêu cầu dựa trên các chính sách, danh tính người dùng, trạng thái bảo mật thiết bị, và các tín hiệu ngữ cảnh khác trước khi cấp quyền truy cập.
Thay vì cấp quyền truy cập mạng rộng rãi, VA đảm bảo rằng chỉ các yêu cầu đã được xác minh và tin cậy mới đến được ứng dụng của bạn.
Các thành phần chính của Verified Access
AWS Verified Access được xây dựng xung quanh bốn thành phần chính:
1. Verified Access Instance
Đây là tài nguyên cấp cao nhất chứa tất cả các tài nguyên VA khác. Nó xác định phạm vi cho các nhà cung cấp tin cậy, nhóm và các điểm kết nối.
2. Verified Access Trust Providers
Các nguồn bên ngoài về danh tính hoặc trạng thái thiết bị được sử dụng để đánh giá các yêu cầu. Một số ví dụ bao gồm:
- Nhà cung cấp OIDC (Amazon Cognito, Okta, Ping, Auth0)
- IAM Identity Center
- Các nhà cung cấp dựa trên thiết bị (Jamf, CrowdStrike)
3. Verified Access Groups
Các tập hợp logic của các điểm kết nối với các chính sách liên quan. Các chính sách được viết bằng ngôn ngữ chính sách Cedar và thực thi các quyết định truy cập (ví dụ: chỉ cho phép các email đã được xác minh, hạn chế theo trạng thái thiết bị).
plaintext
permit(principal,action,resource)
when {
context.cognitopolicy.email_verified == "true"
};
4. Verified Access Endpoints
Các kết nối đến các ứng dụng nội bộ của bạn. Các điểm kết nối này có thể tích hợp với Application Load Balancers (ALBs), Network Load Balancers (NLBs), hoặc Elastic Network Interfaces (ENIs), tùy thuộc vào ứng dụng mục tiêu.
Các giao thức được hỗ trợ cho Verified Access Endpoints
Các điểm kết nối Verified Access hỗ trợ nhiều giao thức khác nhau tùy thuộc vào khối lượng công việc của bạn:
- HTTPS – Lý tưởng cho các ứng dụng web yêu cầu mã hóa và xác thực.
- HTTP – Hỗ trợ cho các ứng dụng nội bộ không mã hóa (mặc dù TLS/HTTPS được khuyến nghị mạnh mẽ).
- TCP – Đối với các khối lượng công việc không phải HTTP, chẳng hạn như cơ sở dữ liệu, RDP hoặc CIDR Ranges.
👉 Tính linh hoạt này cho phép bạn sử dụng Verified Access không chỉ cho các ứng dụng web, mà còn cho việc kết nối an toàn đến các dịch vụ nội bộ không phải web.
Cách thiết lập Verified Access (Tổng quan)
Dưới đây là cách tôi thiết lập AWS Verified Access cho một ứng dụng nội bộ:
- Tạo một Cognito User Pool – để quản lý người dùng ứng dụng.
- Cấu hình các nhà cung cấp tin cậy – chọn OIDC và tích hợp Cognito; các nhà cung cấp dựa trên thiết bị như Jamf và CrowdStrike cũng được hỗ trợ.
- Triển khai một Verified Access Instance – là container gốc cho tất cả các tài nguyên VA.
- Định nghĩa một Verified Access Group – áp dụng chính sách chỉ cho phép những người dùng có miền email đã được xác minh truy cập.
- Tạo một Verified Access Endpoint – gắn nó vào một ALB nội bộ mà ứng dụng của tôi đang chạy.
- Cập nhật Route 53 – ánh xạ một tên DNS thân thiện đến điểm kết nối Verified Access.
Khi hoàn tất, người dùng có thể truy cập ứng dụng một cách an toàn thông qua Verified Access, mà không cần VPN.
plaintext
User → Route 53 → Verified Access Endpoint
│
▼
IAM Identity Center (SSO)
│
[Đánh giá chính sách]
│
▼
Internal ALB
│
▼
Backend App
Tại sao Verified Access lại quan trọng
- Zero Trust – Mỗi yêu cầu đều được xác thực và ủy quyền.
- Không cần VPN – Người dùng kết nối trực tiếp đến ứng dụng với quyền truy cập qua trình duyệt.
- Quyền truy cập chi tiết – Các chính sách có thể đánh giá danh tính người dùng, trạng thái thiết bị và ngữ cảnh phiên làm việc.
- Tính linh hoạt về giao thức – Hoạt động cho cả ứng dụng web và không phải web (HTTPS, HTTP, TCP).
- Trải nghiệm người dùng tốt hơn – Quyền truy cập nhanh chóng, liền mạch với tư thế bảo mật cải thiện.
Thực hành tốt nhất khi sử dụng AWS Verified Access
- Thực hiện kiểm tra định kỳ: Đảm bảo rằng các chính sách và cấu hình của bạn luôn được cập nhật và phản ánh đúng nhu cầu bảo mật hiện tại.
- Giáo dục người dùng: Đảm bảo rằng người dùng hiểu rõ cách thức truy cập và những yêu cầu bảo mật cần thiết.
- Giám sát và ghi nhật ký: Theo dõi hoạt động truy cập để phát hiện và phản ứng nhanh chóng với các hành vi bất thường.
Cạm bẫy thường gặp khi triển khai AWS Verified Access
- Thiếu cấu hình đúng: Không cấu hình chính sách hoặc điểm kết nối một cách chính xác có thể dẫn đến việc từ chối quyền truy cập không cần thiết.
- Bỏ qua bảo mật thiết bị: Không kiểm tra trạng thái bảo mật của thiết bị có thể làm tăng nguy cơ xuất hiện tấn công.
Mẹo tối ưu hóa hiệu suất với AWS Verified Access
- Tối ưu hóa cấu hình ALB: Đảm bảo rằng ALB được cấu hình hiệu quả để xử lý lưu lượng truy cập đến từ Verified Access.
- Sử dụng caching: Nếu có thể, sử dụng caching để giảm tải cho các ứng dụng backend.
Kết luận
✅ Với AWS Verified Access, bạn có thể cuối cùng loại bỏ các thiết lập VPN cũ và tiến tới một mô hình bảo mật Zero Trust thực sự cho các ứng dụng riêng tư của bạn. Hãy bắt đầu triển khai ngay hôm nay để tăng cường bảo mật và cải thiện trải nghiệm người dùng!
Câu hỏi thường gặp
1. AWS Verified Access có an toàn hơn VPN không?
Có, Verified Access cung cấp kiểm soát truy cập chi tiết hơn và giảm bề mặt tấn công so với VPN.
2. Tôi có thể tích hợp AWS Verified Access với các dịch vụ khác không?
Có, Verified Access có thể tích hợp với nhiều dịch vụ khác của AWS như Cognito và IAM Identity Center.
Tài liệu tham khảo
-
Tài liệu AWS Verified Access: AWS Documentation
-
Cedar Policy Language: Cedar Policy
Hy vọng rằng bài viết này giúp bạn hiểu rõ hơn về AWS Verified Access và cách thiết lập nó để bảo vệ các ứng dụng của bạn!