انتقل إلى المحتوى الرئيسي

المصادقة

تدعم AuroraSOC طريقتين للمصادقة: JWT (JSON Web Tokens) للمستخدمين التفاعليين ومفاتيح API للوصول البرمجي. يتم فرض كلتا الطريقتين على كل نقطة نهاية لواجهة برمجة التطبيقات (API) واتصال WebSocket.

تدفق المصادقة

مصادقة JWT

تسجيل الدخول

curl -X POST /api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"username": "analyst@soc.company.com", "password": "secure_password"}'

إجابة:

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer",
"expires_in": 86400
}

هيكل الرمز المميز

تحتوي حمولة JWT على:

{
"sub": "analyst@soc.company.com",
"role": "analyst",
"exp": 1705430400,
"iat": 1705401600
}
مجالوصف
subمعرف المستخدم (اسم المستخدم/البريد الإلكتروني)
roleالدور المعين (المسؤول، المحلل، المشاهد، المشغل، api_service)
expالطابع الزمني لانتهاء الصلاحية (24 ساعة بشكل افتراضي)
iatصدر في الطابع الزمني

استخدام الرمز المميز

بالنسبة للعملاء الذين لا يستخدمون المتصفح، قم بتضمين الرمز المميز في رأس Authorization:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

بالنسبة لعملاء المتصفح، تقوم AuroraSOC أيضًا بتعيين ملف تعريف الارتباط httpOnly access_token عند تسجيل الدخول وتقبل مصادقة ملف تعريف الارتباط على مسارات API + WebSocket.

بالنسبة لاتصالات WebSocket، يجب أن يعتمد عملاء المتصفح على مصادقة ملفات تعريف الارتباط. إن مصادقة رمز الاستعلام مخصصة فقط لعملاء التشغيل الآلي الذين لا يستخدمون المتصفح والذين لا يمكنهم إرفاق ملفات تعريف الارتباط:

ws://aurora:8000/api/v1/ws/alerts?token=eyJhbGciOiJIUzI1NiIs...

تكوين الرمز المميز

متغير البيئةتقصيروصف
JWT_SECRET_KEY(مطلوب)سر توقيع HS256 (32 حرفًا على الأقل)
JWT_EXPIRY_HOURS24عمر الرمز المميز بالساعات
الإدارة السرية

يجب أن يكون JWT_SECRET_KEY عبارة عن سلسلة عشوائية مشفرة مكونة من 32 حرفًا على الأقل. لا تلزمه أبدًا بالتحكم في الإصدار. استخدم HashiCorp Vault أو متغيرات البيئة من مدير الأسرار.

مصادقة مفتاح API

بالنسبة للاتصالات من خدمة إلى خدمة والبرامج النصية للأتمتة:

إنشاء مفاتيح API

curl -X POST /api/v1/auth/api-keys \
-H "Authorization: Bearer $TOKEN_WITH_USERS_MANAGE" \
-d '{"service_name": "SIEM Integration", "expires_in_days": 90}'

إجابة:

{
"api_key": "aurora_a1b2c3d4e5f6...",
"service_name": "SIEM Integration",
"role": "api_service",
"created_at": "2024-01-15T10:00:00Z"
}
عرض لمرة واحدة

يظهر مفتاح واجهة برمجة التطبيقات مرة واحدة فقط عند الإنشاء. تخزينها بشكل آمن على الفور. يقوم AuroraSOC بتخزين تجزئة المفتاح SHA-256 فقط.

استخدام مفاتيح API

تضمين في رأس X-API-Key:

X-API-Key: aurora_a1b2c3d4e5f6...

دورة حياة مفتاح API

فعلنقطة النهايةالإذن مطلوب
يخلقPOST /api/v1/auth/api-keysusers:manage
قائمةGET /api/v1/auth/api-keysusers:manage
إبطالDELETE /api/v1/auth/api-keys/{id}users:manage

أفضل الممارسات الأمنية

  1. ** قم بتدوير أسرار JWT ** بشكل دوري (ربع سنوي على الأقل)
  2. استخدم الرموز قصيرة العمر — 24 ساعة هي المدة الافتراضية؛ تقليل العمر الافتراضي للبيئات عالية الأمان
  3. إبطال مفاتيح واجهة برمجة التطبيقات فورًا عند إيقاف تشغيل الخدمة المرتبطة
  4. مراقبة فشل المصادقة — يقوم AuroraSOC بتسجيل جميع محاولات المصادقة الفاشلة في تدفق التدقيق
  5. استخدم HTTPS — انشر دائمًا خلف وكيل عكسي ينهي TLS
  6. مصادقة حد المعدل — يمنع تحديد المعدل المدمج هجمات القوة الغاشمة على نقاط نهاية تسجيل الدخول