Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gatekeeper — أول نظام حماية مفتوح المصدر من DDoS | Kitploit
أدوات/GitHubGitHub/altramayor/gatekeeper
أدوات دفاعيةماسحات الثغرات الأمنيةأمن الشبكاتكشف التسلل
GitHubaltramayor/gatekeeper

gatekeeper

أول نظام حماية مفتوح المصدر من DDoS

عرض المستودعالموقع الإلكتروني
1.6k25125منذ 7 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Gatekeeper

Gatekeeper compilation status

ما هو Gatekeeper؟

Gatekeeper هو أول نظام حماية مفتوح المصدر من هجمات حجب الخدمة الموزعة (DDoS). صُمم ليتوسع ليتناسب مع أي عرض نطاق ذروة، لذا يمكنه الصمود أمام هجمات DDoS الحالية والمستقبلية. بالرغم من البنية الموزعة جغرافياً لـ Gatekeeper، فإن سياسة الشبكة التي تصف جميع القرارات الواجب تطبيقها على حركة المرور الواردة هي مركزية. تتيح هذه السياسة المركزية لمشغلي الشبكات استغلال الخوارزميات الموزعة التي لن تكون قابلة للتطبيق تحت زمن وصول عالٍ جداً (مثل قواعد البيانات الموزعة) ومحاربة هجمات DDoS متعددة المتجهات في وقت واحد.

المستخدمون المستهدفون لـ Gatekeeper هم مشغلو الشبكات في المؤسسات، ومزودو الخدمات والمحتوى، وشبكات الشركات، إلخ. ليس المقصود استخدامه من قبل مستخدمي الإنترنت الأفراد.

لمزيد من المعلومات، راجع ويكي Gatekeeper.

كيفية الإعداد

تكوين الصفحات الضخمة (Hugepages)

تتطلب DPDK استخدام الصفحات الضخمة؛ تعليمات تركيب الصفحات الضخمة متاحة في توثيق المتطلبات. على العديد من الأنظمة، يكفي الإعداد التالي للصفحات الضخمة:

$ echo 256 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

تمكين وحدة النواة vfio-pci

وحدة نواة لينكس vfio-pci مطلوبة لربط بطاقات الشبكة مع DPDK/Gatekeeper. لكي تعمل vfio-pci، يجب أن يدعمها كل من BIOS والنواة. يجب أن يكون VT-d ممكّناً في BIOS. قد يُعرف VT-d في BIOS باسم "Intel (R) VT for Directed I/O" أو "Intel (R) VT-d Feature" أو "Intel VT-d" أو "VT-d" أو أشكال مشابهة؛ لمزيد من الأمثلة، ابحث عن "BIOS VT-d" على Google Images. قد تتطلب بعض أنظمة BIOS تمكين خيار يسمى "Intel (R) Virtualization Technology" (أو أشكال من هذه السلسلة) قبل تمكين VT-d.

للتحقق من تمكين VT-d في BIOS، قم بتشغيل الأمر التالي بعد إقلاع لينكس:

$ dmesg | grep -e DMAR

إذا أعاد الأمر أعلاه بعض الأسطر، فإن VT-d مفعل. بخلاف ذلك، يجب العودة إلى BIOS لتمكينه. مزيد من المعلومات حول كيفية التحقق من تمكين VT-d في BIOS متاحة على هذه الصفحة.

بمجرد تمكين VT-d في BIOS، يجب التأكد من أن النواة تدعم IOMMU. لاحظ أنك تحتاج إلى إصدار نواة أكبر من 3.6 لدعم IOMMU. يمكن التحقق مما إذا كانت النواة قيد التشغيل تحتوي على IOMMU مفعلاً افتراضياً باستخدام الأمر التالي:

$ grep CONFIG_INTEL_IOMMU_DEFAULT_ON /boot/config-`uname -r`

على الأرجح، سيعيد الأمر أعلاه # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set، أي أن النواة قيد التشغيل لا تحتوي على IOMMU مفعلاً افتراضياً. طرق بديلة للتحقق من خيارات بناء النواة (أي CONFIG_INTEL_IOMMU_DEFAULT_ON) متاحة على هذه الصفحة.

إذا كانت النواة لا تحتوي على IOMMU مفعلاً افتراضياً، يجب تمرير معامل إقلاع النواة intel_iommu=on عبر GRUB. للحصول على معلومات حول سبب الحاجة إلى معامل الإقلاع intel_iommu=on، راجع هذه الصفحة. يمكن التحقق مما إذا كانت النواة قيد التشغيل قد تلقت هذا المعامل باستخدام الأمر التالي:

$ cat /proc/cmdline | grep intel_iommu=on

إذا لم تتلق النواة قيد التشغيل المعامل intel_iommu=on، أضفه إلى GRUB، وأعد تشغيل الجهاز. معلومات حول كيفية إضافة معامل إقلاع إلى GRUB موجودة هنا.

بمجرد تمكين VT-d في BIOS ودعم النواة لـ IOMMU، يمكن التحقق من أن كل شيء جاهز باستخدام أحد الأوامر التالية:

$ ls /sys/kernel/iommu_groups

أو

$ dmesg | grep -ie 'IOMMU\s\+enabled'

كل شيء جاهز إذا كانت مخرجات الأوامر أعلاه غير فارغة.

الخيار 1: الحصول على الحزم

حزم Gatekeeper لنظام دبيان متاحة لنظام Ubuntu 24.04 LTS في صفحة الإصدارات للمشروع.

التثبيت

بمجرد تنزيل الحزم، يمكن تثبيتها باستخدام الأوامر التالية:

$ tar -zxvf gatekeeper-ubuntu-24.04-packages.tar.gz
$ cd gatekeeper-ubuntu-24.04-packages
$ sudo dpkg -i gatekeeper-bird_*_amd64.deb gatekeeper_*_amd64.deb

تكوين Gatekeeper

عند التثبيت عبر حزم دبيان، توجد ملفات تكوين Gatekeeper في /etc/gatekeeper. يجب تعديل ملف net.lua على الأقل، وتعيين المتغيرات front_ports و front_ips و back_ports و back_ips وفقاً لبيئتك.

تقوم ملفات Lua الأخرى بتكوين كتل وظيفية مختلفة لـ Gatekeeper. يُرجى الرجوع إلى ويكي المشروع لمزيد من المعلومات حول ما إذا كانت هذه الملفات بحاجة إلى التغيير في إعدادك.

تحتاج أيضاً إلى تعديل ملف /etc/gatekeeper/envvars وتعيين المتغير GATEKEEPER_INTERFACES إلى عناوين PCI لمحولات الشبكة التي سيتم ربطها بـ DPDK. يمكن العثور عليها باستخدام الأمر lshw. على سبيل المثال:

# lshw -c network -businfo
Bus info          Device     Class          Description
=======================================================
pci@0000:08:00.0  eth0       network        I350 Gigabit Network Connection
pci@0000:08:00.1  eth1       network        I350 Gigabit Network Connection
...

بناءً على هذا الإخراج، قم بتعيين GATEKEEPER_INTERFACES كما يلي:

GATEKEEPER_INTERFACES="08:00.0 08:00.1"

في نفس الملف، يمكنك اختيارياً تحديد خيارات طبقة التجريد البيئي في المتغير DPDK_ARGS و خيارات خاصة بـ Gatekeeper في GATEKEEPER_ARGS.

كيفية التشغيل

قم بتشغيل الأوامر أدناه لبدء Gatekeeper ولضمان تشغيله تلقائياً عند إعادة التشغيل.

$ sudo systemctl start gatekeeper
$ sudo systemctl enable gatekeeper

الخيار 2: البناء من المصدر

تثبيت التبعيات

قم بتثبيت التبعيات البرمجية التالية:

$ sudo apt-get update
$ sudo apt-get -y -q install git clang devscripts doxygen libhugetlbfs-bin \
    build-essential gcc-multilib linux-headers-`uname -r` libmnl0 libmnl-dev \
    libkmod2 libkmod-dev libnuma-dev libelf1 libelf-dev libc6-dev-i386 \
    autoconf flex bison libncurses5-dev libreadline-dev python3 \
    python3-pyelftools libcap-dev libcap2 meson ninja-build pkg-config

ملاحظة: كل من libmnl0 و libmnl-dev مطلوبان لتجميع وتشغيل gatekeeper، ولكن libmnl0 فقط مطلوب لتشغيل gatekeeper فقط. كل من libkmod2 و libkmod-dev مطلوبان لتجميع وتشغيل gatekeeper، ولكن libkmod2 فقط مطلوب لتشغيل gatekeeper فقط. libnuma-dev مطلوب لتجميع أحدث إصدار من DPDK ودعم أنظمة NUMA. الحزمة libelf-dev مطلوبة لتجميع DPDK مع دعم قراءة برامج BPF من ملفات ELF، ولكن libelf1 فقط مطلوب لتشغيله. الحزمة libc6-dev-i386 مطلوبة لتجميع برامج BPF في المجلد bpf/. حزم autoconf و flex و bison و libncurses5-dev و libreadline-dev مخصصة لـ BIRD. الحزمة devscripts تُستخدم لبناء حزم Gatekeeper لدبيان. الحزم python3 و python3-pyelftools مطلوبة لبناء DPDK وتشغيل نصوص Python مثل dpdk-devbind.py. libcap-dev مطلوب لتجميع Gatekeeper، ولكن libcap2 فقط مطلوب لتشغيل Gatekeeper. meson و ninja-build مطلوبان لبناء DPDK. pkg-config مطلوب لتجميع Gatekeeper.

لاستخدام DPDK، تأكد من توفر جميع المتطلبات البيئية.

استنساخ المستودع

قم باستنساخ مستودع Gatekeeper، بما في ذلك الوحدات الفرعية التي تحتوي على تبعيات Gatekeeper:

$ git clone --recursive http://github.com/AltraMayor/gatekeeper.git

إذا لم تستخدم خيار --recursive عند الاستنساخ، فستحتاج إلى الحصول على الوحدات الفرعية التي تحتوي على التبعيات من داخل دليل gatekeeper:

$ git submodule init
$ git submodule update

التجميع

يشرح هذا القسم كيفية بناء Gatekeeper يدوياً. إذا كنت ترغب في بناء حزم دبيان، راجع القسم كيفية بناء الحزم.

أثناء وجودك في دليل gatekeeper، قم بتشغيل script الإعداد:

تنزيل الأداة