ScubaGear: Công Cụ Đánh Giá Bảo Mật M365
ScubaGear là công cụ PowerShell riêng của CISA để kiểm tra cấu hình tenant Microsoft 365 theo các baseline cấu hình an toàn SCuBA, chấm điểm kết quả bằng Open Policy Agent thay vì một script pass/fail đơn giản. Hãy dùng nếu bạn là admin chịu trách nhiệm hardening M365 hoặc chuẩn bị submission BOD 25-01; bỏ qua nếu bạn chỉ muốn xem nhanh tình trạng bảo mật, vì việc xây file cấu hình YAML và đọc report đều tốn thời gian thiết lập thực sự.
ScubaGear Làm Gì
ScubaGear là module PowerShell do CISA xây dựng để kiểm tra một tenant Microsoft 365 theo các tài liệu SCuBA Secure Configuration Baseline. Nó hoạt động theo ba bước: lấy cấu hình hiện tại của tenant qua API của Microsoft, đưa cấu hình đó cho Open Policy Agent so sánh với các rule Rego xây dựng từ baseline, rồi xuất kết quả thành một report HTML, một file JSON, và một file CSV.
Đối Tượng Sử Dụng ScubaGear
ScubaGear nhắm thẳng vào admin M365 — những người thực sự vận hành tenant, không phải nhân viên IT nói chung hay end user. Nếu bạn là người quản lý cấu hình Entra ID, Exchange Online, SharePoint, Teams, hay Power Platform và cần chứng minh cấu hình đó đạt baseline của CISA, đặc biệt cho submission BOD 25-01, công cụ này đúng cho công việc của bạn. Nếu bạn chỉ muốn một dashboard sức khoẻ M365 chung chung mà không cần chấm điểm theo baseline nghiêm ngặt, Secure Score có sẵn trong admin center của Microsoft là điểm khởi đầu nhẹ nhàng hơn.
Đánh Giá Bảo Mật Tenant M365
Kiểm tra tenant Microsoft 365 theo Secure Configuration Baseline của CISA bằng tay nghĩa là phải đọc bảy tài liệu baseline riêng biệt và tự tay đối chiếu từng control với cấu hình tenant thực tế — chậm, dễ sai, và không nhất quán giữa người review này với người review khác. ScubaGear tự động hoá việc đối chiếu đó: nó lấy cấu hình M365 hiện tại qua API của chính nền tảng, đánh giá theo rule Rego viết thẳng từ baseline SCuBA bằng Open Policy Agent, rồi trả về cùng một report HTML/JSON/CSV mỗi lần chạy, dù là lần đầu hay lần thứ năm mươi.
Năng Lực Chính Và Output
- ✓Pipeline đánh giá ba bước: PowerShell lấy cấu hình M365 hiện tại qua API của Microsoft, Open Policy Agent kiểm tra theo rule Rego xây từ baseline SCuBA, rồi kết quả được ghi ra.
- ✓Bảy khu vực baseline: Microsoft Entra ID, Security Suite, Exchange Online, Power BI, Power Platform, SharePoint, và Teams, mỗi khu vực có tài liệu baseline riêng.
- ✓Control được ánh xạ tới hai framework — NIST SP 800-53 và MITRE ATT&CK — theo tài liệu mapping mà README dẫn tới.
- ✓Scuba Configuration UI, khởi chạy bằng `Start-ScubaConfigApp`, cho bạn một wizard từng bước, xem trước YAML theo thời gian thực, và tích hợp Microsoft Graph để chọn user và group thay vì tự sửa file cấu hình.
- ✓Ba định dạng report mỗi lần chạy: report HTML tương tác, file JSON có cấu trúc, và file CSV để làm việc trên spreadsheet.
- ✓File cấu hình YAML điều khiển exclusion, annotation, và omission, để rủi ro được chấp nhận có ghi lại thay vì bị bỏ qua âm thầm.
- ✓Lệnh bảo trì có sẵn: `Update-ScubaGear` để cập nhật thường xuyên và `Reset-ScubaGearDependencies` để cài lại toàn bộ dependency.
Cài Đặt ScubaGear
Cài ScubaGear cần PowerShell 5 trên Windows — các bước cài trong README không đề cập Linux hay macOS. Từ PSGallery: `Install-Module -Name ScubaGear`, rồi `Initialize-SCuBA` để cài các dependency tối thiểu cần thiết, rồi `Invoke-SCuBA -Version` để xác nhận cài đúng. Để cập nhật sau này, chạy `Update-ScubaGear`; để cài lại toàn bộ dependency, dùng `Reset-ScubaGearDependencies` (README khuyên đọc Update Guide trước).
Chạy Assessment Đầu Tiên
Lần chạy đầu tiên nên bỏ qua file cấu hình: `Invoke-SCuBA -ProductNames *` đọc cấu hình hiện tại của tenant trên mọi product và xuất một baseline template mà không thay đổi gì. Ở v2.0.0, đăng nhập interactive vào tenant non-commercial (GCC hoặc GCC High) vẫn cần truyền `-M365Environment` thủ công — README nói tự động phát hiện dự kiến có ở bản sau. Từ đó, copy một trong các file YAML mẫu, sửa lại theo policy bạn muốn, rồi chạy lại với `-ConfigFilePath`. Thêm `-Organization` cho submission BOD 25-01, hoặc `-SilenceBODWarnings` cho các trường hợp khác.
Điểm Mạnh
- ✓Miễn phí và cấp phép public domain (CC0-1.0) — không có rào cản license cho một công cụ compliance do chính phủ xây dựng.
- ✓Ba định dạng output có sẵn (HTML, JSON, CSV) thay vì một report format bạn phải tự viết parser.
- ✓Việc ánh xạ compliance đã được làm sẵn — control gắn với NIST SP 800-53 và MITRE ATT&CK, nên bạn không phải tự làm crosswalk framework từ đầu.
- ✓Có GUI (Scuba Configuration UI) cho người không muốn tự sửa YAML, song song với đường CLI cho automation.
- ✓Lệnh cập nhật và reset dependency có sẵn (`Update-ScubaGear`, `Reset-ScubaGearDependencies`) thay vì phải cài lại thủ công.
Yêu Cầu Và Cấu Hình Cần Thiết
- △Các bước cài trong README chỉ dành cho Windows — PowerShell 5 trên máy Windows — không có hướng dẫn cho Linux hay macOS.
- △File cấu hình YAML là bắt buộc riêng cho submission BOD 25-01 của CISA; bỏ qua nó thì ScubaGear chạy theo cấu hình mặc định mà README cảnh báo có thể không phản ánh đúng policy thực tế của bạn.
- △Lần chạy đầu không có file cấu hình chỉ tạo ra một baseline template — bạn vẫn phải review, xây file YAML thực sự, rồi chạy lại trước khi kết quả phản ánh đúng ý định của bạn.
- △Ở v2.0.0, tenant non-commercial (GCC, GCC High) cần set tham số `-M365Environment` thủ công khi đăng nhập interactive; README nói việc tự động phát hiện chưa được xây dựng.
- △Chạy một assessment cần các quyền M365 cụ thể được thiết lập trước — interactive hoặc non-interactive — mà README dẫn sang một phần prerequisite riêng thay vì liệt kê ngay trong README.
Công Cụ Đánh Giá Liên Quan
Câu Hỏi Thường Gặp Về ScubaGear
ScubaGear được phát hành theo giấy phép Creative Commons Zero (CC0-1.0), theo file license trên GitHub — về cơ bản là public domain, không có ràng buộc sử dụng.
ScubaGear đánh giá Microsoft Entra ID, Security Suite, Exchange Online, Power BI, Power Platform, SharePoint, và Teams, mỗi dịch vụ theo baseline SCuBA riêng.
ScubaGear tạo ba định dạng report mỗi lần chạy: report HTML tương tác, file JSON có cấu trúc, và file CSV để phân tích trên spreadsheet.
ScubaGear chạy được mà không cần file cấu hình cho lần scan baseline đầu tiên, nhưng README nói file cấu hình YAML là bắt buộc nếu assessment phục vụ submission BOD 25-01 của CISA.
ScubaGear hỗ trợ submission BOD 25-01 khi chạy với file cấu hình YAML và tham số `-Organization`, theo đúng lệnh được nêu trong README.
ScubaGear có Scuba Configuration UI, khởi chạy bằng `Start-ScubaConfigApp`, cung cấp wizard từng bước với xem trước YAML theo thời gian thực và tích hợp Microsoft Graph để chọn user và group.
Trường Hợp Sử Dụng Tốt Nhất
- •Chạy lần đầu không cần file cấu hình để xem tình trạng M365 hiện tại của tenant trước khi quyết định cần sửa gì.
- •Ghi lại rủi ro đã chấp nhận trong file YAML (exclusion, annotation, omission) để các lần chạy sau không báo lại quyết định bạn đã đưa ra.
- •Chuẩn bị submission BOD 25-01 của CISA, theo README cần file cấu hình YAML và tham số `-Organization` thay vì dùng mặc định.
- •Tích hợp ScubaGear vào pipeline tự động qua ScubaConnect, hạ tầng riêng của CISA mà README nhắc tới để tự động hoá việc chạy ScubaGear và ScubaGoggles.
Repo liên quan
ScubaGear có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về ScubaGear.
