AWS vừa ra mắt một tính năng quan trọng cho AWS Network Firewall, giúp các doanh nghiệp đơn giản hóa việc bảo mật cho các ứng dụng container trên Amazon Elastic Kubernetes Service (Amazon EKS) và Amazon Elastic Container Service (Amazon ECS). Thay vì phải quản lý các quy tắc tường lửa dựa trên địa chỉ IP tĩnh và dễ gây lỗi, giờ đây đội ngũ an ninh có thể định nghĩa các chính sách bảo mật linh hoạt dựa trên các thuộc tính của container như namespace hay labels. Cách tiếp cận này giúp tăng cường bảo mật và giảm đáng kể gánh nặng vận hành.
Tính năng mới này đặc biệt hữu ích cho các workload AI và Machine Learning (ML) chạy trên EKS, như model inference hay RAG pipeline, vốn đòi hỏi các biện pháp bảo vệ tường lửa nghiêm ngặt tương tự các ứng dụng truyền thống. Tính năng này được tích hợp sẵn trong tầng cơ bản của Network Firewall và không phát sinh chi phí bổ sung.
Thách thức của việc bảo mật container bằng quy tắc IP truyền thống
Trong các môi trường container hóa, địa chỉ IP của các pod thường xuyên thay đổi mỗi khi container được khởi động lại hoặc co giãn quy mô. Việc viết và duy trì các quy tắc tường lửa tĩnh dựa trên các địa chỉ IP tạm thời này là một công việc phức tạp, tốn thời gian và dễ xảy ra sai sót, có thể tạo ra những lỗ hổng trong hệ thống phòng thủ của doanh nghiệp.
Mặc dù Kubernetes Network Policies cung cấp khả năng kiểm soát lưu lượng cơ bản ở Lớp 3 và Lớp 4, chúng thường không đủ để đáp ứng các yêu cầu bảo mật nâng cao. Nhiều doanh nghiệp cần các tính năng như kiểm tra sâu ở Lớp 7, lọc lưu lượng dựa trên tên miền (FQDN), và bảo vệ khỏi các mối đe dọa được phát hiện bởi các quy tắc IDS/IPS. Hơn nữa, khả năng xác định chính xác pod hoặc dịch vụ nào đã tạo ra lưu lượng bị chặn là rất quan trọng để khắc phục sự cố nhanh chóng và đáp ứng các yêu cầu kiểm toán.
Giải pháp mới: Quy tắc tường lửa dựa trên thuộc tính container
Tính năng quy tắc dựa trên thuộc tính container của AWS Network Firewall giải quyết trực tiếp những thách thức trên. Bằng cách tạo một container association (liên kết container), Network Firewall có thể tự động khám phá và theo dõi các pod khớp với các thuộc tính được định nghĩa (ví dụ: namespace, labels, tên cluster) và chuyển đổi chúng thành các địa chỉ IP hiện tại.
Khi các pod co giãn quy mô hoặc khởi động lại, tường lửa sẽ tự động cập nhật ánh xạ từ IP sang thuộc tính gần như trong thời gian thực mà không cần bất kỳ sự can thiệp thủ công nào. Cách tiếp cận này đảm bảo các quy tắc tường lửa luôn chính xác trong môi trường động. Hơn nữa, tính năng này còn làm giàu (enrich) nhật ký cảnh báo của tường lửa với ngữ cảnh container, cho phép đội ngũ bảo mật truy vết lưu lượng bị chặn hoặc được cho phép về đúng workload gốc.
Các quy tắc này được định nghĩa bằng cú pháp Suricata, cho phép tạo ra các chính sách linh hoạt. Ví dụ:
- Quy tắc cho nhóm pod: Chỉ cho phép các pod thuộc dịch vụ thanh toán (
payment-service) kết nối đến cổng thanh toán bên ngoài qua TLS. - Quy tắc ứng dụng Lớp 7: Chặn tất cả các pod truy cập đến các trang web độc hại đã biết.
Hướng dẫn cấu hình và triển khai
Doanh nghiệp có thể cấu hình tính năng này thông qua AWS Management Console, AWS CLI hoặc AWS SDK. Quá trình này bao gồm hai bước chính:
Bước 1: Tạo một Container Association
Trong giao diện quản lý Amazon VPC, điều hướng đến mục Network Firewall và tạo một Container association mới. Tại đây, bạn cần đặt tên, chọn cụm EKS và định nghĩa các bộ lọc thuộc tính (ví dụ: namespace: ecommerce) để xác định các pod cần được liên kết.

Bước 2: Tạo một nhóm quy tắc tường lửa dựa trên thuộc tính
Tiếp theo, tạo một Stateful rule group mới trong Network Firewall. Chọn định dạng quy tắc tương thích với Suricata.

Đặt tên và mô tả cho nhóm quy tắc.

Trong phần cấu hình quy tắc, tại mục IP set references, tạo một biến (ví dụ: @ecommerce_pods) và tham chiếu đến container association đã tạo ở bước 1. Sau đó, viết các chuỗi quy tắc Suricata sử dụng biến này để áp dụng chính sách cho nhóm pod tương ứng.

Sau khi tạo và áp dụng nhóm quy tắc, Network Firewall sẽ bắt đầu lọc lưu lượng theo các chính sách đã định nghĩa.
Một số lưu ý quan trọng
Khi áp dụng tính năng này, doanh nghiệp cần lưu ý một vài điểm quan trọng:
- Vô hiệu hóa SNAT: Cần phải tắt Source NAT (SNAT) để Network Firewall có thể thấy được địa chỉ IP thực của pod. Nếu SNAT vẫn được bật, tường lửa sẽ chỉ thấy địa chỉ IP của node, làm mất đi khả năng kiểm soát chi tiết ở cấp độ pod.
- Lưu lượng pod-to-pod: Tính năng này không thể thực thi chính sách cho lưu lượng giữa các pod trên cùng một node, vì lưu lượng này không đi qua endpoint của Network Firewall.
- Tác động hiệu năng: Hiệu năng có thể bị ảnh hưởng tùy thuộc vào độ phức tạp của quy tắc và khối lượng lưu lượng truy cập.
Kết luận
Quy tắc dựa trên thuộc tính container của AWS Network Firewall là một bước tiến lớn trong việc bảo mật các workload container động. Bằng cách loại bỏ sự phụ thuộc vào các địa chỉ IP tạm thời và cho phép định nghĩa chính sách dựa trên các thuộc tính logic của Kubernetes, AWS giúp các doanh nghiệp tăng cường an ninh, cải thiện khả năng giám sát và giảm thiểu đáng kể công sức quản lý thủ công, từ đó tập trung hơn vào việc phát triển ứng dụng.


