مقدمة: إطار التحليل الشبكي 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
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.