Snort
كتب في 2020-03-26
مقدمة
اهلاً بكم، في هذا المقال سوف اقوم بالحديث عن برنامج Snort.
عناصر المقالة
مقدمة
مصطلحات مهمة
استخدامات Snort
اعداد Snort
طريقة كتابة القواعد Rule
خاتمة
مقدمة في Snort
snort يعد برنامج مجاني مفتوح المصدر، يُستخدم لعدة استخدامات مختلفة، اشهرها NIDS بإمكانك تحميله على مختلف الأنظمة Windows,Linux and Mac في هذا الشرح سوف استخدم نظام Linux, Ubuntu 19
مصطلحات مهمة
عند قراءتك لهذا المقال ستلاحظ وجود عدة مصطلحات من المهم جدًا فهمها جيداً لفهم المقالة بالشكل المطلوب.
Intrusion Detection System
الترجمة الحرفيه لها بالعربية كاشف التسلل، كلمة (تسلل لا تعبر عن المعنى الحقيقي )، المعنى لها هو اكتشاف الهجمات او البرمجيات الخبيثة على الشبكة؛ عن طريق تحليل الشبكة أو النظام، IDS من الممكن ان يكون عبارة عن جهاز (Hardware) او برنامج (Software).
يوجد نوعين من (IDS) وهما:
Network intrusion detection systems (NIDS)
هذا النوع من IDS يتم وضعه على كامل الشبكة بالتالي يقوم بتحليل الشبكة كاملةً وكل ما يخرج أو يدخل إليها.
Host intrusion detection systems (HIDS)
هذا النوع مختلف عن السابق فهو يهدف لتحليل جهاز واحد ويتم وضعه لكل جهاز على حده، يقوم بتحليل كل ما يدخل او يخرج من ذلك الجهاز.
الصورة توضح الفرق
Intrusion Prevention System
بالعربية تعني مانع التسلل وكما اسلفت كلمة تسلل قد لا تعبر عن المعنى المطلوب، ولكن معناها منع الهجمات او الحد من انتشار البرمجيات الخبيثة، مثل IDS قد يوجد على شكل جهاز (Hardware) او برنامج (Software). وله نوعين NIPS و HIPS وايضا الفرق بينهما كما الفرق بين HIDS و NIDS وأود ان اوضح هنا ان في IPS تتم الخطوة الأولى خطوة اكتشاف الهجمة او البرمجية الخبيثة بمثل آلية الكشف ب IDS ولا يوجد اي اختلاف بينهما. ب الذكر عن آليات الكشف سوف أقوم ب توضيحهما.
Signature-based
لكل هجمة او برمجية خبيثة يوجد لها اسلوب معين ما يسمى ب Pattern او، Signature، يتم قراءتها على شكل byte عند وجود او اكتشافها يتم التعرف عليها فوراً بالتالي يظهر التنبيه او الانذار، وهذا ما يسمى ب Signature-based
Anomaly-based
هذا النوع يهدف ل إكتشاف البرمجيات الخبيثة او الهجمات الجديدة التي لم يسبق التعرف عليها والتعرف على اسلوبها، وذلك ب استخدام تقنيات ذكية تهدف الى المقارنة والتحليل، في هذا النوع قد يكثر ما يسمى ب الإنذار الخاطئ (False Positives)
استخدامات Snort
تستطيع استخدام snort ب ثلاث استخدامات مختلفة:
Snort باستخدامة ك IDS يمكنك استخدام snort ك IDS ب استخدام الخيار التالي -A الخيار -c لتحديد ملف الإعداد (configuration file )
Snort باستخدامة ك sniffer
يمكنك استخدام snort لعرض ومعرفه ما يحدث ب الشبكة ب التفصيل ما يتم ارسالة من والى الشبكة معلومات المرسل والمستقبل البروتوكول المستخدم وتفاصيل اخرى.
يوجد هناك ثلاث خيارات لهذا الإستخدام
snort -v
هنا سيتم عرض عنوان IP و معلومات tcp/udp/icmp
snort -d
هنا يتم عرض معلومات الطبقة السابعة من طبقات tcp/ip وهي طبقة Application
snort -e
هنا يتم عرض معلومات الطبقة الثانية من طبقات tcp/ip وهي طبقة Data Link
Snort باستخدامة ك Packet Logger
يمكنك استخدام snort لتخزين هذه التفاصيل ب ملف على شكل log باستخدام الخيار التالي -l
لا يمكن قراءة شكل الملف بشكل مباشر سيظهر ب شكل غير مفهوم.
لذلك لقراءة وعرض هذه الملف استخدم الخيار -r
اعداد snort
في البداية بعد تحميل snort هناك عده خطوات يجب القيام بها، لتعديل ملف snort.conf الخطوات:
الدخول لملف snort.conf ب داخل المجلد الخاص ب snort.
تعديل قيمة $HOME_NET الي عنوان ال IP الخاص بك مثل 192.168.100.0/24.
تعديل قيمة ال $EXTERNAL_NET الى !$HOME_NET وذلك يعني اي عنوان اخر خارج نطاق العنوان الخاص بك يعد عنوان خارجي.
اضافة ملف rule الخاص بك بكتابة الأمر include $RULE_PATH/myrules.rules
هنا صورة لتوضيح:
طريقة كتابة القواعد Rule
برامج IDS,IPS او Firewalls تقوم باتابع مجموعه من القواعد؛ ل تمرير او رفض او التنبيه عند حدوث اتصال معين من داخل الشبكة لخارجها او العكس.
ل كتابه القواعد في snort هناك ترتيب واسلوب معين يجب اتباعه؛