سیستم مستندات یکپارچه

Health check - Security

امنیت

این بخش فقط لیست فایل نیست؛ کنترل‌های امنیتی قابل مشاهده از روی dependencyها، routeها و فایل‌های auth/permission/guard/secret تحلیل شده‌اند. هرجا شواهد کافی نبوده، وضعیت نیازمند بررسی انسانی باقی مانده است.

کنترل‌های امنیتی شناسایی‌شده

کنترلوضعیتتوضیحشاهد
JWT / Token Authenticationشاهد مستقیم پیدا شدپروژه از token یا guard مرتبط با JWT برای شناسایی کاربر و محافظت از routeها استفاده می‌کند.dependency یا فایل‌های jwt/auth
Authorization / RBACشاهد مستقیم پیدا شدفایل‌های permission، role یا guard نشان می‌دهند که دسترسی فقط بر اساس login نیست و سطح مجوز هم بررسی می‌شود.permission/role/guard files
Audit Loggingشاهد مستقیم پیدا شدرخدادهای امنیتی یا عملیاتی قابل ثبت و بازبینی هستند.audit files/endpoints
HTTP Security Headersشاهد dependencyوجود helmet نشان می‌دهد hardening هدرهای HTTP در backend قابل اعمال است.helmet dependency

جریان امنیتی درخواست

Mermaid sequence diagram - auth/authorization flow

sequenceDiagram
  autonumber
  participant U as کاربر
  participant UI as Frontend
  participant API as API Gateway/Controller
  participant Guard as Guard/Permission
  participant S as Service
  participant DB as Database
  U->>UI: ورود یا اجرای عملیات
  UI->>API: درخواست همراه token
  API->>Guard: بررسی auth و authorization
  Guard-->>API: اجازه یا رد دسترسی
  API->>S: اجرای منطق مجاز
  S->>DB: ذخیره/audit در صورت نیاز
  DB-->>UI: پاسخ کنترل‌شده

تحلیل ریسک و توصیه‌ها

ریسک‌های زیر از نوع قابلیت‌ها و فایل‌های امنیتی استخراج شده‌اند و برای production باید با تست و تنظیمات runtime کامل شوند.

  • برای هر endpoint حساس، policy دسترسی و تست 401/403 جداگانه ثبت شود.
  • مقادیر env، token، password و connection string فقط با نام متغیر مستند شوند و مقدار واقعی نمایش داده نشود.
  • رخدادهای login، تغییر permission، تغییر تنظیمات و عملیات destructive در audit log قابل ردیابی باشند.
  • برای قابلیت‌های outbound مثل HTTP check، محدودیت SSRF و allowlist/denylist مقصدها به صورت تست‌شده نگهداری شود.

منابع کد امنیتی

  • backend/prisma/migrations/20260516153000_sms_test_center_permissions/migration.sql
  • backend/src/auth/auth.controller.ts
  • backend/src/auth/auth.dto.ts
  • backend/src/auth/auth.module.ts
  • backend/src/auth/auth.service.ts
  • backend/src/common/jwt-auth.guard.ts
  • backend/src/common/permissions.decorator.ts
  • backend/src/common/permissions.guard.ts
  • backend/src/common/project-permissions.decorator.ts
  • backend/src/common/super-admin.guard.ts
  • frontend/src/components/PermissionMatrix.vue
  • frontend/src/stores/auth.ts