Trang chủTác giảLiên hệ

AWS SAP - Security - Zero Trust architectures on AWS

By Nguyễn Huy Hoàng
Published in AWS
December 14, 2021
5 min read

Zero Trust là gì?

Bảo mật Zero Trust là một mô hình trong đó các thành phần ứng dụng hoặc microservices được coi là rời rạc với nhau và không có thành phần hoặc microservice nào tin cậy bất kỳ thành phần nào khác. Mô hình này được thiết kế để coi đầu vào từ bất kỳ nguồn nào đều là có khả năng độc hại. Nó bắt đầu với việc không tin tưởng vào cấu trúc mạng nội bộ cơ bản và mở rộng sang những thứ như xác nhận đầu vào và đầu ra ở mọi microservices.

An ninh mạng truyền thống dựa trên một vành đai an toàn - mọi thứ bên trong vành đai đều được tin cậy và mọi thứ bên ngoài vành đai thì không. Mạng Zero Trust đánh giá tất cả các hành động và tài nguyên trong thời gian thực để giảm nguy cơ truy cập ngoài ý muốn vào dữ liệu kinh doanh và các tài nguyên nhạy cảm. Thay vì tin rằng mọi thứ đằng sau bức tường lửa (firewall) của công ty là an toàn, mô hình Zero Trust giả định vi phạm và xác minh từng yêu cầu như thể nó bắt nguồn từ một mạng không được kiểm soát.

Bất kể yêu cầu bắt nguồn từ đâu hay truy cập vào tài nguyên nào, mô hình Zero Trust dạy chúng ta “đừng bao giờ tin tưởng, hãy luôn xác minh”.

Trong mô hình Zero Trust, mọi yêu cầu truy cập đều được xác thực mạnh mẽ, được ủy quyền trong các ràng buộc chính sách và kiểm tra các điểm bất thường trước khi cấp quyền truy cập.

THIẾT KẾ TRÊN AWS SỬ DỤNG NGUYÊN TẮC ZERO TRUST

Để hiểu rõ hơn về kiến trúc Zero Trust, có thể sử dụng mô hình mối đe dọa (threat modeling) để so sánh kiến trúc này với các kiến trúc truyền thống và cloud-native.

Kiến trúc truyền thống

alt text Đây là một kiến trúc được thể hiện là một thiết kế được kiến trúc tốt và an toàn cho ứng dụng web của bạn. Hệ thống được bảo vệ chống lại các tấn công thông thường sử dụng các dịch vụ sau:

  • Load balancing với Elastic Load Balancing (ELB)/Application Load Balancer (ALB) cho phép bạn dàn trải tải trên nhiều Availability ZonesAmazon Elastic Cloud Compute (Amazon EC2) Auto Scaling groups để dự phòng và tách dịch vụ.
  • Virtual firewalls using AWS security groups đẩy nhiệm vụ bảo mật sang cho instance để cung cấp tường lửa stateful, host-level cho cả máy chủ web và ứng dụng.
  • Domain Name System (DNS) services with Amazon Route 53 cung cấp dịch vụ DNS để đơn giản hóa việc quản lý tên miền.
  • Edge caching với Amazon CloudFront làm giảm độ trễ cho khách hàng.
  • Edge security cho Amazon CloudFront với AWS Web Application Firewall (AWS WAF) lọc lưu lượng độc hại, bao gồm XSS và SQL injection thông qua các quy tắc do khách hàng xác định.
  • Distributed Denial-of-Service (DDoS) attack protection với AWS Shield tự động bảo vệ cơ sở hạ tầng của bạn khỏi các cuộc tấn công DDoS trên tầng network và tầng transport phổ biến nhất.

Mô hình mối đe đoạ (threat modeling)

Trong mô hình mối đe dọa, người dùng cố gắng xác định tất cả các khả năng tấn công tiềm ẩn để xác định rủi ro và các biện pháp giảm thiểu. Một mô hình mối đe dọa có thể được sử dụng cho các mục đích minh họa, STRIDE, xác định các mối đe dọa trong các danh mục sau:

  • Spoofing of user identity (Giả mạo danh tính người dùng)
  • Tampering with data (Giả mạo với dữ liệu)
  • Repudiation the source (Từ chối nguồn)
  • Information disclosure (Lộ thông tin)
  • Denial of service (Từ chối dịch vụ)
  • Elevation of privilege (Nâng cao đặc quyền)

Hãy đánh giá lại kiến trúc và bảo vệ từng thành phần dưới dạng một microservice thay vì là một phần của hệ thống đáng tin cậy lớn hơn. Ví dụ: hãy đánh giá cách chúng tôi bảo vệ chống giả mạo và lộ thông tin bởi cuộc tấn công SQL Injection bằng cách sử dụng dịch vụ AWS WAF. Theo thiết kế, khách hàng sử dụng trang web sẽ đi qua Amazon CloudFront để truy cập cả nội dung tĩnh và động. Mặc dù việc áp dụng các quy tắc AWS WAF cho CloudFront Distribution là hợp lý, ELB/ALB sẽ sử dụng địa chỉ IP public mà người khác có thể phát hiện được. Một cách giảm thiểu sẽ là áp dụng các quy tắc WAF tương tự trực tiếp chống lại ELB.

Còn giữa các tầng máy chủ web và máy chủ ứng dụng thì sao? Theo truyền thống, chúng được coi là các thành phần “nội bộ” và dữ liệu luân chuyển giữa chúng không phải chịu sự giám sát giống nhau. Tuy nhiên, mô hình Zero Trust yêu cầu tất cả các thành phần và thông tin liên lạc được coi là không đáng tin cậy. AWS WAF có thể không phải là giải pháp phù hợp tùy thuộc vào các phương thức giao tiếp, nhưng một lớp lọc khác - dựa trên máy chủ hoặc dựa trên mạng - sẽ được triển khai để xác thực đầu vào trước khi đầu vào được cấp ứng dụng nhập. Ngoài ra, xác thực và ủy quyền các lệnh giữa hai cấp này sẽ liên tục tương tự như cách AWS sử dụng AWS Signature Version 4 đối với API.

Các quy tắc AWS WAF và xác thực đầu vào cục bộ có hiệu quả trong việc bảo vệ chống lại một số cuộc tấn công - nhưng còn DDoS thì sao? AWS Shield bảo vệ chống lại các cuộc tấn công DDoS phổ biến nhất, nhưng bạn nên đánh giá các mối đe dọa tiềm ẩn đến từ các yếu tố khác của hệ thống. Kiến trúc thực tiễn tốt nhất không giải quyết khả năng xảy ra trường hợp máy chủ web làm flooding máy chủ ứng dụng với công việc hợp lệ nhưng vô nghĩa hoặc giải quyết nhóm bảo mật vô tình bị định cấu hình sai. Trong mô hình Zero Trust:

  • Triển khai các metricsmonitoring bổ sung để có lượng lưu lượng truy cập nhất quán từ mỗi trường hợp.
  • Triển khai tính năng Amazon CloudWatch Anomaly Detection để sử dụng thuật toán máy học (ML) để phân tích các số liệu cụ thể, chẳng hạn như các trường hợp Amazon EC2 tạo ra lượng lớn lưu lượng truy cập mạng bất thường.
  • Sử dụng alarm để thông báo cho Amazon Simple Notification Service (Amazon SNS) topic , sau đó sẽ kích hoạt Amazon Lambda function tùy chỉnh để loại bỏ phiên bản Amazon EC2 vi phạm cho auto-scaling group,, stop nó và cô lập nó để phân tích thêm.

Để bảo vệ hơn nữa chống lại việc lộ thông tin, giả mạo và đủ khả năng ở một số mức độ hoặc sự từ chối, hãy tận dụng mã hóa và đặc quyền ít nhất . Ví dụ: khi cấp web tạo bản sao lưu, hãy sử dụng khóa AWS Key Management Service (AWS KMS) mà chỉ instance role đó mới có quyền KMS: Encrypt. Vì tầng web không cần phải giải mã các bản sao lưu của chính nó, hãy từ chối hoặc bỏ qua KMS: Decrypt cho role đó. Vì instance role đó là thực thể duy nhất có khả năng sử dụng khóa KMS để mã hóa dữ liệu và được kết hợp với nhật ký CloudTrail để kiểm tra, bạn có thể xác thực rằng các bản sao lưu được viết bởi các phiên bản đó và không bị giả mạo. Nếu những trường hợp đó được truy cập bởi người dùng trái phép, họ không thể đọc từ các bản sao lưu trước đây.

Đây chỉ là một số bước bạn có thể thực hiện. Bạn cũng có thể thêm user authentication between tiers on the Application Load Balancer hoặc sử dụng API Gateway between your App Tier and the databases để thực hiện xác thực các truy vấn. Lấy kiến trúc trước đó và áp dụng mô hình Zero Trust cho nó có thể dẫn đến một kiến trúc tương tự như sau:

alt text

Ref


Tags

AWS
Khóa học AWS cơ bản

Nguyễn Huy Hoàng

Developer

Related Posts

AWS SAP - Security - KMS & CloudHSM
December 14, 2021
12 min

AWS SAP - Security - Zero Trust architectures on AWS

Published in AWS
December 14, 2021
5 min read

Zero Trust là gì?

Bảo mật Zero Trust là một mô hình trong đó các thành phần ứng dụng hoặc microservices được coi là rời rạc với nhau và không có thành phần hoặc microservice nào tin cậy bất kỳ thành phần nào khác. Mô hình này được thiết kế để coi đầu vào từ bất kỳ nguồn nào đều là có khả năng độc hại. Nó bắt đầu với việc không tin tưởng vào cấu trúc mạng nội bộ cơ bản và mở rộng sang những thứ như xác nhận đầu vào và đầu ra ở mọi microservices.

An ninh mạng truyền thống dựa trên một vành đai an toàn - mọi thứ bên trong vành đai đều được tin cậy và mọi thứ bên ngoài vành đai thì không. Mạng Zero Trust đánh giá tất cả các hành động và tài nguyên trong thời gian thực để giảm nguy cơ truy cập ngoài ý muốn vào dữ liệu kinh doanh và các tài nguyên nhạy cảm. Thay vì tin rằng mọi thứ đằng sau bức tường lửa (firewall) của công ty là an toàn, mô hình Zero Trust giả định vi phạm và xác minh từng yêu cầu như thể nó bắt nguồn từ một mạng không được kiểm soát.

Bất kể yêu cầu bắt nguồn từ đâu hay truy cập vào tài nguyên nào, mô hình Zero Trust dạy chúng ta “đừng bao giờ tin tưởng, hãy luôn xác minh”.

Trong mô hình Zero Trust, mọi yêu cầu truy cập đều được xác thực mạnh mẽ, được ủy quyền trong các ràng buộc chính sách và kiểm tra các điểm bất thường trước khi cấp quyền truy cập.

THIẾT KẾ TRÊN AWS SỬ DỤNG NGUYÊN TẮC ZERO TRUST

Để hiểu rõ hơn về kiến trúc Zero Trust, có thể sử dụng mô hình mối đe dọa (threat modeling) để so sánh kiến trúc này với các kiến trúc truyền thống và cloud-native.

Kiến trúc truyền thống

alt text Đây là một kiến trúc được thể hiện là một thiết kế được kiến trúc tốt và an toàn cho ứng dụng web của bạn. Hệ thống được bảo vệ chống lại các tấn công thông thường sử dụng các dịch vụ sau:

Mô hình mối đe đoạ (threat modeling)

Trong mô hình mối đe dọa, người dùng cố gắng xác định tất cả các khả năng tấn công tiềm ẩn để xác định rủi ro và các biện pháp giảm thiểu. Một mô hình mối đe dọa có thể được sử dụng cho các mục đích minh họa, STRIDE, xác định các mối đe dọa trong các danh mục sau:

  • Spoofing of user identity (Giả mạo danh tính người dùng)
  • Tampering with data (Giả mạo với dữ liệu)
  • Repudiation the source (Từ chối nguồn)
  • Information disclosure (Lộ thông tin)
  • Denial of service (Từ chối dịch vụ)
  • Elevation of privilege (Nâng cao đặc quyền)

Hãy đánh giá lại kiến trúc và bảo vệ từng thành phần dưới dạng một microservice thay vì là một phần của hệ thống đáng tin cậy lớn hơn. Ví dụ: hãy đánh giá cách chúng tôi bảo vệ chống giả mạo và lộ thông tin bởi cuộc tấn công SQL Injection bằng cách sử dụng dịch vụ AWS WAF. Theo thiết kế, khách hàng sử dụng trang web sẽ đi qua Amazon CloudFront để truy cập cả nội dung tĩnh và động. Mặc dù việc áp dụng các quy tắc AWS WAF cho CloudFront Distribution là hợp lý, ELB/ALB sẽ sử dụng địa chỉ IP public mà người khác có thể phát hiện được. Một cách giảm thiểu sẽ là áp dụng các quy tắc WAF tương tự trực tiếp chống lại ELB.

Còn giữa các tầng máy chủ web và máy chủ ứng dụng thì sao? Theo truyền thống, chúng được coi là các thành phần “nội bộ” và dữ liệu luân chuyển giữa chúng không phải chịu sự giám sát giống nhau. Tuy nhiên, mô hình Zero Trust yêu cầu tất cả các thành phần và thông tin liên lạc được coi là không đáng tin cậy. AWS WAF có thể không phải là giải pháp phù hợp tùy thuộc vào các phương thức giao tiếp, nhưng một lớp lọc khác - dựa trên máy chủ hoặc dựa trên mạng - sẽ được triển khai để xác thực đầu vào trước khi đầu vào được cấp ứng dụng nhập. Ngoài ra, xác thực và ủy quyền các lệnh giữa hai cấp này sẽ liên tục tương tự như cách AWS sử dụng AWS Signature Version 4 đối với API.

Các quy tắc AWS WAF và xác thực đầu vào cục bộ có hiệu quả trong việc bảo vệ chống lại một số cuộc tấn công - nhưng còn DDoS thì sao? AWS Shield bảo vệ chống lại các cuộc tấn công DDoS phổ biến nhất, nhưng bạn nên đánh giá các mối đe dọa tiềm ẩn đến từ các yếu tố khác của hệ thống. Kiến trúc thực tiễn tốt nhất không giải quyết khả năng xảy ra trường hợp máy chủ web làm flooding máy chủ ứng dụng với công việc hợp lệ nhưng vô nghĩa hoặc giải quyết nhóm bảo mật vô tình bị định cấu hình sai. Trong mô hình Zero Trust:

  • Triển khai các metricsmonitoring bổ sung để có lượng lưu lượng truy cập nhất quán từ mỗi trường hợp.
  • Triển khai tính năng Amazon CloudWatch Anomaly Detection để sử dụng thuật toán máy học (ML) để phân tích các số liệu cụ thể, chẳng hạn như các trường hợp Amazon EC2 tạo ra lượng lớn lưu lượng truy cập mạng bất thường.
  • Sử dụng alarm để thông báo cho Amazon Simple Notification Service (Amazon SNS) topic , sau đó sẽ kích hoạt Amazon Lambda function tùy chỉnh để loại bỏ phiên bản Amazon EC2 vi phạm cho auto-scaling group,, stop nó và cô lập nó để phân tích thêm.

Để bảo vệ hơn nữa chống lại việc lộ thông tin, giả mạo và đủ khả năng ở một số mức độ hoặc sự từ chối, hãy tận dụng mã hóa và đặc quyền ít nhất . Ví dụ: khi cấp web tạo bản sao lưu, hãy sử dụng khóa AWS Key Management Service (AWS KMS) mà chỉ instance role đó mới có quyền KMS: Encrypt. Vì tầng web không cần phải giải mã các bản sao lưu của chính nó, hãy từ chối hoặc bỏ qua KMS: Decrypt cho role đó. Vì instance role đó là thực thể duy nhất có khả năng sử dụng khóa KMS để mã hóa dữ liệu và được kết hợp với nhật ký CloudTrail để kiểm tra, bạn có thể xác thực rằng các bản sao lưu được viết bởi các phiên bản đó và không bị giả mạo. Nếu những trường hợp đó được truy cập bởi người dùng trái phép, họ không thể đọc từ các bản sao lưu trước đây.

Đây chỉ là một số bước bạn có thể thực hiện. Bạn cũng có thể thêm user authentication between tiers on the Application Load Balancer hoặc sử dụng API Gateway between your App Tier and the databases để thực hiện xác thực các truy vấn. Lấy kiến trúc trước đó và áp dụng mô hình Zero Trust cho nó có thể dẫn đến một kiến trúc tương tự như sau:

alt text

Ref


Tags

© 2021, All Rights Reserved.

Quick Links

Liên hệ quảng cáoThông tinLiên hệ

Social Media