عن المشروع
TurkeyBite هو خط تحليل مفتوح المصدر لسياق النطاقات والمضيفين، مصمم لتحليل حركة شبكة العملاء وتصنيف النطاقات التي يطلبها العملاء، ويغطي فئات مثل المحتوى للبالغين والمقامرة والتسوق والمزيد. وقد بُني صراحةً كأداة تحليل غير تدخلية لا تحجب طلبات العملاء، لذا يمكن تشغيله إلى جانب أدوات الحجب مثل Pi-hole عند الحاجة، من دون أي تأثير على تجربة شبكة المستخدم النهائي.
يعتمد الخط على حزمة تقنيات قائمة على Docker تشمل Python 3 وValkey (مخزن بيانات في الذاكرة متوافق مع Redis) وخادم Bind9 DNS وPacketbeat و/أو Browserbeat لجمع الحركة، وOpenSearch لفهرسة البيانات وتخزينها، وOpenSearch Dashboards للتصور. ويجمع قوائم تصنيف النطاقات والمضيفين من مصادر عامة متعددة لإثراء نتائج التحليل.
أثناء التشغيل، يلتقط Packetbeat حركة DNS من خوادم DNS المدعومة (اختُبر في الإنتاج مع خوادم Bind9 وMicrosoft DNS، ومتوافق مع أي خادم DNS يمكنه تشغيل Packetbeat) ويرسل البيانات إلى Valkey. ويمكن استخدام Browserbeat لجمع بيانات سجل المتصفح من المتصفحات المدعومة. وتعالج عمليات TurkeyBite الأساسية والعاملة البيانات المُدخلة، وتثريها بسياق فئة النطاق، وتفهرس النتائج في OpenSearch للاستعلام والتصور عبر OpenSearch Dashboards.
تُدار عملية النشر عبر Docker Compose، مع سكربت إعداد يوجه المستخدمين خلال التكوين لمقاييس نشر مختلفة (تطوير، نطاق صغير، نطاق كامل)، بما في ذلك إعدادات بحث DNS لعناوين IP الخاصة بالعملاء، وخيارات الإخراج (OpenSearch و/أو Syslog)، وبيانات اعتماد الخدمات. ويُنشئ سكربت الإعداد تلقائياً ملفات التكوين المطلوبة (.env، config.yaml، docker-compose.yml) وملفات الأسرار لمصادقة الخدمات. بالنسبة للنشر الموزع عبر عقد متعددة، يمكن تشغيل سكربت الإعداد على كل عقدة بالتكوين المناسب، ويلزم نسخ أسرار مصادقة Valkey إلى العقد الأساسية والعاملة إذا كان Valkey يعمل على خادم مخصص منفصل.
لتكوين جمع البيانات، يجب ضبط Packetbeat لالتقاط حركة DNS على المنفذ 53 والإخراج إلى Valkey، مع مطابقة دقيقة لإعدادات نوع البيانات والمفتاح مع وضع خط TurkeyBite المختار: يستخدم وضع consume قوائم Valkey للتسليم مرة واحدة على الأقل مع تتبع تراكمي دائم، بينما يستخدم وضع rq نظام نشر/اشتراك Valkey وهو فاقد بطبيعته. ويُكوَّن Browserbeat بشكل منفصل وفق تعليمات التثبيت الخاصة به لجمع بيانات سجل المتصفح.
تشمل الصيانة الروتينية فحص السجلات المخزنة في دليل vols/logs، ويتم تحديث قوائم النطاقات المخزنة في vols/lists تلقائياً وفق فترات التحديث التي يضبطها المستخدم. وتشمل خطوات استكشاف الأخطاء الشائعة فحص سجلات الحاويات عبر docker compose logs، وإعادة تشغيل الخدمات الفردية، والتحقق من الاتصال بين الحاويات في شبكة Docker.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.