
خط أنابيب أمني مفتوح المصدر ومستضاف ذاتيًا لتقنية المعلومات والذكاء الاصطناعي والتقنيات التشغيلية. تسجيل الدخول. إخراج الأدلة.: توحيد OCSF، و46 قاعدة كشف (موسومة وفق MITRE/ATLAS/ICS)، وربط الأحداث، وحزم الأدلة، ومسودات NIS2، وواجهة React مُعاد بناؤها + عرض تجريبي على GitHub Pages. Apache-2.0.
تسجيل الدخول. إخراج الأدلة.
خط أنابيب أمني مفتوح المصدر لتقنية المعلومات والذكاء الاصطناعي والتقنية التشغيلية: من السجلات الخام إلى حادثة موثّقة وإشعار NIS2 أولي.
صفحة المشروع والعرض التجريبي المباشر · البدء السريع · وحدة التحكم · البنية المعمارية · الحالة (SSOT)
تعكس الشارات آخر تشغيل حقيقي على
main، وليست وعدًا. النتائج المتبقية في Scorecard هي مقايضات مقبولة وموثّقة، وليست ثغرات؛ راجع SSOT.md §1.
تربط FENGARDE بيانات القياس الأمني عبر تقنية المعلومات والذكاء الاصطناعي والتقنية التشغيلية لتُظهر ما حدث، ومن أو ما الذي تصرّف، وما الذي تأثّر، وكيف ترتبط الأحداث، وما الأدلة التي تدعم الاستنتاج.
مصمّمة للشركات الصناعية الأوروبية المتوسطة: مفتوحة المصدر، مستضافة ذاتيًا، برخصة Apache-2.0، مع مسار إشعار حوادث NIS2 أولي، ومولّد تقارير حتمي بالألمانية/الإنجليزية، وRBAC/MFA/سجل تدقيق/تعدد المستأجرين اختياريًا لنشر بنمط مزوّدي الخدمات المُدارة (MSP)، وملف توفّر عالٍ (HA) اختياري (مُختبَر بإيقاف حقيقي، وليس مجرد توصيلات)، وفرز بالذكاء الاصطناعي لا يغادر شبكتك أبدًا.
تُجمَع السجلات، وتُوحَّد إلى مخطط واحد (OCSF)، وتُمرَّر عبر قواعد ارتباط على نافذة منزلقة، وتُجمَّع في حوادث مع رسم بياني سببي وحزمة أدلة بسلسلة تجزئة، وتُفهرَس في OpenSearch. كل خدمة مستقلة وتتواصل مع البقية فقط عبر ناقل رسائل، لذا يمكن توسيع أي جزء أو استبداله دون إعادة كتابة الأجزاء الأخرى.
OLLAMA_URL؛ وإلا فبديل
حتمي مُصنَّف. لا تُمرَّر بيانات التنبيهات أبدًا عبر واجهة API لنموذج لغوي كبير (LLM) تابع لطرف ثالث،
وتذكر وحدة التحكم أي محرك شُغِّل فعليًا. جودة الأحكام ضعيفة في النموذجين المقيسين (qwen2.5:3b صحيح في 1 من 54 تنبيهًا مُصنَّفًا، وqwen2.5:7b صحيح في 7 من 54، معظمها إجابات suspicious)؛ راجع
eval/llm_triage/RESULTS.md.OpenSearch وليس Elastic: لا توجد علامة نجمة على ترخيص محرك التخزين (ADR 003). أمر يستحق المعرفة، لكنه ليس عامل تمييز مقابل Wazuh (فمُفهرسه هو أيضاً فرع من OpenSearch).
| الطريقة | المتطلبات | ما ستحصل عليه |
|---|---|---|
| صفحة المشروع | متصفح | وحدة التحكم الحقيقية على تسجيل لتشغيل مختبري، مع هجوم قابل لإعادة التشغيل، والبنية المعمارية، وجميع القواعد الـ 46، وأربعة شروحات مسجّلة. ثابتة؛ تبقى الكتابات في متصفحك (docs/console-demo.md يوضّح بالضبط ما هو حقيقي). |
make e2e | Python 3 | هجوم تخمين كلمات المرور عبر SSH يصل إلى تنبيه حقيقي، ونتيجة ثابتة عند إعادة التشغيل. بدون Docker أو Redis أو OpenSearch. |
make demo | Docker | الحزمة الحية الكاملة؛ يظهر تنبيه حقيقي لهجوم تخمين كلمات المرور في وحدة التحكم خلال دقيقة تقريباً. |
git clone https://github.com/supermhel/fengarde.git && cd fengarde
make preflight # doctor: checks vm.max_map_count, Docker RAM, free ports
make demo # docker compose up -- a real SSH brute-force alert appears
# in the dashboard within ~30-60s, no manual step
# open http://localhost:8080
لا يوجد Docker في متناول اليد؟ تعمل خط أنابيب الكشف بأكملها دون أي بنية تحتية:
make e2e # SSH brute-force -> real alert -> idempotent replay, no Docker/Redis/OpenSearch
bash tools/demo.sh # same test, narrated (Windows: powershell -File tools\demo.ps1)
ما تراه: 10 عمليات تسجيل دخول فاشلة من عنوان IP واحد خلال 60 ثانية (SSH
Failed password أو Windows EventID 4625 — كلاهما يُطبَّعان إلى حدث OCSF
Authentication نفسه) تُفعّل
common_bruteforce.yml
(threshold: 10، window_seconds: 60، مجمّعة حسب عنوان IP المصدر)، ويظهر التنبيه
في قائمة التنبيهات في لوحة المعلومات، بشكل متكرر النتيجة (idempotent) عند إعادة التسليم.
المتطلبات المسبقة: Docker Desktop أو Docker Engine + Compose v2، ذاكرة RAM
مخصّصة لـ Docker لا تقل عن 4 GB؛ Linux أو macOS أو Windows عبر WSL2 (حاويات
Linux، سكربتات sh من نوع POSIX). Python 3 فقط إذا كنت تساهم بمحلّل — لا حاجة
إلى Docker لذلك (انظر المساهمة).
vm.max_map_count أولاًsudo sysctl -w vm.max_map_count=262144
# persist across reboots:
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-fengarde.conf
بدون ذلك، يفشل OpenSearch بانهيار JVM، وليس بخطأ مفيد. غير مطلوب على macOS Docker Desktop (يُعالَج داخل الآلة الافتراضية الخاصة به). يتحقق make preflight من ذلك نيابةً عنك ويطبع الإصلاح الدقيق إذا كان هناك شيء مفقود.
أهداف أخرى:
make test # full zero-infra contract test suite, no Docker needed
make up # start the stack detached
make down # stop the stack, remove volumes
make ha-up # opt-in: Redis Sentinel + 3-node OpenSearch HA (needs REDIS_PASSWORD)
make ha-down # stop the HA profile, remove its volumes