Thursday, November 21, 2024

[AWS] AWS Config

-

AWS Config

AWS Config là một dịch vụ của AWS giúp cho việc kiểm tra và ghi nhận việc tuân thủ quy định liên quan đến các tài nguyên AWS. Dịch vụ này cho phép ghi nhận các cấu hình và các thay đổi của các tài nguyên trong thời gian. Với AWS Config, người dùng có thể giải quyết các câu hỏi như: Liệu có SSH được mở ra một cách không kiểm soát vào các nhóm bảo mật của tôi hay không? Các bucket của tôi có bất kỳ quyền truy cập công khai nào hay không? Cấu hình của ALB của tôi đã thay đổi như thế nào trong quá khứ? Người dùng có thể nhận được cảnh báo (thông báo SNS) cho bất kỳ thay đổi nào xảy ra. AWS Config là một dịch vụ theo khu vực, nhưng nó có thể được tổng hợp trên các khu vực và tài khoản khác nhau. AWS Config cho phép lưu trữ dữ liệu cấu hình vào S3 để dễ dàng phân tích thông qua Athena.

Config Rules

Config Rules là các luật được sử dụng trong AWS Config để đánh giá tính hợp lệ của tài nguyên AWS. AWS cung cấp hơn 75 Config Rules quản lý sẵn và người dùng có thể tự tạo các Config Rules tuỳ chỉnh. Ví dụ về Config Rules là đánh giá xem mỗi ổ đĩa EBS có phải là loại gp2 hay không hoặc đánh giá xem mỗi instance EC2 có phải là t2.micro hay không.

AWS Config Rules có thể được kích hoạt đánh giá khi có sự thay đổi trong cấu hình hoặc theo khoảng thời gian định kỳ. Tuy nhiên, AWS Config Rules không ngăn chặn các hành động xảy ra. AWS Config Rules không có tầng miễn phí và tính phí $ 0,003 cho mỗi mục cấu hình được ghi lại mỗi khu vực và $ 0,001 cho mỗi đánh giá Config Rule mỗi khu vực.

AWS Config Resource

AWS Config lưu trữ thông tin về cấu hình và thay đổi của các tài nguyên trong tài khoản AWS của bạn theo thời gian, giúp bạn kiểm tra xem các tài nguyên của bạn đã tuân thủ các quy tắc và tiêu chuẩn nào và có thực hiện bất kỳ thay đổi cấu hình nào không. Bằng cách theo dõi sự thay đổi của một tài nguyên trong suốt khoảng thời gian, bạn có thể xác định sự tuân thủ của tài nguyên đó và thực hiện các hành động cần thiết để bảo vệ hệ thống của bạn.

Khi kích hoạt AWS Config, nó sẽ tự động thu thập và lưu trữ thông tin cấu hình của tất cả các tài nguyên trong tài khoản AWS của bạn, bao gồm cả các tài nguyên mà bạn đã xóa. Bằng cách sử dụng tính năng này, bạn có thể xem các thông tin về các tài nguyên như: các thuộc tính, tên, định danh, trạng thái, và các thông số khác của chúng. Ngoài ra, bạn cũng có thể sử dụng các API để truy vấn các thông tin này và tạo các báo cáo tự động.

Các lệnh API (Application Programming Interface) của AWS (Amazon Web Services) đã được gọi để tương tác với một tài nguyên (resource) trong AWS Cloud trong một khoảng thời gian nhất định. Khi CloudTrail được bật, nó sẽ ghi lại mọi hoạt động liên quan đến tài nguyên đó và các sự kiện này sẽ được lưu trữ trong một file nhật ký trong khoảng thời gian xác định (tối đa 90 ngày). Bằng cách truy cập vào các bản ghi nhật ký này, người dùng có thể xem lại các lệnh API được gọi và chi tiết của chúng để hiểu cách tài nguyên đó đã được tương tác trong quá khứ.

Config Rules – Remediations

Tự động điều trị các tài nguyên không tuân thủ với quy chuẩn bằng cách sử dụng SSM Automation Documents. Bạn có thể sử dụng các AWS-Managed Automation Documents có sẵn hoặc tạo tài liệu tự động hóa tùy chỉnh. Một lời khuyên được đưa ra là bạn có thể tạo các tài liệu tự động hóa tùy chỉnh mà gọi tới các hàm Lambda. Nếu tài nguyên vẫn không tuân thủ quy chuẩn sau khi được điều trị tự động, bạn có thể thiết lập Remediation Retries để thử điều trị lại.

Config Rules – Notifications

Sử dụng EventBridge để gửi thông báo khi các tài nguyên AWS không tuân thủ được các quy định và tiêu chuẩn an ninh, an toàn hoặc tuân thủ của tổ chức. EventBridge là một dịch vụ quản lý sự kiện trong AWS, cho phép tạo luật để theo dõi các sự kiện trên các tài nguyên AWS và tự động kích hoạt các hành động cần thiết khi các sự kiện xảy ra. Với tính năng này, người dùng có thể cấu hình các luật để gửi thông báo (thông qua Amazon SNS, email, v.v.) khi các tài nguyên AWS không tuân thủ được các tiêu chuẩn và quy định được đặt ra. Việc cấu hình các luật EventBridge để theo dõi các tài nguyên AWS sẽ giúp người dùng có thể nắm bắt được các sự kiện trên các tài nguyên này và đưa ra các biện pháp phòng ngừa kịp thời khi có sự cố xảy ra.

Khả năng gửi thông báo cho các sự kiện thay đổi cấu hình và trạng thái tuân thủ của các tài nguyên AWS đến SNS (Simple Notification Service). Với tính năng này, người dùng có thể theo dõi các sự kiện thay đổi cấu hình và trạng thái tuân thủ của các tài nguyên AWS, và gửi thông báo tới SNS để cảnh báo cho các quản trị viên hoặc các thành viên khác trong tổ chức của họ. Việc lọc các thông báo có thể được thực hiện bằng cách sử dụng tính năng lọc của SNS hoặc lọc ở phía khách hàng.

AWS Config – Hands On

Hãy vào AWS Config › Set up AWS Config, bạn sẽ thấy các thiết lập cụ thể như sau:

Các tùy chọn “Record all resources supported in this region” và “Record specific resource types” trong “Resource types to record” là để lựa chọn các loại tài nguyên AWS cần ghi lại thông tin cấu hình của chúng.

“Record all resources supported in this region” cho phép AWS Config ghi lại thông tin cấu hình của tất cả các tài nguyên được hỗ trợ trong khu vực đang hoạt động. Trong khi đó, “Record specific resource types” cho phép bạn chỉ định các loại tài nguyên cụ thể để ghi lại.

Tùy chọn “Include global resources” cho phép bạn chọn ghi lại thông tin cấu hình của các tài nguyên IAM toàn cầu nhưng không thuộc khu vực cụ thể nào.

Tùy chọn “Create AWS Config service-linked role” cho phép bạn tạo một vai trò dịch vụ được liên kết với AWS Config để AWS Config có thể truy cập vào các tài nguyên của bạn.

Cuối cùng, trong phần “AWS Config role”, bạn có thể chọn một vai trò trong tài khoản của bạn để cung cấp quyền truy cập cho AWS Config đến các tài nguyên của bạn.

Tính năng Amazon SNS topic cho phép ghi lại các thay đổi cấu hình của tài nguyên AWS và thông báo cho người dùng thông qua Amazon SNS topic. Khi các thay đổi được thực hiện trên các tài nguyên AWS, thông tin về thay đổi sẽ được gửi đến SNS topic, từ đó người dùng có thể nhận được thông báo và kiểm tra lại việc thay đổi cấu hình. Điều này giúp cho việc quản lý và theo dõi tài nguyên AWS trở nên dễ dàng và thuận tiện hơn cho người dùng. Với trường hợp của mình thì mình sẽ không sử dụng Amazon SNS topic.

Khi nhấp vào next chúng ta sẽ thấy một số quy tắc được quản lý bởi AWS.

Bạn có thể chọn và xem chúng nếu muốn, trường hợp của mình thì sẽ bỏ qua nó và bấm next để sang phần tiếp theo.

Phần này sẽ cho bạn review lại các thiết lập, nếu không còn gì thay đổi, bạn hãy bấm Confirm.

Nếu bạn nhận được 3 thông báo này, nó cho biết quá tình config đã thành công.

Bạn có thể thấy rằng tài nguyên của bạn vẫn đang được discovered, hãy chờ đợi 1 lát.

Nếu bạn vào phần Resources bạn có thể thấy 1 số tài nguyên đã xuất hiện, bạn có thể fillter để xem 1 loại tài nguyên cụ thể nào đó.

Bạ cũng có thể nhấp vào 1 resource cụ thể để xem chi tiết resource đó chi tiết như thế nào.

Bạn có thể bấm vào Resource Timeline để xem dòng thời gian xảy ra các sự kiện.

Bây giờ giả sử mình muốn tìm hiểu các Security Group có tuân thủ theo quy tắc hay không bằng cách tạo các quy tắc (rules).

Bây giờ chúng ta có thể thêm các quy tắc do AWS quản lý hoặc tự tạo 1 quy tắc riêng của bạn, để đơn giản mình sẽ sử dụng 1 quy tắc do AWS quản lý bằng cách chọn Add AWS managed rule.

Tôi sẽ lựa chọn quy tắc có tên approved-amis-by-id, tác dụng của nó là để kiểm tra xem các AMI (Amazon Machine Image) được sử dụng bởi các EC2 instances đã được phê duyệt hay chưa. Quy tắc này yêu cầu một danh sách các AMI được phê duyệt và sẽ thông báo nếu có bất kỳ EC2 instances nào đang sử dụng các AMI không được phê duyệt trong danh sách đó.

Với quy tắc này, bạn có thể đảm bảo rằng các EC2 instances của bạn đang chạy trên các AMI đã được kiểm tra và phê duyệt, giúp tăng tính ổn định và đảm bảo tuân thủ các quy định an ninh của doanh nghiệp hoặc quy định pháp lý.

Với quy tắc này chúng ta chỉ kiểm tra EC2 có chạy hay không khi chúng ta thay đổi 1 cái gì đó.

Và cụ thể ở đây mình chọn là khi có Resources thay đổi và tại phần Resources bạn sẽ lựa chọn All resource categories tức là áp dụng cho tất cả các phiên bản EC2.

Tại phần Parameters trong AWS Config Rules được sử dụng để xác định các thuộc tính hoặc thông tin cần thiết để đánh giá tính đúng đắn của tài nguyên trong AWS. Chẳng hạn, bạn có thể định nghĩa các tham số để đánh giá xem một tài nguyên nhất định đã được gắn thẻ đầy đủ chưa, hoặc để kiểm tra xem tất cả các máy chủ EC2 có đang sử dụng AMI được phê duyệt hay không. Khi tài nguyên không tuân thủ các yêu cầu được xác định trong rule parameter, AWS Config sẽ đưa ra cảnh báo hoặc trigger các hoạt động khắc phục để giải quyết vấn đề.

Bởi vì mình chưa có nhiều phiên bản EC2 nên mình sẽ bỏ qua quy tắc này và chuyển qua quy tắc quản lý ssh.

Tại phần Resource category chúng ta sẽ chọn AWS EC2 Security Group.

Và chúng ta sẽ không có tham số cho quy tắc này, hãy bấm next.

Như thường lệ, phần này cho phép bạn review lại các thiết lập, nếu không còn gì thay đổi thì bạn có thể bấm Add rule.

Chúng ta có 1 quy tắc đầu tiên.

Hãy bấm vào nó chờ 1 lát rồi bạn hãy tải lại trang, bạn sẽ thấy tại phần Last successful evaluation đã có 1 tích xanh xuất hiện cho thấy đã có 1 đánh giá dành cho quy tắc này.

Kéo xuống dưới chúng ta có 6 nhóm bảo mật cho quy tắc này không được tuân thủ.

Bạn có thể vào lại AWS Config › Resources lọc resource là AWS EC2 Security Group.

Chúng ta có thể thấy số lượng nhóm bảo mật không tuân thủ tại đây.

Chúng ta có thể vào quản lý 1 tài nguyên đang tuân thủ quy tắc.

Và xem có 1 Inbound rule chỉ có ICMP và không có port 22 của ssh tại đây.

Và chúng ta sẽ so sánh tài nguyên đang không tuân thủ quy tắc cũng bằng cách vào quản lý tài nguyên và chúng ta thấy port 22 của ssh đang đươc mở ở khắp mọi nơi, điều này là trái với quy tắc chúng ta đã đặt ra. Và những gì chúng ta phải làm là vào nhóm bảo mật này và xoá các quy tắc liên quan đến port 22 bằng cách bấm vào Edit inbound rules.

Xoá rule này và lưu lại.

Đây là nhóm bảo mật không tuân thủ quy tắc của mình, bấm vào Resource Timeline.

Theo timeline bạn sẽ thấy lúc 15h34 nó không tuân thủ quy tắc và bạn hãy đợi 1 lát để trạng thái được cập nhật lại.

Sau 1 lúc chờ đợi và đây là kết quả.

Bạn cũng có thể thực hiện 1 hành động nào đó 1 cách tự động bằng cách vào Action.

Tại đây bạn có thể chọn 1 loại hành động để xử lý khi quy tắc không tuân thủ, các bạn tự tìm hiểu phần này nhé.

CloudWatch vs CloudTrail vs Config

Các dịch vụ CloudWatch, CloudTrail và Config đều liên quan đến việc quản lý và giám sát tài nguyên AWS. CloudWatch được sử dụng để giám sát hiệu suất của các tài nguyên, như giám sát các chỉ số thời gian thực như CPU, mạng và lưu lượng truy cập. Nó cũng cho phép bạn tạo bảng điều khiển để theo dõi các chỉ số này và gửi cảnh báo khi các giá trị vượt quá ngưỡng được chỉ định.

CloudTrail được sử dụng để ghi lại các hoạt động API trên tài nguyên AWS. Nó cho phép bạn xác định ai đã thực hiện các thao tác API trên tài nguyên của bạn và khi nào chúng được thực hiện. CloudTrail cũng cho phép bạn tạo ra các bản ghi về các hoạt động của tài nguyên cụ thể, giúp bạn theo dõi các sự kiện quan trọng.

Config cho phép bạn ghi lại các thay đổi cấu hình trên tài nguyên AWS của bạn. Nó cho phép bạn đánh giá các tài nguyên của mình đối với các quy tắc tuân thủ và tìm hiểu lịch sử các thay đổi cấu hình. Nó cũng cho phép bạn theo dõi các quy tắc tuân thủ và nhận cảnh báo khi các tài nguyên không tuân thủ các quy tắc đó.

Cả ba dịch vụ này đều là rất quan trọng trong việc quản lý tài nguyên AWS của bạn. CloudWatch giúp bạn theo dõi hiệu suất, CloudTrail giúp bạn xác định ai đã thực hiện các hoạt động API trên tài nguyên của bạn và Config giúp bạn ghi lại các thay đổi cấu hình và đánh giá các tài nguyên của mình đối với các quy tắc tuân thủ.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories