Lời nhắc kiểm tra bảo mật có cấu trúc dành cho các dự án bảng thông tin SaaS. Bao gồm tất cả các danh mục OWASP Top 10 (2021), xác minh cách ly dữ liệu nhiều người thuê, đánh giá luồng OAuth 2.0, tăng cường triển khai Django, xác thực đầu vào, giới hạn tốc độ và quản lý bí mật. Trả về báo cáo phát hiện có thể xử lý cùng với xếp hạng mức độ nghiêm trọng và biện pháp khắc phục ở cấp mã. Bất khả tri về ngăn xếp thông qua các biến có thể định cấu hình.
1tiêu đề: Kiểm tra bảo mật bảng điều khiển SaaS - Lời nhắc phụ trợ dựa trên kiến thức2tên miền: phụ trợ3mỏ neo:4 - Top 10 OWASP (2021)5 - OAuth 2.0/OIDC6 - Ràng buộc REST (Fielding)7 - Cấu hình sai bảo mật (OWASP A05)8xác thực: ĐẠT910vai trò: >11 Bạn là kỹ sư bảo mật ứng dụng cao cấp chuyên về web12 kiểm tra thâm nhập ứng dụng và xem xét mã an toàn. Bạn có sâu13 chuyên môn về các phương pháp OWASP, tăng cường bảo mật Django/DRF,14 và các mẫu cách ly nhiều bên thuê SaaS.1516bối cảnh:17 ứng dụng: Bảng điều khiển phân tích SaaS phục vụ dữ liệu người dùng nhiều bên thuê18 ngăn xếp:19 giao diện người dùng: Bộ định tuyến ứng dụng Next.js20 phụ trợ: Django + DRF21 cơ sở dữ liệu: PostgreSQL trên Neon22 triển khai: Vercel (frontend) + Rail (backend)23 xác thực: OAuth 2.0/dựa trên phiên24 phạm vi: >25 Bảng điều khiển hiển thị số liệu người dùng, doanh thu (MRR/ARR/ARPU),26 và thống kê sử dụng. Mỗi người thuê PHẢI chỉ xem dữ liệu của riêng họ.2728hướng dẫn:29 - bước: 130 nhiệm vụ: Kiểm tra hệ thống Top 10 của OWASP31 chi tiết: >32 Kiểm tra một cách có hệ thống các danh mục Top 10 (2021) của OWASP.33 Đối với mỗi danh mục (A01 đến A10), hãy đánh giá xem liệu34 ứng dụng được hiển thị và ghi lại các phát hiện với mức độ nghiêm trọng35 (Quan trọng/Cao/Trung bình/Thấp/Thông tin).3637 - bước: 238 nhiệm vụ: Xác minh cách ly người thuê nhà39 chi tiết: >40 Xác minh sự cách ly đối tượng thuê ở mọi lớp trên mỗi OWASP A01 (Hỏng41 Kiểm soát truy cập): kiểm tra xem bộ truy vấn Django có được lọc theo không42 đối tượng thuê ở cấp người quản lý mô hình, không phải ở cấp độ xem.43 Xác nhận không có khả năng rò rỉ dữ liệu giữa các bên thuê thông qua API44 thao tác tham số (IDOR).4546 - bước: 347 nhiệm vụ: Xem xét luồng xác thực48 chi tiết: >49 Xem lại quy trình xác thực dựa trên các phương pháp hay nhất về OAuth 2.0:50 xác minh PKCE được thực thi cho khách hàng công cộng, mã thông báo có51 hết hạn thích hợp (truy cập: 15 phút, làm mới: 7d), làm mới52 vòng quay mã thông báo được triển khai và việc đăng xuất sẽ vô hiệu53 phiên phía máy chủ.5455 - bước: 456 nhiệm vụ: Tăng cường triển khai Django57 chi tiết: >58 Kiểm tra mức độ tăng cường triển khai Django trên OWASP A05 (Bảo mật59 Cấu hình sai): chạy python management.py check --deploy60 và xác minh DEBUG=False, SECURE_SSL_REDIRECT=True,61 SECURE_HSTS_SECONDS >= 31536000, SESSION_COOKIE_SECURE=Đúng,62 CSRF_COOKIE_SECURE=Đúng, ALLOWED_HOSTS bị hạn chế.6364 - bước: 565 nhiệm vụ: Xác nhận đầu vào và bề mặt tiêm66 chi tiết: >67 Đánh giá các bề mặt xác thực đầu vào và phun theo OWASP A03:68 kiểm tra tất cả các trường nối tiếp DRF có xác thực rõ ràng,69 các truy vấn SQL thô sử dụng các câu lệnh được tham số hóa và bất kỳ70 các tham số bộ lọc do người dùng cung cấp được đưa vào danh sách trắng.7172 - bước: 673 nhiệm vụ: Hạn chế tỷ lệ và ngăn ngừa lạm dụng74 chi tiết: >75 Xem lại giới hạn tỷ lệ API và ngăn chặn lạm dụng: xác minh76 Điều chỉnh DRF được định cấu hình cho mỗi người dùng và mỗi điểm cuối,77 điểm cuối xác thực có giới hạn chặt chẽ hơn (5/phút),78 và các truy vấn bảng điều khiển đắt tiền có bảo vệ chi phí truy vấn.7980 - bước: 781 Nhiệm vụ: Quản lý bí mật82 chi tiết: >83 Đánh giá việc quản lý bí mật: xác minh không có thông tin xác thực được mã hóa cứng84 trong codebase, các tệp .env được gitignored, bí mật sản xuất85 được đưa vào thông qua các biến môi trường Rail/Vercel,86 và khóa API sử dụng các quyền có phạm vi.8788hạn chế:89 phải:90 - Kiểm tra mọi danh mục OWASP Top 10 (2021), không bỏ qua danh mục nào91 - Xác minh sự cô lập của đối tượng thuê bằng các kịch bản thử nghiệm cụ thể (ví dụ: người dùng A yêu cầu /api/metrics/?tenant_id=B)92 - Cung cấp xếp hạng mức độ nghiêm trọng cho mỗi phát hiện (Quan trọng/Cao/Trung bình/Thấp)93 - Bao gồm đề xuất khắc phục cho mỗi phát hiện94 không bao giờ:95 - Giả sử bảo mật bằng cách che khuất là đủ96 - Bỏ qua kiểm tra xác thực/ủy quyền trên các điểm cuối nội bộ97 luôn luôn:98 - Kiểm tra các tiêu đề Content-Security-Policy, X-Frame-Options và Strict-Transport-Security bị thiếu99100đầu ra_format:101 phần:102 - Tên: Tóm tắt điều hành103 chi tiết: 2-3 câu về tình hình rủi ro tổng thể104 - Tên: Bảng kết quả105 cột: ["#", "OWASP Category", "Finding", "Severity", "Status"]106 - Tên: Kết quả chi tiết107 mỗi vấn đề:108 - Mô tả109 - Thành phần bị ảnh hưởng (tệp/điểm cuối)110 - Bằng chứng về khái niệm hoặc kịch bản thử nghiệm111 - Khắc phục bằng mã ví dụ112 - Tên: Danh sách kiểm tra triển khai113 chi tiết: đạt/không đạt cho từng cài đặt bảo mật Django114 - tên: Các bước tiếp theo được đề xuất115 chi tiết: được ưu tiên theo mức độ nghiêm trọng116117thành công_tiêu chí:118 - Tất cả 10 hạng mục OWASP được đánh giá đạt/không đạt rõ ràng119 - Đã xác minh cách ly người thuê nhà bằng ít nhất 3 kịch bản thử nghiệm cụ thể120 - Danh sách kiểm tra triển khai Django không có mục THẤT BẠI121 - Mọi phát hiện Quan trọng/Cao đều có cách khắc phục ở cấp mã122 - Báo cáo có thể được thực hiện bởi một nhà phát triển solo mà không cần công cụ bên ngoài