اذهب إلى المحتوى

تحليل الشبكات: كيفية تثبيت إطار المراقبة الشبكية Bro على خادم أوبنتو 16.04


أسامة دمراني

مقدمة: إطار التحليل الشبكي Bro

هو إطار عمل مفتوح المصدر لتحليل الشبكات يركز على مراقبة أمانها، وهو نتاج خمس عشرة سنة من البحث واستخدمته جامعات كثيرة ومعامل بحثية ومراكز حواسيب خارقة وعدد من مجتمعات العلوم المفتوحة-Open Science. وقد بدأ تطويره بشكل أساسي في المعهد الدولي لعلوم الحاسوب في بيركلي والمركز الوطني لتطبيقات الحواسيب الخارقة في أوربانا-شامبين في إيلينوي.
وتتلخص مزايا Bro فيما يلي:

  • سياسات مراقبة خاصة بكل موقع، إذ تسمح لغة Bro النصية-scripting language بذلك
  • استهداف الشبكات عالية الأداء.
  • محللات للعديد من البروتوكولات، مما يسمح بالتحليل الدلالي عالي المستوى-High Level Semantic Analysis حتى على مستوى التطبيق.
  • جمع إحصائيات شاملة على مستوى التطبيق للشبكة التي يراقبها.
  • تسجّيل كل شيء يراقبه، ويوفّر أرشيفًا عالي المستوى لنشاط الشبكة.

متطلبات Bro للعمل على الخادم

يحتاج Bro إلى الاعتماديات-Dependencies التالية:

  • Libpcap
  • مكتبات Open SSL
  • مكتبة BIND8
  • Libz
  • Bash (نحتاجها من أجل BroControl)
  • Python إصدار 2.6 أو أحدث (من أجل BroControl)

كما يتطلب بناؤه من المصدر ما يلي:

  • CMake 2.8 أو أحدث
  • Make
  • GCC 4.8 فأحدث، أو Clang 3.3 فأحدث
  • SWIG
  • GNU Bison
  • Flex
  • Libpcap headers
  • OpenSSL headers
  • zlib headers

بدء العمل

ثبّت الاعتماديات المطلوبة بتنفيذ الأمر التالي:

# apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev

تثبيت قاعدة بيانات GeoIP من أجل موقع IP الجغرافي

يعتمد Bro على GeoIP لتحديد الموقع الجغرافي للعنوان، فثبّت إصدارات IPv4، وIPv6 عبر هذه الأوامر:

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz

فُكّ ضغط تلك الأرشيفات التي حملناها:

$ gzip -d GeoLiteCity.dat.gz
$ gzip -d GeoLiteCityv6.dat.gz

انقل الملفات التي فككناها إلى مجلد GeoIP:

# mvGeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat
# mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat

بناء Bro من المصدر

سنحصل على احدث إصدار من مستودعات git (اقرأ هذا المقال لتثبيتgit وإعداده إن لم يكن مثبتًا لديك)، عبر الأمر التالي:

$ git clone --recursive git://git.bro.org/bro

نذهب إلى هذا المجلد المنسوخ-cloned directory، ونبني bro بهذه الأوامر:

$ cd bro
$ ./configure
$ make

سيستغرق أمر make بعض الوقت للبناء، ويتوقف هذا الوقت على قوة الخادم نفسه. ويمكن تنفيذ شفرة configure النصية مع بعض المعاملات-arguments لتحديد أي الاعتماديات تريد بناءها، خاصة خيارات (–with-*)

تثبيت Bro

داخل مجلد bro سابق الذكر، نفذ الأمر التالي، حيث سيكون مجلد التثبيت هو usr/local/bro/

# make install

تهيئة وإعداد Bro

تقع ملفات تهيئة Bro وضبطه في مجلد etc، في مسار usr/local/bro/etc/، وستجد ثلاثة ملفات:

  • node.cfg، يستخدم لتحديد أي عقدة-node أو مجموعة عُقّد سيراقبها (العقدة في الشبكات هي جهاز يتلقى/يشكّل/يحوّل المعلومات الواردة عبره).
  • broctl.cfg، ملف تهيئة BroControl.
  • networks.cgf، يحتوي قائمة بالشبكات في ترميز التوجيه غير الفئوي-CIDR Notation.

ضبط إعدادات البريد

افتح ملف broctl.cfg، حيث تستبدل $EDITOR في الأمر التالي بالمحرر النصي الذي تفضله:

# $EDITOR /usr/local/bro/etc/broctl.cfg

ابحث في الملف عن قسم Mail Options، وعدل سطر MailTo كما يلي:

# Recipient address for emails sent out by Bro and BroControl
MailTo = admin@example.com

استبدل عنوان البريد بالعنوان الذي تريد، ثم احفظ الملف وأغلقه. لديك الكثير من الخيارات هنا، لكن الخيارات الافتراضية جيدة ولا تحتاج تعديلات.

اختيار العُقَد التي ستُراقَب

إن Bro مجهز افتراضيًا ليعمل في الوضع المستقل-Standalone، وهو ما نشرحه في هذا المقال، لذا لن تحتاج إلى تغيير الكثير، لكن سننظر على أي حال في ملف node.cfg:

# $EDITOR /usr/local/bro/etc/node.cfg

يجب أن ترى شيئًا كهذا في قسم [bro]:

[bro]
type=standalone
host=localhost
interface=eth0

تأكد أن تكون الواجهة-interface مطابقة لواجهة خادم أوبنتو 16.04، ثم احفظ الملف وأغلقه.

ضبط شبكات العقدة-Node’s Networks

آخر ملف سنعدّل فيه هو network.cfg، افتحه باستخدام المحرر النصي الذي تفضله:

# $EDITOR /usr/local/bro/etc/networks.cfg

يجب أن ترى المحتوى التالي:

# List of local networks in CIDR notation, optionally followed by a
# descriptive tag.
# For example, "10.0.0.0/8" or "fe80::/64" are valid prefixes.

10.0.0.0/8          Private IP space
172.16.0.0/12       Private IP space
192.168.0.0/16      Private IP space

احذف المدخلات الثلاثة (التي هي أمثلة فقط لكيفية استخدام الملف)، وأدخل مساحةIP العامة والخاصة للخادم الخاص بك، على هذه الهيئة:

X.X.X.X/X        مساحة IP العامة
X.X.X.X/X        مساحة IP الخاصة

احفظ الملف وأغلقه.

إدارة تثبيت Bro باستخدام BroControl

تحتاج إلى استخدام BroControl من أجل إدارة Bro، وهو يأتي في صورة صَدفة تفاعلية-interactive shell وأداة سطر أوامر، افتح الصدفة بالآتي:

# /usr/local/bro/bin/broctl

ولتستخدمها كأداة سطر أوامر، أضف معاملًا-argument إلى الأمر السابق، مثال:

# /usr/local/bro/bin/broctl status

سيتحقق هذا الأمر من حالة Bro بإخراج نتيجة كهذه:

Name         Type       Host          Status    Pid    Started
bro          standalone localhost     running   6807   20 Jul 12:30:50

خاتمة

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

ترجمة -بتصرف- لمقال Network Analysis: How To Install Bro On Ubuntu 16.04 لصاحبه Giuseppe Molica

حقوق الصورة البارزة محفوظة لـ Freepik


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...