
خريطة هجمات الأمن السيبراني geoip التي تتبع syslog وتحلل عناوين IP وأرقام المنافذ لتصور المهاجمين في الوقت الحقيقي.
ليس لدي الكثير من الوقت في حياتي الآن لصيانة هذا المشروع. لقد خضت هذا التحدي كوسيلة لتعلم JavaScript وتحسين لغة Python التي كنت أعرفها بالفعل. أنا متأكد من وجود عدة أشياء كان بإمكاني فعلها بشكل مختلف في تنفيذي، ولن أتضايق إذا تلقيت نقدًا بناءً من شخص يقوم بتنزيل ومراجعة كودي. أعلم أنني تعلمت الكثير أثناء العمل على هذا، وآمل أن يستمر مجتمع المصادر المفتوحة في تعليمي أشياء جديدة :)
ملاحظة: نظرًا لأنني لا أصون هذا المشروع، فهناك بعض الميزات التي ربما لا تعمل مباشرة، على سبيل المثال، الخريطة ربما لن تظهر لأنني لا أدفع مقابل مفتاح API صالح لـ MapBox. لإصلاح هذا، ستحتاج على الأرجح إلى إنشاء حساب MapBox خاص بك واستخدام مفتاحك الخاص.
تم تطوير هذا المُصور لخريطة هجوم Geoip لعرض هجمات الشبكة على مؤسستك في الوقت الفعلي. يقوم خادم البيانات بمراقبة ملف syslog واستخراج عنوان IP المصدر وعنوان IP الوجهة ومنفذ المصدر ومنفذ الوجهة. يتم تحديد البروتوكولات عبر المنافذ الشائعة، وتختلف التصورات في اللون بناءً على نوع البروتوكول. انقر هنا للحصول على فيديو تجريبي. لم يكن هذا المشروع ممكنًا لولا Sam Cappella، الذي أنشأ مصور حركة مرور الشبكة لمسابقة الدفاع الرقمي لمسابقة Palmetto Cyber Defense Competition لعام 2015. لقد استخدمت بشكل أساسي كوده كمرجع، لكنني اقتبست بعض الوظائف أثناء إنشاء خادم العرض والجوانب المرئية لتطبيق الويب. أود أيضًا أن أقدم شكرًا خاصًا لـ Dylan Madisetti أيضًا على إعطائي نصائح حول جوانب معينة من تنفيذي.
يعتمد هذا البرنامج بالكامل على syslog، ولأن جميع الأجهزة تقوم بتنسيق السجلات بشكل مختلف، ستحتاج إلى تخصيص وظيفة (وظائف) تحليل السجلات. إذا كانت مؤسستك تستخدم نظام إدارة المعلومات والأحداث الأمنية (SIEM)، فمن المحتمل أن يكون قادرًا على تطبيع السجلات لتوفير الكثير من الوقت في كتابة التعبيرات المنتظمة.
إذا وجدت أي أخطاء، فيرجى إبلاغي بذلك. كما يمكنك إرسال استفساراتك وملاحظاتك إلى [email protected]، أو فتح مشكلة (issue) في هذا المستودع.
تم الاختبار على Ubuntu 16.04 LTS.
استنساخ التطبيق:
git clone https://github.com/matthewclarkmay/geoip-attack-map.git
تثبيت تبعيات النظام:
sudo apt install python3-pip redis-server
تثبيت متطلبات Python:
cd geoip-attack-map
sudo pip3 install -U -r requirements.txt
بدء خادم Redis:
redis-server
إعداد قاعدة بيانات خادم البيانات:
cd DataServerDB
./db-dl.sh
cd ..
بدء خادم البيانات:
cd DataServer
sudo python3 DataServer.py
بدء برنامج إنشاء سجلات syslog، داخل مجلد DataServer:
افتح علامة تبويب طرفية جديدة (Ctrl+Shift+T، على Ubuntu).
./syslog-gen.py
./syslog-gen.sh
إعداد خادم خريطة الهجوم، استخرج الأعلام (flags) إلى المكان الصحيح:
افتح علامة تبويب طرفية جديدة (Ctrl+Shift+T، على Ubuntu).
cd AttackMapServer/
unzip static/flags.zip
بدء خادم خريطة الهجوم:
sudo python3 AttackMapServer.py
الوصول إلى خادم خريطة الهجوم من المتصفح:
للوصول عبر متصفح على كمبيوتر آخر، استخدم IP الخارجي للجهاز الذي يعمل عليه AttackMapServer.
قم بتحرير عنوان IP في ملف "/static/map.js" في مجلد "AttackMapServer". من:
var webSock = new WebSocket("ws:/127.0.0.1:8888/websocket");
إلى، على سبيل المثال:
var webSock = new WebSocket("ws:/192.168.1.100:8888/websocket");
أعد تشغيل خادم خريطة الهجوم:
sudo python3 AttackMapServer.py
على الكمبيوتر الآخر، وجه المتصفح إلى:
http://192.168.1.100:8888/