Security trên AWS: Phần 1- Cloudfront + WAF

Bảo mật hệ thống là một vấn đề quan trọng, đặc biệt là trong môi trường đám mây AWS. Việc bảo vệ dữ liệu và ứng dụng khỏi các mối đe dọa là điều cần thiết để đảm bảo tính ổn định và hiệu quả hoạt động. Trong Series về chủ đề về bảo mật trên AWS này Nghi sẽ lần lượt giới thiệu một số giải pháp phổ biến để tăng cường security trên AWS để bảo vệ hệ thống web.

Cụ thể ở bài đầu tiên này sẽ giới thiệu với các bạn giải pháp: Cloudfront + WAF

WAF

WAF là viết tắt của “Web Application Firewall”

WAF là một dịch vụ tường lửa ứng dụng web cho phép bạn giám sát các yêu cầu web được chuyển tiếp đến một API của Amazon API Gateway, CloudFront, hoặc một Application Load Balancer.

Các chức năng chính của WAF:

  • Lọc và Kiểm Soát Truy Cập: WAF có khả năng lọc lưu lượng truy cập web, quản lý các yêu cầu và phản hồi dựa trên các quy tắc được đặt ra để ngăn chặn các loại tấn công như SQL injection, cross-site scripting (XSS), và các mối đe dọa khác.
  • Bảo Vệ chống Các Loại Tấn Công Phổ Biến: WAF cung cấp các biện pháp bảo vệ chống lại các loại tấn công mà các ứng dụng web thường gặp phải, giúp ngăn chặn việc lợi dụng lỗ hổng bảo mật.
  • Quản Lý Điều Khiển Truy Cập: WAF cho phép quản trị viên xác định quy tắc và chính sách để kiểm soát truy cập vào các tài nguyên web cụ thể, bảo vệ chúng khỏi các hoạt động không mong muốn hoặc đe dọa.
  • Phân Tích và Báo Cáo: WAF thường cung cấp khả năng phân tích lưu lượng web và tạo báo cáo về các sự kiện an ninh, giúp người quản trị hiểu rõ về các mối đe dọa và tình trạng bảo mật của hệ thống.

Cloudfront

Amazon CloudFront là dịch vụ CDN (Content Delivery Network) của Amazon Web Services (AWS). Nó cung cấp một cách hiệu quả để phân phối nội dung và tăng tốc độ tải trang web bằng cách đưa nội dung gần hơn với người dùng cuối thông qua việc triển khai một mạng các edge locations (điểm đáp ứng) toàn cầu.Một số chức năng chính của IAM bao gồm:

  • Phân Phối Nội Dung Tĩnh và Động: CloudFront cho phép bạn phân phối nội dung tĩnh (như hình ảnh, CSS, JavaScript) và nội dung động (như trang web được tạo động) thông qua nhiều edge locations trên thế giới.
  • Tăng Tốc Độ Tải Trang Web: Bằng cách đặt nội dung ở các điểm đáp ứng gần người dùng, CloudFront giảm độ trễ và tăng tốc độ tải trang web, cải thiện trải nghiệm người dùng.
  • Quản Lý Băng Thông: CloudFront giúp quản lý và tối ưu hóa việc sử dụng băng thông, giảm áp lực đối với origin server và giảm chi phí truy cập.
  • Chuyển Hướng Tùy Chọn: Bạn có thể định tuyến yêu cầu của người dùng đến nhiều origin server khác nhau, bao gồm máy chủ web, Amazon S3 buckets, EC2 instances và các origin khác.
  • Bảo Mật: CloudFront hỗ trợ nhiều tính năng bảo mật, bao gồm SSL/TLS để bảo vệ dữ liệu trong khi truyền tải, ký số và mã hóa dữ liệu.
  • Phân Phối Video và Stream Trực Tiếp: Nó cung cấp tính năng phân phối video và stream trực tiếp với các tính năng như adaptive bitrate streaming (ABR) để cung cấp trải nghiệm xem video mượt mà.
  • Quản Lý Cache: Bạn có thể quản lý cơ chế cache trên CloudFront để kiểm soát việc lưu trữ đệm nội dung tại các edge location.

Hướng dẫn xây dựng EC2 + Cloudfront + WAF

Khi sử dụng EC2 để làm web system, bạn có thể tăng thêm bảo mật bằng cách cấu hình security group (service mặc định gắn với EC2) và thêm Cloudfront + WAF.

Hướng dẫn xây dựng hệ thống bảo mật với EC2 + Cloudfront + WAF

B1: Cấu hình Security group. Tại giao diện trang Security group, ta cấu hình chỉ mở port cho những IP cần thiết.

B2: Tạo cloudfront. Ta vào trang Cloudfront, tạo 1 Distributions mới bằng cách nhấn vào nút Create distribution

Distributions

Tại trang Create distribution, ta nhập thông tin Origin là nơi Cloudfront sẽ truy xuất dữ liệu để gởi đến người dùng. Origin có thể là 1 EC2 (web server), S3 hoặc 1 service khác.

Nếu dùng origin là EC2, ta nhập thông tin origin là Public IPv4 DNS của EC2.

Create distribution

Ở phần Default cache behavior, ta sẽ định nghĩa cách mà cloudfront điều hướng xử lý các request.

Default cache behavior
Certificate Manager

Ở phần Settings, ta chọn các thông tin của distribution. Trong đó mục Custom SSL certificate sẽ được tạo từ trước ở service Certificate Manager (region us-east-1) trên AWS

Custom SSL certificate

Sau khi nhập đầy đủ thông tin, ta nhấn Create distribution để tạo distribution cloudfront theo cấu hình vừa khai báo.

B3: ta sẽ tạo WAF cho cloudfront để quản lý những truy cập vào hệ thống

Tại trang WAF & Shield, chọn mục Web ACLs, sau đó chọn region cho Web ACLs là Global (Cloudfront), nhấn Create web ACL

WAF & Shield

Ở trang Create web ACL, ta nhập các thông tin như Name và resource cloudfront sẽ được add vào WAF

Create web ACL

Nhấn Next, ta sẽ tới trang tạo rules cho WAF. Ở trang này, ta có thể cấu hình các rule bảo mật cho hệ thống, quản lý traffic hoặc ngăn chặn các cuộc tấn công theo mã nguồn có sẵn.
Ở bài viết này, ta sẽ tạo rules chặn toàn bộ IP từ US truy cập vào hệ thống.

tạo rules cho WAF

Sau khi nhấn Add rule, ta sẽ tới trang quản lý rules. Ở bài viết này action của WAF khi có request không thuộc bất kì rule nào là: cho phép truy cập vào hệ thống

trang quản lý rules

Tại trang Configure metrics, ta có thể tích chọn đẩy các thông số rules allow và block lên cloudwatch.

Configure metrics

Sau khi cấu hình xong các rules cho web ACL, ta review lại các thông tin và nhấn Create web ACL.

Tại giao diện web ACL được tạo thành công, ta có thể theo dõi các dashboard request vào hệ thống.

 giao diện web ACL

Vậy là các bạn đã cấu hình thành công hệ thống EC2 (Server) kết hợp với Cloudfront và WAF. Với combo này các bạn có thể quản lý request vào hệ thống, xử lý các cuộc tấn công DDOS và các kiểu tấn công khác.

Tạm kết

Việc sử dụng kết hợp Cloudfront và WAF mang lại nhiều lợi ích cho việc bảo mật hệ thống web trên AWS. Cloudfront giúp tăng tốc độ tải trang web và giảm tải cho server, trong khi WAF cung cấp các quy tắc bảo mật để ngăn chặn các cuộc tấn công và truy cập trái phép. Bằng cách triển khai các giải pháp này, bạn có thể nâng cao đáng kể mức độ bảo mật cho hệ thống web của mình.

Tư vấn - Báo giá
Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
Mọi thông tin tư vấn và báo giá đều miễn phí.

    「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
    Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
    Tư vấn - Báo giá
    Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
    Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
    Mọi thông tin tư vấn và báo giá đều miễn phí.

      「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
      Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
      liên hệ