قم بحماية شبكتك من المتسللين والهجمات غير المرغوب فيها عن طريق تثبيت وإعداد Snort IDS.

إذا كنت جادًا بشأن أمان الشبكة ، فإن تثبيت حل IPS أو IDS أمر لا بد منه لتحصين محيط الشبكة وتشتيت حركة مرور الشبكة غير المرغوب فيها.

Snort هو أحد حلول IPS / IDS الشهيرة المجانية للاستخدام الشخصي والمفتوحة المصدر. دعنا نتعلم كيف يمكنك تثبيت Snort وإعداده على Linux للدفاع عن شبكتك من الهجمات الإلكترونية.

ما هو Snort؟

Snort هو مصدر مفتوح نظام كشف ومنع التسلل إلى الشبكة برنامج (NIDS / IPS) الذي يساعد ، كما يلمح الاسم ، في تأمين محيط الشبكة الخاص بك عن طريق فرض القواعد والمرشحات التي تكتشف الحزم الخبيثة التي تم حقنها في شبكتك وإسقاطها.

باستخدام Snort ، ستتمكن من إجراء تسجيل متقدم لحركة مرور الشبكة واستنشاق الحزمة وتحليلها وتعيينها إنشاء نظام قوي لمنع التطفل يحمي شبكتك من العناصر غير المرغوب فيها والتي من المحتمل أن تكون ضارة مرور.

المتطلبات الأساسية لتثبيت Snort

قبل تثبيت Snort ، هناك بعض الإعداد الأولي الذي يجب القيام به. يتضمن هذا في الغالب تحديث نظامك وترقيته وتثبيت التبعيات التي يتطلبها Snort ليعمل بشكل صحيح.

instagram viewer

ابدأ بتحديث نظامك وترقيته.

على Ubuntu- و توزيعات Linux المستندة إلى Debian:

تحديث sudo apt && apt Upgrade -y

على Arch Linux ومشتقاته:

sudo pacman -Syu

على RHEL و Fedora:

ترقية sudo dnf

مع ترقية نظامك ، استمر في تثبيت التبعيات التي يتطلبها Snort. فيما يلي الأوامر التي تحتاج إلى تشغيلها:

على Ubuntu و Debian ، قم بتشغيل:

sudo apt install -y build-basic autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre ++ - ديف

على Arch Linux ، قم بتشغيل:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf

بالنسبة لـ RHEL و Fedora ، قم بإصدار الأمر التالي:

sudo dnf install gcc gcc-c ++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

بالإضافة إلى ذلك ، تحتاج أيضًا إلى تثبيت مكتبة اكتساب البيانات يدويًا ، LibDAQ لـ Snort لتعمل بشكل صحيح وأيضًا أدوات gperftools لإنشاء ملفات الإنشاء.

أولاً ، قم بتنزيل ملفات مصدر LibDAQ من الموقع الرسمي باستخدام الأمر wget. بعد ذلك ، استخرج الأرشيف وانتقل إلى الدليل باستخدام cd. داخل الدليل ، قم بتشغيل ملف التمهيد و تهيئة ثم تشرع البرامج النصية في تحضير الملفات باستخدام make وتثبيتها بامتداد قم بالتثبيت يأمر.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
القطران -xzvf ليب *
قرص مضغوط ليب *
./bootstrap
./تهيئة
يصنع
sudo جعل التثبيت

مع تثبيت LibDAQ ، تحتاج إلى تثبيت تبعية أخيرة: gperftools. ابدأ بجلب الملفات المصدر من GitHub repo. قم باستخراج الملفات ، وانتقل إلى الدليل ، وقم بتشغيل برنامج التكوين النصي. أخيرًا ، قم بتثبيت الحزمة باستخدام أوامر make and install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper * && cd gper
./تهيئة
يصنع
sudo جعل التثبيت

بمجرد تثبيت هذه التبعيات ، يمكنك الانتقال إلى الخطوات التالية لتثبيت Snort.

قم بتثبيت Snort From Source على Linux

بعد انتهاء الإعداد الأولي ، يمكنك الآن التركيز على تثبيت البرنامج الفعلي. ستقوم ببنائه من المصدر ، لذا احصل على ملفات البناء المطلوبة أولاً.

استخدم الأمر wget أو قم بتنزيل الملفات يدويًا من صفحة التنزيل الرسمية:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

تحميل:شخير

بمجرد انتهاء تنزيل الأرشيف الذي يحتوي على ملفات البناء ، استخرجه باستخدام الأمر tar:

القطران -xzvf snort *

انتقل إلى المجلد المستخرج ، وقم بتشغيل البرنامج النصي للتكوين ، واستخدم الأمر make لتحضير الملفات ، ثم قم بتثبيتها في النهاية قم بالتثبيت:

قرص مضغوط *
./configure_cmake.sh --refix = / usr / local --enable-tcmalloc
بناء القرص المضغوط
يصنع
sudo جعل التثبيت

سيتم الآن تثبيت Snort بنجاح في نظامك. ومع ذلك ، هناك خطوة واحدة أخرى تحتاج إلى إكمالها. عند تثبيت برنامج جديد يدويًا ، قد لا يتم تضمين دليل التثبيت والمكتبات المطلوبة تلقائيًا في المسار الافتراضي للنظام. لذلك قد تواجه أخطاء عند بدء تشغيل التطبيق.

لتجنب هذه المشكلة ، تحتاج إلى تشغيل الأمر ldconfig. سيقوم بمزامنة ذاكرة التخزين المؤقت للمكتبة المشتركة للنظام مع المكتبات والثنائيات المثبتة حديثًا. قم بتشغيل الأمر ldconfig من قذيفة جذر أو استخدام بادئة sudo:

سودو لدكونفيغ

لقد قمت الآن بتغطية جميع الخطوات المهمة المطلوبة لتثبيت Snort. للتحقق من التثبيت ، قم بتشغيل الأمر Snort باستخدام ملف -الخامس علامة ، وسترى إخراجًا يعرض اسم الإصدار والبيانات الأخرى.

snort -V

بمجرد التحقق من تثبيت Snort ، انتقل إلى الخطوات التالية لإعداده باعتباره IDS / IPS كامل النضج.

التكوين الأولي لـ Snort على Linux

تعتمد كفاءة Snort بالكامل تقريبًا على جودة مجموعات القواعد التي يتم تزويدها بها.

ومع ذلك ، قبل أن تبدأ في إعداد القواعد ، تحتاج إلى تكوين بطاقات الشبكة للعمل مع Snort وتحتاج أيضًا إلى اختبار كيفية معالجة التهيئة الافتراضية بواسطة Snort. ابدأ بتكوين بطاقات الشبكة.

اضبط واجهة الشبكة على الوضع المختلط:

تعيين رابط sudo ip على dev interface_name promisc

باستخدام ethtool ، قم بتعطيل إلغاء تحميل الاستلام العام (GRO) وإلغاء تحميل الاستلام الكبير (LRO) لمنع قطع حزم الشبكة الأكبر حجمًا:

sudo ethtool -K interface_name gro off lro off

اختبر كيفية أداء Snort مع التكوين الافتراضي:

snort -c /usr/local/etc/snort/snort.lua

يجب أن يعيد هذا إشارة خرج ناجحة بأنك قمت بتثبيت وإعداد Snort بشكل صحيح في نظامك. يمكنك الآن العبث بميزاته وتجربة تكوينات مختلفة للعثور على أفضل مجموعة من القواعد لتأمين شبكتك.

قم بإعداد القواعد وفرضها باستخدام Snort

مع وجود الإعدادات الأساسية في مكانها ، أصبح Snort جاهزًا الآن للدفاع عن محيطك. كما تعلم ، يحتاج Snort إلى مجموعات قواعد لتحديد صلاحية حركة المرور ، فلنقم بإعداد عدد قليل من مجموعات القواعد المجانية من صنع المجتمع لـ Snort.

يقرأ Snort مجموعات القواعد والتكوينات من أدلة معينة. لذلك أولاً ، باستخدام أوامر mkdir و touch ، قم بإنشاء بعض الأدلة المهمة لتخزين القواعد والبيانات الأخرى ذات الصلة لـ Snort:

sudo mkdir -p / usr / local / etc / {list، so_rules، rules} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

من خلال إنشاء هذه الأدلة ، يمكنك تنزيل مجموعة قواعد المجتمع من الموقع الرسمي باستخدام الأمر wget:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

بمجرد انتهاء تنزيل مجموعة القواعد ، استخرجها وانسخها إلى ملف /usr/local/etc/rules/ الدليل.

tar -xvzf snort3-com *
القرص المضغوط snort3-com *
cp * / usr / local / etc / rules /

لتشغيل Snort مع مجموعة القواعد ، نفّذ هذا الأمر:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k لا شيء

انهيار الأمر:

  • يحدد المسار إلى ملف التكوين الافتراضي
  • يحدد المسار إلى القاعدة التي يتم فرضها
  • -أنا يحدد الواجهة
  • يتجاهل حد snaplen
  • يتجاهل الاختباري

يجب أن يتحقق هذا من صحة التكوين ويفرض جميع مجموعات القواعد على Snort. بمجرد أن يلتقط أي اضطراب في الشبكة ، سوف ينبهك برسالة وحدة التحكم.

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

إعداد التسجيل باستخدام Snort

بشكل افتراضي ، لا يُخرج Snort أي سجلات. تحتاج إلى تحديد مع علامة لبدء Snort في وضع التسجيل ، وتحديد نوع ملف السجل ، و إشارة لتعيين دليل التسجيل لـ Snort لتفريغ السجلات.

إليك الأمر لبدء Snort مع تمكين التسجيل:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L file_type -l / var / log / شخير

انهيار الأمر:

  • يحدد المسار إلى ملف التكوين الافتراضي
  • يحدد المسار إلى القاعدة التي يتم فرضها
  • -أنا يحدد الواجهة
  • يتجاهل حد snaplen
  • يتجاهل الاختباري
  • يتيح وضع التسجيل ويحدد نوع ملف السجل
  • يحدد مسار تخزين السجلات

لاحظ أنه في مثال الأمر ، تم تعيين دليل التسجيل على /var/log/snort. على الرغم من أن هذه ممارسة موصى بها ، فأنت حر في تخزين سجلاتك في مكان آخر.

يمكنك قراءة ملفات السجل من Snort من الدليل الذي حددته أو تمريرها إلى برنامج SIEM مثل Splunk لمزيد من التحليل.

أضف Snort كبرنامج خفي لبدء تشغيل النظام

على الرغم من أنك قمت بتثبيت Snort وإعداده ، إلا أنك تحتاج إلى التأكد من أنه يبدأ في التنفيذ عند بدء التشغيل وتشغيله كخادم خلفية. ستضمن إضافته كخدمة نظام بدء تلقائي أن Snort يعمل ويدافع عن نظامك في جميع الأوقات التي يكون فيها متصلاً بالإنترنت.

فيما يلي كيفية إضافة البرنامج الخفي لبدء التشغيل Snort على نظام Linux:

  1. ابدأ بإنشاء ملف خدمة systemd جديد:
    المس /lib/systemd/system/snort.service
  2. افتح الملف في محرر نصوص من اختيارك وقم بتعبئته بالبيانات التالية. يمكنك تعديل الأعلام لتناسب احتياجاتك:
    [وحدة]
    الوصف = Snort Daemon
    بعد = syslog.target network.target
    [خدمة]
    اكتب = بسيط
    ExecStart = / usr / local / bin / snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l / var / سجل / snort -D -L pcap -i ens33
    [ثَبَّتَ]
    WantedBy = multi-user.target
  3. حفظ وإنهاء الملف. ثم ، باستخدام الخدمة و أوامر systemctl، قم بتمكين وابدأ النص البرمجي:
    sudo systemctl تمكين snort.service
    بدء sudo snort

يجب أن يكون البرنامج الخفي لخلفية Snort قيد التشغيل الآن. يمكنك التحقق من حالة البرنامج النصي باستخدام ملف systemctl حالة snort يأمر. يجب أن يعيد ناتج إيجابي.

أنت الآن تعرف كيفية حماية شبكتك باستخدام Snort IDS

بينما يعد تطبيق IDS ممارسة جيدة ، إلا أنه إجراء سلبي أكثر من كونه إجراءً نشطًا. أفضل طريقة لتحسين وضمان أمان شبكتك هي الاختبار المستمر لها والبحث عن العيوب التي يجب إصلاحها.

يعد اختبار الاختراق طريقة رائعة للعثور على نقاط الضعف القابلة للاستغلال وتصحيحها.