AWS (Amazon Web Services) và Azure (Microsoft Azure) là hai trong số nhiều nền tảng đám mây phổ biến trên thị trường hiện nay, được phát triển bởi hai công ty công nghệ hàng đầu thế giới, Amazon và Microsoft. Cả hai đều cung cấp một loạt các dịch vụ đám mây linh hoạt và mạnh mẽ, giúp các doanh nghiệp tổ chức xây dựng, triển khai, quản lý các ứng dụng và hạ tầng công nghệ thông tin. Ở bài viết trước chúng ta đã cùng nhau tìm hiểu quá trình audit Google Cloud Platform sử dụng Nessus và thật thiếu sót nếu bỏ qua 2 "gã khổng lồ" này.
1. Audit AWS với Nessus
1.1. Các bước thực hiện
1.1.1. Thiết lập môi trường AWS
Step 1. Log in vào AWS Console
Step 2. Click Services > IAM (Manage access to AWS resources)
Step 3. Tạo group với với quyền Read-Only
Step 4. Tạo User Scanning thông qua đường dẫn Users > Add Users
Step 5. Add user vừa tạo vào group Read-Only đã tạo ở trên
Step 6. Click vào user vừa khởi tạo, trong tab security credentials tiến hành khởi tạo access keys
1.1.2. Audit AWS với Nessus
Step 1. Log in vào Nessus
Step 2. Truy cập theo đường dẫn Scan >> My Scans >> Audit Cloud Infrastructure
Thiết lập thông số ban đầu
Trong tab Credentials nhập giá trị AWS Access Key ID và AWS Secret Key đã thiết lập ở bước trên
Trong tab Compliance nhập giá trị CIS Amazon Web Services Foundations L1 1.5.0
Step 3. Tiến hành Save & Scan
1.2. Đọc kết quả Scan
Sau khoảng 2-5 phút, ta nhận được kết quả scan như sau
Kết quả scan sẽ bám sát checklists mà ta đã chọn từ trước đó, thông thường nó sát rules mà CIS Benchmarks quy định. Các rules được chia ra theo 3 nhóm như sau
- Passed : Cấu hình phù hợp với các tiêu chí bảo mật
- Failed : Không cấu hình chính xác - cần phải sửa chữa ngay
- Warning : Không cấu hình chính xác - cân nhắc việc sửa chữa có thể ảnh hưởng tới chi phí vận hành
Ở đây ta cùng tham khảo một vài rules như sau :
- Ensure MFA is enabled for the 'root' user account : Chắc chắn này MFA được bật cho tài khoản root (trong trường hợp hệ thống sử dụng tài khoản này)
- Ensure IAM password policy requires *** : Đảm bảo chính sách mật khẩu phù hợp với các tiêu chí bảo mật (Về độ dài và độ phức tạp)
- Ensure MFA Delete is enabled on S3 buckets : Đảm bảo rằng MFA được bật khi người dùng sử dụng tính năng DELETE S3
- Ensure CloudTrail is enabled in all regions : Đảm bảo rằng CloudTrail được bật trên tất cả các region
- Ensure a log metric filter and alarm exist for *** : Đảm bảo này có thông báo khi có bất cứ hoạt động bất thường nào trên AWS
- Ensure no Network ACLs allow ingress from 0.0.0.0/0 : Đảm bảo rằng Network ACLs không chấp nhận tất cả các kết nối từ ngoài vào
- ...
2. Audit Microsoft Azure với Nessus
2.1. Các bước thực hiện
2.1.1 Thiết lập môi trường Azure - Key Authentication
Step 1. Truy cập Azure Active Directory > App Registrations > New registration
Cài đặt tham số redirect URI với giá trị Public Client/Native
Step 2. Tạo Certificates and Secrets với đường dẫn Azure Active Directory > App Registrations > Certificates and Secrets
Step 3. Assign Application vừa thiết lập vào Reader Role với đường dẫn Subscriptions > Your Subscription > Access Control (IAM) > Role Assignments > + Add
Step 4. Assign access to User, Group, or Service Principal.
2.1.2. Audit Azure với Nessus
Step 1. Log in vào Nessus
Step 2. Truy cập theo đường dẫn Scan >> My Scans >> Audit Cloud Infrastructure
Thiết lập thông số ban đầu
Trong tab Credentials nhập giá trị Tenant ID , Application ID và Client Secret đã thiết lập ở bước trên
Trong tab Compliance nhập giá trị CIS Microsoft Azure Foundations v1.5.0 L1
Step 3. Tiến hành Save & Scan
2.2. Đọc kết quả Scan
Sau khoảng 2-5 phút, ta nhận được kết quả scan như sau
Ở đây ta cùng tham khảo một vài rules như sau :
- Ensure that Activity Log Alert exists for *** : Đảm bảo hệ thống xuất hiện cảnh báo khi có bất cứ bất thường nào trên Azure
- Ensure that logging for Azure Key Vault is 'Enabled' : Đảm bảo AuditEvent được bật và khả dụng trong mọi trường hợp
- Ensure Multi-factor Authentication is Required for *** : Đảm bảo MFA được bật cho tất cả các hoạt động gây ảnh hưởng tới hệ thống Azure
- Ensure Security Defaults is enabled on Azure Active Directory : Đảm bảo các tính năng Security mặc định luôn được sử dụng trên Azure Active Directory
- ...
3. Tổng kết
Nessus thực sự là một công cụ đắc lực cho công việc Security Audit mà ta có thể sử dụng trong các dịch vụ với khách hàng. Hi vọng sau bài viết này, chúng ta đã có thêm chút kinh nghiệm để sử dụng công cụ tuyệt vời này.