add the main file structure requirements

هذا الالتزام موجود في:
2026-07-26 22:46:15 +03:00
التزام 8bde42182e
20 ملفات معدلة مع 4613 إضافات و0 حذوفات

عرض الملف

@@ -0,0 +1,209 @@
# خطة الاستجابة للحوادث - Incident Response Plan
## نوع الحادثة
هجوم Brute Force ناجح على API Login أدى إلى تسريب بيانات
---
## المرحلة 1: الاحتواء (Containment) - أول 30 دقيقة
### الإجراءات الفورية:
```bash
# 1. إلغاء جميع الـ JWT tokens النشطة
# في قاعدة البيانات أو Redis
redis-cli FLUSHDB # إذا كانت sessions في Redis
# أو عبر API إداري
curl -X POST https://app.ghaymah.systems/api/admin/invalidate-all-tokens \
-H "Authorization: Bearer $ADMIN_TOKEN"
# 2. حظر IP المهاجم
# في iptables
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
# أو في nginx
echo "deny 192.168.1.100;" >> /etc/nginx/conf.d/blocked-ips.conf
sudo nginx -s reload
# 3. تعطيل الحساب المخترق
UPDATE users SET status = 'suspended',
password_hash = 'COMPROMISED_RESET_REQUIRED'
WHERE username = 'admin';
```
### قائمة التحقق:
- [ ] إلغاء جميع الـ tokens
- [ ] حظر IP المهاجم
- [ ] تعطيل الحساب المخترق
- [ ] إبلاغ فريق الأمن
- [ ] توثيق وقت الاكتشاف
---
## المرحلة 2: التحقيق (Investigation) - 1-4 ساعات
### جمع الأدلة:
```bash
# 1. حفظ الـ logs
cp /var/log/nginx/access.log /incident/access.log.$(date +%Y%m%d)
cp /var/log/nginx/error.log /incident/error.log.$(date +%Y%m%d)
# 2. تحليل الطلبات المشبوهة
grep "POST /api/login" /var/log/nginx/access.log | \
awk '{print $1}' | sort | uniq -c | sort -rn | head -20
# 3. تتبع نشاط المهاجم بعد الدخول
grep "192.168.1.100" /var/log/nginx/access.log | \
grep -E "200|201" > /incident/attacker-activity.log
# 4. تحديد البيانات المسربة
grep "192.168.1.100" /var/log/nginx/access.log | \
grep -E "/api/users|/api/export"
```
### الأسئلة المطلوب الإجابة عليها:
1. متى بدأ الهجوم؟
2. كم محاولة تمت قبل النجاح؟
3. ما البيانات التي تم الوصول إليها؟
4. هل يوجد backdoors؟
5. هل تأثرت أنظمة أخرى؟
---
## المرحلة 3: الاستئصال (Eradication) - 4-8 ساعات
### الإجراءات:
```bash
# 1. إعادة تعيين كلمات مرور جميع المستخدمين
# إرسال بريد إلكتروني لجميع المستخدمين
# 2. فحص النظام من backdoors
# فحص cron jobs
crontab -l
cat /etc/crontab
# فحص authorized_keys
cat ~/.ssh/authorized_keys
# فحص الملفات المعدلة مؤخراً
find /app -mtime -1 -type f
# 3. تحديث التبعيات
npm audit fix
# أو
pip install --upgrade -r requirements.txt
```
### قائمة التحقق:
- [ ] إعادة تعيين كلمات المرور
- [ ] فحص backdoors
- [ ] مراجعة صلاحيات المستخدمين
- [ ] تحديث التبعيات الأمنية
---
## المرحلة 4: الاستعادة (Recovery) - 8-24 ساعة
### خطوات الاستعادة:
1. **تفعيل الحماية الجديدة:**
```javascript
// إضافة Rate Limiting
const rateLimit = require('express-rate-limit');
app.use('/api/login', rateLimit({
windowMs: 15 * 60 * 1000,
max: 5,
message: 'محاولات كثيرة، حاول لاحقاً'
}));
```
2. **تفعيل Account Lockout:**
```javascript
// قفل الحساب بعد 5 محاولات فاشلة
if (failedAttempts >= 5) {
await lockAccount(userId, 30 * 60 * 1000); // 30 دقيقة
}
```
3. **إعادة تشغيل الخدمات:**
```bash
# إعادة نشر التطبيق على غيمة
git push origin main # النشر التلقائي
```
### قائمة التحقق:
- [ ] تفعيل Rate Limiting
- [ ] تفعيل Account Lockout
- [ ] إضافة CAPTCHA
- [ ] تفعيل MFA للحسابات الإدارية
- [ ] إعادة تشغيل الخدمات
- [ ] اختبار الحماية الجديدة
---
## المرحلة 5: إبلاغ المتأثرين - 24-48 ساعة
### نموذج البريد الإلكتروني:
```
الموضوع: إشعار أمني مهم - [اسم التطبيق]
عزيزي المستخدم،
نود إبلاغك بحادثة أمنية وقعت بتاريخ [التاريخ].
تم الوصول غير المصرح به إلى بعض بيانات المستخدمين.
البيانات المتأثرة:
- الاسم
- البريد الإلكتروني
- [أي بيانات أخرى]
الإجراءات المتخذة:
1. تم إيقاف الهجوم فوراً
2. تم تعزيز الحماية
3. تم إعادة تعيين جميع كلمات المرور
ما يجب عليك فعله:
1. تغيير كلمة المرور فوراً
2. تفعيل المصادقة الثنائية
3. مراقبة حساباتك الأخرى
نعتذر عن أي إزعاج.
فريق الأمن
```
---
## المرحلة 6: الدروس المستفادة - أسبوع
### اجتماع Post-Mortem:
| السؤال | الإجابة |
|--------|---------|
| ما الذي حدث؟ | هجوم brute force ناجح |
| لماذا حدث؟ | عدم وجود rate limiting + كلمة مرور ضعيفة |
| كيف اكتشفناه؟ | مراجعة يدوية للـ logs |
| كم استغرق الاحتواء؟ | [X] دقيقة |
| ما الذي يجب تحسينه؟ | إضافة تنبيهات تلقائية |
### التحسينات المطلوبة:
1. [ ] تفعيل Rate Limiting على جميع APIs
2. [ ] فرض سياسة كلمات مرور قوية
3. [ ] تفعيل MFA إلزامياً للإداريين
4. [ ] إضافة تنبيهات للنشاط المشبوه
5. [ ] تدريب الفريق على الاستجابة للحوادث
---
## جهات الاتصال
| الدور | الاسم | الهاتف | البريد |
|-------|-------|--------|--------|
| قائد الحادثة | [الاسم] | [الرقم] | [البريد] |
| فريق DevOps | [الاسم] | [الرقم] | [البريد] |
| المستشار القانوني | [الاسم] | [الرقم] | [البريد] |
| دعم غيمة | - | - | support@ghaymah.systems |