+11

Audit Google Cloud Platform với Nessus

1. Tổng quan về Nessus

Nessus là một công cụ scan, đánh giá được sử dụng để phát hiện các lỗ hổng bảo mật trong các hệ thống máy tính, ứng dụng và thiết bị mạng. Nessus được phát triển bởi Tenable Network Security và được sử dụng phổ biến trong các hoạt động kiểm tra và quản lý rủi ro.

Cá nhân mình nhận thấy Nessus không có khả năng nổi trội về lĩnh vực dò quét lỗ hổng bảo mật chuyên sâu như Acunetix, IBM Scan hay HCL Scan.. mà đặc biệt mạnh mẽ trong 2 lĩnh vực Auditing & Compliance. Với những hệ thống phức tạp đòi hỏi yêu cầu cao về mức độ toàn vẹn của quy trình cũng như mức độ đảm bảo của công cụ. Nessus luôn là lựa chọn hàng đầu của bất kỳ Pentester & Auditor nào.

2. Audit Google Cloud Với Nessus

2.1. Cài đặt Nessus trên Ubuntu

Bước 1: Download Nessus từ trang chủ của Tenable Network Security. Để tải xuống phiên bản Nessus dành cho Ubuntu, bạn truy cập vào đường dẫn sau:

Bước 2: Sau đó, sử dụng lệnh sau để cài đặt Nessus:

sudo dpkg -i Nessus-<version_number>-ubuntu<architecture>.deb

Bước 3 : Khởi động Nessus với command

sudo systemctl start nessusd

Bước 4: Truy cập vào địa chỉ http://localhost:8834 để truy cập giao diện web của Nessus.

Tiếp theo Nessus sẽ yêu cầu bạn lựa chọn phiên bản sử dụng, có khá nhiều phiên bản với các chức năng khác nhau bao gồm : Nessus Expert, Nessus Professional, Nessus Essentials ... Ở đây mình chọn Nessus Professional với trial mặc định 7 ngày.

Sau khi hoàn tất quá trình đăng ký ban đầu, Nesssus sẽ mất một khoảng thời gian khá dài để compliance đống plugin vô cùng đồ sộ. Do vậy trong thời gian này, chúng ta nên kiếm gì ăn cho đỡ đói.🍎

2.2. Kết nối Nessus với Google Cloud

Quá trình kết nối Nessus với Google Cloud diễn ra khá khác biệt so với các nền tảng Cloud khác. Nếu như ở AWS hay Azure chúng ta cấu hình đơn giản bằng cách cấp Key cho các ứng dụng thứ 3 thì với Google. Nessus cần làm việc thông qua Service Accounts.

Bước 1 Truy cập IAM & Admin > Service Accounts.

image.png

Bước 2. Tạo Service Account

image.png

Bước 3. Cấp quyền truy cập cho Service với vai trò Viewer

image.png

Bước 4. Hoàn tất quá trình, nhấp vào email của tài khoản vừa tạo

image.png

Bước 5. Trong tab KEY , ta tiến hành thêm khóa mới với định dạng JSON

image.png

Bước 6. Lưu khóa về máy và đảm bảo lưu trữ an toàn

3. Sử dụng Nessus Audit

Bước 1. Login to Nessus

Bước 2. Truy cập theo đường dẫn Scan >> My Scans >> Audit Cloud Infrastructure

image.png

Bước 3. Tiến hành hoàn thiện đầy đủ các thông số Name , Description .

image.png

Trong phần Credentials tab ta tiến hành import key Google Cloud vừa tạo ra từ bước trên

image.png

Tới phần này thì mình thấy lấn cấn ở đâu đó 🤔, suy đi xét lại thì thấy thiếu mất tab Compliance , lang thang trên forum thì mình nhận được lời khuyên reset lại Nessus DB với câu lệnh sau :

sudo /opt/nessus/sbin/nessusd -R 
/sbin/service nessusd start

Sau khi đợi Nessus biên dịch loại toàn bộ kho plugin , ta có giao diện bổ sung :

Nessus cung cấp Compliance mặc định theo tiêu chuẩn bảo mật CIS hoặc cho phép cá nhân tự thay đổi và sửa chữa cho phù hợp với nhu cầu riêng của từng hệ thống. Trong khuôn khổ bài viết, mình chọn mặc định sử dụng CIS Google Cloud Platform 1.3.0 L2.

Bước 4. Tiến hành Save & Scan

3.1. Đọc kết quả Audit

Sau khi quá trình scan hoàn tất, ta nhận được kết quả sau :

Bám sát tiêu chuẩn bảo mật CIS , kết quả Audit Google Cloud được chia ra làm 5 phần chính bao gồm : Identity and Access Management , Logging and Monitoring , Networking , Virtual Machines và Google Cloud Storage .

Trong giới hạn bài viết, mình nêu ra một vài gạch-đầu-dòng như sau :

3.1.1. Identity and Access Management

  • Đảm bảo rằng tài khoản của công ty được sử dụng thay vì sử dụng email cá nhân
  • Đảm bảo rằng MFA được sử dụng cho các tài khoản người sử dụng
  • Đảm bảo rằng trên hệ thống không sử dụng ServiceAccount với đặc quyền admin (điều này tương tự như khi sử dụng API trên AWS)
  • Đảm bảo rằng các tài khoản không sử dụng trên 90 ngày bị vô hiệu hoá
  • Đảm bảo rằng Encryption keys được thay đổi mỗi 365 ngày và được quản trị bằng hệ thống Google KMS
  • Các API Key (nếu có) phải thay đổi sau mỗi 90 ngày

3.1.2. Logging and Monitoring

  • Đảm bảo Cloud Audit Logging được cấu hình trên toàn bộ Projects và log được lưu trữ an toàn trên Google Bucket
  • Hệ thống phải xuất hiện cảnh báo khi các cấu hình quan trọng thay đổi (bao gồm : Audit Configuration , Custom Role , VPC Firewall, VPC route , Cloud Storage IAM permission , SQL instance ...)

3.1.3. Networking

  • Không sử dụng Default Network trên toàn bộ Project
  • Đảm bảo rằng các kết nối SSH, RDP từ internet bị giới hạn tới Project
  • Đảm bảo chức năng VPC Flow logs được bật trên toàn bộ VPC Network

3.1.4. Virtual Machines

  • Đảm bảo chức năng oslogin được bật trên toàn bộ Project
  • Đảm bảo chức năng IP forwarding được tắt trên tất cả các Virtual Machines
  • Đảm bảo toàn bộ VM được mã hoá với CSEK

3.1.5. Google Cloud Storage

  • Đảm bảo Google Cloud Storage không được truy cập công khai từ internet (trừ các trường hợp đặc thù mà hệ thống của bạn bắt buộc sử dụng chức năng này - ví dụ như xây dựng trang web tĩnh )
  • Đảm bảo chức năng lưu trữ log được sử dụng với tất cả các Cloud Storage
  • Phân quyền hợp lý, chính xác với từng cá nhân được phép truy cập Cloud Storage theo nguyên tắc Blackbox (mặc định chặn tất cả, ai cần chức năng nào thì cho phép sử dụng chức năng đó)

Ngoài lề

Thực chất quá trình Auditing là một quá trình khá đơn giản ở các bước : Thu thập dữ liệu , phân tích dữ liệu và đề xuất báo cáo. Cái khó nhất của công việc này là một Auditor phải trả lời được các câu hỏi của khách hàng kiểu như :

  • Hệ thống anh đang chạy ngon, nhỡ chú Audit xong nó lăn ra chết thì sao ?

    Trả lời : Em gửi anh quy trình bao gồm (công cụ thực hiện, mức độ can thiệp hệ thống , nhật ký trước và sau quá trình audit). Ngoài ra đơn vị mình hoàn toàn có thể theo dõi và giám sát Auditor (trực tiếp hoặc gián tiếp) trong quá trình làm việc .

  • Rule này là gì, tại sao anh phải áp dụng nó ?

    Trả lời : Việc Audit này thực hiện theo khuyến cáo của CIS Benchmarks là một tổ chức uy tín và lâu đời trên thế giới nhằm giúp hệ thống an toàn hơn trước các mối đe doạ tiềm tàng hiện nay + Lời giải thích chi tiết nhất có thể của rule mà khách hàng đang thắc mắc. Nếu có thể kèm video chứng minh mức độ nguy hiểm nếu hệ thống không áp dụng.

  • Hệ thống này chạy cả chục năm nay, không audit có sao đâu ?

    Trả lời: Chưa sao chứ không phải không sao anh ạ (nếu đang chán tiền)

  • Sao kết quả Audit của em lại khác bên X, bên Y, bên Z gửi.. 10 năm trước nhỉ ?

    Trả lời : 😃


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.