
مصائد افتراضية
Honeyd هو برنامج خفي صغير (daemon) ينشئ مضيفات افتراضية على الشبكة. يمكن تكوين هذه المضيفات لتشغيل خدمات عشوائية، ويمكن تكييف شخصية TCP الخاصة بها بحيث تبدو وكأنها تشغّل إصدارات معينة من أنظمة التشغيل. يتيح Honeyd لمضيف واحد امتلاك عناوين متعددة - لقد اختبرت حتى 65536 - على شبكة LAN لمحاكاة الشبكة.
من الممكن عمل ping للآلات الافتراضية، أو عمل traceroute لها. يمكن محاكاة أي نوع من الخدمات على الآلة الافتراضية وفقاً لملف إعداد بسيط. بدلاً من محاكاة الخدمة، يمكن أيضاً تمريرها عبر بروكسي (proxy) إلى آلة أخرى.
يعتمد Honeyd على عدة مكتبات:
تأكد من تثبيتها لديك.
لتثبيت التبعيات في Ubuntu:
$ sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake
لتثبيت التبعيات في ArchLinux:
$ pacman -S libdnet libpcap libevent pcre libedit bison flex libtool automake
لكي يعمل إطار الاختبارات الانحدارية (regression framework)، تحتاج إلى تثبيت وحدة Python الخاصة بـ libdnet. قد تحتاج إلى Python 2.4 للحصول على أفضل النتائج.
لبناء honeyd، نفّذ الأوامر التالية:
$ ./autogen.sh $ ./configure $ make $ sudo make install
إذا توقفت عملية الترجمة بسبب أخطاء متعلقة بـ Python، يمكنك محاولة تشغيل configure بالشكل التالي:
$ ./configure --without-python
إذا حصلت على تحذيرات ترجمة على Linux فتذمر من المسؤولين عن غباء ملفات الرؤوس الشرطية.
يمكنك العثور على التوثيق كجزء من هذا الإصدار. يمكن الوصول إلى صفحة الدليل بالأوامر التالية:
$ man honeyd
أو في دليل المصدر
$ nroff -mdoc honeyd.8
يمكن العثور على مزيد من المعلومات على http://www.honeyd.org/ و https://github.com/DataSoft/Honeyd
يتطلب Honeyd صلاحيات الجذر (root) للتنفيذ. عادةً، تقوم بتشغيله بوسائط مشابهة للتالية:
$ sudo ./honeyd -d -f config.sample 10.0.0.0/8
يُنصح بشدة بتشغيل Honeyd في بيئة chroot ضمن صندوق حماية (sandbox) مثل systrace. إذا أمكن، يقوم Honeyd بإسقاط الصلاحيات بعد إنشاء مقابس raw الخاصة به. يعتمد هذا على ملف الإعداد الخاص بك. يمكنك فرض إسقاط الصلاحيات عن طريق تعيين uid و gid الخاصين بـ Honeyd عبر الخيارين -u و -g .
للتحقق تجريبياً من جودة نتائج فحص نظام التشغيل، تم تضمين سكربت bash باسم ostest. مع ذلك، هناك بعض "المزالق" في هذا الأمر. عادةً، يتجاهل honeyd الحزم القادمة من نفس الجهاز الذي يعمل عليه لتجنب حلقات التوجيه (routing loops). (أو هكذا يدّعي، على الأقل) لذا فإن فحص نفسك لا يعمل.
حيلة قبيحة لجعل هذا يعمل هي استخدام واجهة إيثرنت hardware منفصلة مثل محول usb-ethernet رخيص. سيكون لديك بعدها محولان eth، سمّهما eth0 و eth1. قم بإعداد مسار (route) بحيث يكون عنوان IP المعطى لـ ostest موجهاً إلى eth0. ثم تقوم بإعداد honeyd للاستماع على eth1.
سيرى Honeyd الحزم القادمة من eth0 ويفترض أنها من جهاز مختلف عن جهازنا، ولن يقوم بإسقاطها.
هذا البرنامج برنامج حر؛ يمكنك إعادة توزيعه و/أو تعديله وفقاً لشروط رخصة جنو العمومية العامة كما نشرتها مؤسسة البرمجيات الحرة؛ إما الإصدار 2 من الرخصة، أو (حسب اختيارك) أي إصدار لاحق.
يُوزَّع هذا البرنامج على أمل أن يكون مفيداً، ولكن دون أي ضمان؛ حتى دون الضمان الضمني لـ القابلية للتسويق أو الملاءمة لغرض معين. راجع رخصة جنو العمومية العامة لمزيد من التفاصيل.
يجب أن تكون قد استلمت نسخة من رخصة جنو العمومية العامة مع هذا البرنامج؛ إذا لم يكن الأمر كذلك، اكتب إلى مؤسسة البرمجيات الحرة، 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA هذا البرنامج برنامج حر؛ يمكنك إعادة توزيعه و/أو تعديله وفقاً لشروط رخصة جنو العمومية العامة كما نشرتها مؤسسة البرمجيات الحرة؛ إما الإصدار 2 من الرخصة، أو (حسب اختيارك) أي إصدار لاحق.
يُوزَّع هذا البرنامج على أمل أن يكون مفيداً، ولكن دون أي ضمان؛ حتى دون الضمان الضمني لـ القابلية للتسويق أو الملاءمة لغرض معين. راجع رخصة جنو العمومية العامة لمزيد من التفاصيل.
يجب أن تكون قد استلمت نسخة من رخصة جنو العمومية العامة مع هذا البرنامج؛ إذا لم يكن الأمر كذلك، اكتب إلى مؤسسة البرمجيات الحرة، 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
ساعد الأشخاص التاليون باقتراحات أو أفكار أو كود:
Dug Song [email protected] Jamie Van Randwyk [email protected] Eric Thomas [email protected] Christopher Kolina Derek Cotton Yuqing Mai Lance Spitzner [email protected] Christian Kreibich [email protected] Bill Cheswick [email protected] Lauren Oudot [email protected] Jon Oberheide [email protected] David Clark [email protected] Dan Petro [email protected] David Scott [email protected] Addison Waldow [email protected] Rami Rashid [email protected]