
يثبّت ويُهيّئ مستشعر مصيدة DShield honeypot على Raspberry Pi أو Ubuntu، ويشغّل مصائد Cowrie لـ SSH وHTTP ويُمرّر سجلات جدار الحماية إلى بوابة DShield.
هذه مجموعة من السكربتات لإعداد مستشعر DShield.
أهداف التصميم الحالية والمتطلبات المسبقة لاستخدام إجراء التثبيت الآلي:
النسخة الحالية مُختبرة فقط على Raspberry Pi OS (64-bit) وUbuntu 24.04 LTS Server، وليس على توزيعات أخرى، عذرًا. إذا كانت هناك حاجة لتوزيعات أخرى، فعلى "شخص ما" التحقق من سكربت التثبيت وصيانته.
راجع الملفات التالية للحصول على تعليمات التثبيت الخاصة بنظام التشغيل: Raspberry Pi OS (موصى به)، Ubuntu، openSUSE و AWS
install.shسيقوم هذا السكربت بما يلي:
تُرسل السجلات مرتين في الساعة إلى بوابة dshield بواسطة مهمة cron الموجودة في /etc/cron.d/dshield، ويمكن التحقق من ذلك عبر 'My Account' -> 'My Reports'
ألقِ نظرة على المخرجات من سكربت الحالة: /srv/dshield/status.sh
إذا واجهت أخطاء غريبة متعلقة بـ Python أو pip أثناء التثبيت أو أثناء التحديثات، فجرّب الأوامر التالية بصلاحيات root:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
راجع دليل استكشاف الأخطاء وإصلاحها للحصول على مساعدة في تحديد المشكلات.
داخل دليل "dshield" الخاص بك (الدليل الذي تم إنشاؤه أعلاه عند تشغيل git clone)، شغّل
cd install/dshield
sudo git pull
sudo bin/install.sh --update
سيستخدم المعامل "--update" تلقائيًا التكوين الموجود ولن يطلب من المستخدم أي خيارات تكوين.
سيتم الاحتفاظ بمعاملات التكوين مثل مفتاح API الخاص بك. لتحرير التكوين، حرّر /etc/dshield.ini، ولتكوين جدار الحماية، حرّر /etc/network/iptables (ملاحظة: يُستخدم جدول nat أيضًا).
تم تقديم ميزة جديدة، خاصةً للتحديثات التلقائية. في نهاية التثبيت، سيبحث سكربت install.sh عن الملف /root/bin/postinstall.sh وينفّذ محتواه، إن وُجد. إذا كنت بحاجة إلى بعض التغييرات الإضافية في الملفات المثبّتة حديثًا، فهذا هو المكان المناسب لوضعها. يحتاج هذا الملف إلى صلاحيات التنفيذ.
يُرجى التأكد من إبقاء تكوين المنافذ والشبكات الخاص محدثًا (على سبيل المثال، تكوين منافذ telnet/web المضافة حديثًا يدويًا في تكوين جدار الحماية)، مثل تكوين no-log، وتكوين no-honey، ... لسوء الحظ، لا يمكن القيام بذلك تلقائيًا حتى الآن. إذا كنت غير متأكد، احذف الأسطر المعنية في /etc/dshield.ini وأعد تشغيل سكربت التثبيت.
هذا المستشعر ومصيدة DShield مخصصان فقط لتحليل حركة المرور المتعلقة بالإنترنت، أي حركة المرور الصادرة من عناوين IP العامة:
لذلك يجب عليك وضع جهاز Pi على شبكة يمكن تعريضها للإنترنت (ولن يتم الاتصال بها من الشبكات الداخلية، باستثناء المهام الإدارية). لتحقيق أقصى فائدة من المستشعر، من المرغوب فيه أن يكون جهاز Pi معرّضًا لكامل حركة المرور التي يوجّهها الإنترنت إلى عنوان IP عام (وليس فقط منافذ محددة).
بالنسبة لمستخدمي SoHo، توجد عادةً خيار في موجه DSL أو الكابل لتوجيه كامل حركة المرور من عنوان IP العام الذي يستخدمه الموجه (أي الذي خصصه مزود خدمة الإنترنت) إلى عنوان IP داخلي. يجب أن يكون هذا جهاز Pi. تُسمى هذه الميزة مثلًا "exposed host" أو "DMZ" (هنا قد تحتاج إلى تمكين تكوين إضافي لضمان توجيه كامل حركة المرور إلى عنوان IP الداخلي لجهاز Pi وليس فقط مثلًا المنفذ 80).
بالنسبة للمؤسسات، ستكون منطقة DMZ المحمية مكانًا مناسبًا (محمية: إذا تم اختراق المستشعر/المصيدة، يتم احتواء هذا الحادث ولا يؤثر على المضيفين الآخرين في DMZ). يُرجى الانتباه إلى أنه - عند استخدام عناوين IP ثابتة - فإنك تعرّض الهجمات/عمليات الفحص الموجهة إلى عنوان IP الخاص بك لمشروع DShield والمجتمع، والتي يمكن تتبعها عبر whois إلى شركتك.
لاختبار إعدادك، يمكنك استخدام ماسح منافذ عام وتوجيهه إلى عنوان IP العام للموجه (والذي يُعاد توجيهه داخليًا بعد ذلك إلى جهاز Pi). يجب أن يكون فحص المنافذ هذا مرئيًا مباشرةً في /var/log/dshield.log ولاحقًا في تقريرك عبر الإنترنت الذي يمكن الوصول إليه عبر حساب DShield الخاص بك. يُرجى استخدامه فقط لأغراض اختبار سريعة ومحدودة، حتى لا يتم تزييف بيانات DShield.
install.shstatus.sh) إلى بنية دليل /srvسيقوم sitecopy.py بنسخ أي موقع يقدّم الموقع باستخدام سكربت web.py، ما عليك سوى استخدام:
python sitecopy.py http://www.yoursite.com
web.py - لا حاجة لتشغيل sitecopy، لكنه سيقدّم صفحة أساسية جدًا يمكنها قبول المدخلات والملفات. مهام مطلوبة:
أي مساهمة موضع تقدير - يُرجى تقديم تقرير خطأ / issue عبر github - شكرًا!
رابط دعوة مجموعة Slack: https://www.dshield.org/slack/