How to OSSEC with GUI with CSF step by step

مقدمة

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

الموضوع

كنت قد تكلمت عن مفاهيم الـ IDS  في مجلة مجتمع لينوكس العربي الإصدار السابع و وضحت مع الشرح أن هناك نوع من أنواعه يسمى Host-Based IDS  و من البرامج أو المشاريع الرائعة اللتي تقوم بهذه المهمة هو مشروع الـ OSSEC.

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

الوظائف:

  • rootkit detection
  • file system integrity
  • log file analysis
  • time based alerting
  • active responses

لنبدأ

خطوات التثبيت (بدون واجهة)

1. نحمل البرنامج على سيرفرنا


wget -c http://www.ossec.net/files/ossec-hids-2.2.tar.gz

2. نفك ضغط البرنامج و ندخل إلى مجلده


tar xzf ossec-hids-2.2.tar.gz ; cd ossec-hids-2.2 ; clear ; ls

3. نعطي تصريح التنفيذ للملف install.sh ثم نشغل الملف


chmod +x install.sh ; ./install.sh

4. سيعرض لنا مجموعة من اللغات المتوفرة لكن ا فتراضيا اللغة هي الإنجليزية, اختر لغتك

** Para instalação em português, escolha [br].

** 要使用中文进行安装, 请选择 [cn].

** Fur eine deutsche Installation wohlen Sie [de].

** Για εγκατάσταση στα Ελληνικά, επιλέξτε [el].

** For installation in English, choose [en].

** Para instalar en Español , eliga [es].

** Pour une installation en français, choisissez [fr]

** Per l’installazione in Italiano, scegli [it].

** 日本語でインストールします.選択して下さい.[jp].

** Voor installatie in het Nederlands, kies [nl].

** Aby instalować w języku Polskim, wybierz [pl].

** Для инструкций по установке на русском ,введите [ru].

** Za instalaciju na srpskom, izaberi [sr].

** Türkçe kurulum için seçin [tr].

(en/br/cn/de/el/es/fr/it/jp/nl/pl/ru/sr/tr) [en]: en

5. الأن سيعرض لك معلومات خفيفة عن النظام و سيطلب منك الضغط على Enter  للإكمل

– System: Linux forbidden-zone 2.6.18-164.el5

– User: root

– Host: forbidden-zone

— Press ENTER to continue or Ctrl-C to abort. —

6. الأن سيسألك ماهي الحالة اللتي تريد أن يعمل عليها نظام الـ OSSEC

1- What kind of installation do you want (server, agent, local or help)? local

لنوضح الحالات

  • Server

إذا كنت تريد أن يراقب البيانات و يستقبال التنبيهات و يحلل البيانات من أجهزة أخرى أيضا في الشبكة أي سيكون تحت يده في الشبكة Agentsفاختر هذه الحالة.

  • Agent

إذا كنت تمتلك خادم يعمل كـ OSSEC server الأن و تريد أن تضع جهاز في حالة عميل/حساس/جساس/قرن استشعار . فاخرت هذه الحالة.

  • Local

تستطيع في هذه الحالة عمل كل ما يفعل OSSEC server  إلا أنك تستخبل رسائل أو تحليلات من الـ Agents.

استخدم هذه الحالة إذا كنت لا تمتلك إلا جهاز واحد فقط و غير مرتبط بأحد . و في شرحي اخترت local

7. يسأل الأن عن مكان تثبيت و إعدادات الـ OSSEM. و نحن تركناه افتراضيا

2- Setting up the installation environment.

– Choose where to install the OSSEC HIDS [/var/ossec]:

– Installation will be made at  /var/ossec .

8. إعدادات الـ HIDS

8.1. ضع عنوان بريدي يقوم بإرسال التبليغات عليه

3.1- Do you want e-mail notification? (y/n) [y]:

– What’s your e-mail address? king-sabrii@hotmail.com

– We found your SMTP server as: mx3.hotmail.com.

– Do you want to use it? (y/n) [y]: y

— Using SMTP server:  mx3.hotmail.com.

8.2. يسأل عن رغبتك في تنشيط خدمة التأكد من صحة البيانات و أجبنا بنعم

3.2- Do you want to run the integrity check daemon? (y/n) [y]:

– Running syscheck (integrity check daemon).

8.3. يسأل عن تفعيل الـ rootkit  لكشف الملفات الخبيثة و الشيلات و أجبنا بنعم

3.3- Do you want to run the rootkit detection engine? (y/n) [y]:

– Running rootcheck (rootkit detection).

8.4. سيسأل عن خاصة الاستجابة النشطة و هي تقوم بحظر عنوان أو مستخدم عند وجود تصرفات مشبوهة

3.4- Active response allows you to execute a specific

command based on the events received. For example,

you can block an IP address or disable access for

a specific user.

More information at:

http://www.ossec.net/en/manual.html#active-response

– Do you want to enable active response? (y/n) [y]:

– Active response enabled.

8.5. هنا يجعل القاعدة الافتراضية هي DROP  لأكثر الخدمات و يقوم بمراقبتها عن طريق IPtables  عن نفسي لا أحب أحد يكتب عني قواعدي

– By default, we can enable the host-deny and the

firewall-drop responses. The first one will add

a host to the /etc/hosts.deny and the second one

will block the host on iptables (if linux) or on

ipfilter (if Solaris, FreeBSD or NetBSD).

– They can be used to stop SSHD brute force scans,

portscans and some other forms of attacks. You can

also add them to block on snort events, for example.

– Do you want to enable the firewall-drop response? (y/n) [y]: n

– firewall-drop disabled.

بعدها  مباشرة سيكشف بنفسة عم كل الشبكاة المرتبطة بكروت الشبكة

– Default white list for the active response:

– 192.168.1.1

– 10.0.0.1

و سيسألك عن إن كنت تريد أن تضيف عناوين أخرى أم لا. بالنسبي لي لا أريد

– Do you want to add more IPs to the white list? (y/n)? [n]:

8.6. في هذه الخطوة سيظهر لك مكان السجلات للنظام و سيقوم بإنشائها دون التدخل منك و لتغير مكان السجلات اذهب إلى ملف إعدادات الـ OSSEC اللذي سنذكرمكانه في خطوة رقم 9 . اضغط Enter  للاستمرار

3.6- Setting the configuration to analyze the following logs:

— /var/log/messages

— /var/log/secure

— /var/log/maillog

9. الأن سيبدأ التنصيب لوحده

5- Installing the system

– Running the Makefile

INFO: Little endian set.

الأن انتهينا ,, ويسيخرج لك معلومات التخبرك بمكان ملفات الإعدادات و تشغيل النظام

– System is Redhat Linux.

– Init script modified to start OSSEC HIDS during boot.

– Configuration finished properly.

– To start OSSEC HIDS:

/var/ossec/bin/ossec-control start

– To stop OSSEC HIDS:

/var/ossec/bin/ossec-control stop

– The configuration can be viewed or modified at /var/ossec/etc/ossec.conf

Thanks for using the OSSEC HIDS.

إلى هناك نكون أنهينا تنصيب النظام كاملا بحمد الله(بدون واجهة)

لنبدأ في تثبيت الواجهة الرسومية و اللتي ستعمل عن طريق المتصفحة

خطوات تثبيت الواجهة

متطلبات التشغيل

  • وجود Apache server
  • دعم الـ PHP  من الإصار 4.1 أو الأحدث
  • بديلا عن النقطتين السابقتين تستطيع استخدام Lighttpd مع PHP-cgi الإصدار الرابع أو الخامس

لنبدأ

1. تنزيل المتطلبات


yum -y install  php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel \  perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd-devel

2. تنزيل الواجهة من الموقع الرسمي


wget http://www.ossec.net/files/ui/ossec-wui-0.3.tar.gz

3. نتأكد من صحة الملف


wget http://www.ossec.net/files/ui/ossec-wui-0.3-checksum.txt

wget http://www.ossec.net/files/ui/ossec-wui-0.3.tar.gz.sig

md5sum ossec-wui-0.3.tar.gz

يجب أن يكون الناتج ..

c79fa486e9a20fb06a517541033af304

نتأكد مرة أخرى


sha1sum ossec-wui-0.3.tar.gz

يجب أن يكون الناتج ..

e00bff680721982ee55295a5292eb4e2a638b820

إذا اختلفت النواتج!! يجب عليك إعداة تحميل الواجهة  (الخطوة رقم 2) .

و أخيرا المصادقة بالمفاتيح


gpg --verify ossec-wui-0.3.tar.gz.sig ossec-wui-0.3.tar.gz

4. فك ضغط مجلد الواجهة و نقله إلى المجلد العام للـ Web server  ليتم عرضه عن طريق المتصفح


tar -zxvf ossec-wui-0.3.tar.gz ; mv ossec-wui-0.3 /var/www/html/ossec ; cd mv ossec-wui-0.3 /var/www/html/ossec ; clear ; ls

5. إعطاء تصريح التنفيذ للسكريبت, و تشغيله ليتم تنصيب الواجهة الرسومية


chmod +x setup.sh ; ./setup.sh

6. سيطلب وضع إسم مستخدم و كلمة مرور و تأكيد كلمة المرور

Username: KING-SABRI.NET

New password:

Re-type new password:

Adding password for user KING

Setup completed successfuly.

7. أضف مستخدم الأباتشي الخاص به إلى مجموعة مستخدمين الـ OSSIC


nano /etc/group

و ابحث عن

ossec:x:500:

و أضف بعد النقطتين ” : ” أضف اسم مستخدم الأباتشي

و في شرحنا استخدمت CentOS , و كان التعديل هكذا

ossec:x:500:apache

ملاحظة :

اسم مستخدم الأباتشي الافتراضي يختلف من توزيعة عن أخرى

CentOS  اسم الستخدم يكون apache

Ubuntu اسم المستخدم يكون www-data

قد يكون في بعض التوزيعات www أو nobody

ابحث عن أحد المستخدمين السابقين هكذا

ps -aux

8. غير التصاريح كالتالي . ثم أعد تشغيل الأباتشي

chmod 770 tmp/
chgrp apache tmp/
apachectl restart

9. إذا كانت تمتملك شبكة كبيرة و عندك عدد كبير من الـ agents  و الأحداث الكثيرة اللتي يجب تسجيله فأتبع التالي


nano /etc/php.ini

و أضف التالي في أخر الملف

# —– #

# OSSIC #

# —– #

max_execution_time = 180

max_input_time = 180

memory_limit = 30M

10. أضف التالي في ملف إعدادات الأباتشي


nano /etc/httpd/conf/httpd.conf

ServerName 10.0.0.1

حيث الـ 10.0.0.1 هو عنوان الجهاز اللذي يعمل عليه الـ Webserver

11. أعد تشغيل الأباتشي


service httpd restart

12. الأن يمكنك زيارة صفحة الـ OSSIC  بأن نكتب في المتصفح التالي

http://10.0.0.1/ossec/

طبعا العنوان يتغير على حسب عنوان الخادم

13. أفضل أن تقوم بإيقاف و تشغيل الـ OSSIEC


/var/ossec/bin/ossec-control restart

14. للربط مع CSF افتح ملف إعدادات الـ OSSEC

nano /var/ossec/etc/ossec.conf

و أضف السطور التالية في نهاية الملف

<ignore>/etc/prelink.cache</ignore>
<ignore>/etc/csf/csf.temppids</ignore>
<ignore>/etc/csf/csf.tempban</ignore>
<ignore>/etc/csf/csf.tempint</ignore>
<ignore>/etc/csf/stats/iptables_log</ignore>
<ignore>/etc/csf/csf.dshield</ignore>
<ignore>/etc/csf/csf.tempip</ignore>
<ignore>/etc/csf/csf.deny</ignore>
<ignore>/etc/csf/csf.tempfiles</ignore>
<ignore>/etc/csf/csf.spamhaus</ignore>

في النهاية أعد تغيل الـ OSSEC

/etc/init.d/ossec restart

هام: يجب إغلاق الـ safe_mode في الـ php . إن لم تغلقها فلن تعمل الواجهة الرسومية معك

إزالة البرنامج:

إزالة الواجة الرسومية

لإزالة الواجة الرسومية فقط.. قم بمس المجلد “/var/www/html/ossec”

rm -rf /var/www/html/ossec

إزالة البرنامج نفسه

لإزالة البرنامج مع الإعدادات كاملا, نفذ الـسكريبت التالي


#!/bin/bash # a simple script to uninstall ossec (tested on debian) # Author: Han The Thanh &lt;h a n t h e t h a n h @ g m a i l . c o m&gt; # Public domain. # this script has been tested on debian; it should also work on other linux # systems but I have not tested. If you want to be careful and need to see what # would be done without executing any real action, uncomment the following line: # dryrun="echo " set -e . /etc/ossec-init.conf dirs="$DIRECTORY" files=`ls /etc/init.d/ossec /etc/rc[0-9S].d/[SK][0-9][0-9]ossec` users=`egrep '^ossec' /etc/passwd | sed 's/:.*//'` groups=`egrep '^ossec' /etc/group | sed 's/:.*//'` deluser=`which deluser` || true if [ -z "$deluser" ]; then deluser="userdel" fi delgroup=`which delgroup` || true if [ -z "$delgroup" ]; then delgroup="groupdel" fi echo "" echo "I am going to remove the following:" echo "" echo "&gt;&gt;&gt; Files:" for f in $files; do ls -l $f done echo "" echo "&gt;&gt;&gt; Directory:" for f in $dirs; do ls -ld $f done echo "" echo "&gt;&gt;&gt; Users:" echo $users echo "" echo "&gt;&gt;&gt; Group:" echo $groups echo "" echo "If you have not backed up your config file(s), they will be lost forever!" read -p "Is this want you want (yes/no)? " if [ "$REPLY" = "yes" ]; then $dryrun /etc/init.d/ossec stop $dryrun rm -f $files $dryrun rm -rf $dirs for u in $users; do $dryrun $deluser $u done for g in $groups; do $dryrun $delgroup $g done fi

هكذا أكون قد أوفيت بوعدي

تحياتي و احترامي

11 رأي على “How to OSSEC with GUI with CSF step by step

  1. بيض الله وجهك وعسى الله يوفقك …
    راح نشتاق لك يا صبري :$
    تروح وترجع بالسلامة إن شاء الله …
    وإن شاء الله بعد العودة تكون حالتك النفسية تحسنت وتكون أعصابك هدأت …
    أخوك …

  2. مرحبا بك أبو محمد ,,

    يعلم الله كم سأشتاق إليك و إنت تعرف ذلك و سأشتاق للمجتمع كثير جداhttp://king-sabri.net/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif

    أسأل الله أن تكون هذه الفتره تنشيط و تجديد لي و أعتقد أنني كنت محتاج لهذا و سبحان الله على توفيقه

    بإذن الله نرجع و نقدم شئ أفضل و نحاول نفعل شئ للمجتمع أكثر , لأننا لم نفعل شئ له و مازال يعطينا أكثر مما نعطيهhttp://king-sabri.net/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif

    طبعا أنت لا تحتاج أن أقول لك كم أكون سعيد عندما أراك في المدونهhttp://king-sabri.net/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif

    نورتي و أسعدتني  يا أخوي http://king-sabri.net/wp-content/plugins/wp-monalisa/icons/hat.gif

  3. بارك الله فيك  ان شاء الله تجتمع مع كل الاحباب ..
    اشاركك  الخالة النفسية   اخي الله يفرج الهم و كرب عني وعنك و المسلمين

  4. هلا بك أخوي unex  و ربك يفك كل كل إن شاء الله

    الحمدلله الحالة النفسية هنا في مصر روعة بصراحة و كأن الله جل و علا يعلم أنني محتاجها

    تحياتي و احترامي http://king-sabri.net/wp-content/plugins/wp-monalisa/icons/hat.gif

  5. هلا أبو محمد ..

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

    مشكور يا أبومحمد على اهتمامك بمواضيع أخوك الصغير إللي دايما يعزك و يقدرك

    أخوكي الصغير ..

    http://king-sabri.net/wp-content/plugins/wp-monalisa/icons/hat.gif

  6. عادي انت اكتب لله مش عشان عبد الله …
    وضعتها بس لانه الجملة الي أستعملها تضحك بصراحة 🙂

    موفق يا خوي …

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

    تحياتي و ترقب كام موضوع حلو إن شاء الله http://king-sabri.net/wp-content/plugins/wp-monalisa/icons/wpml_good.gif

    http://king-sabri.net/wp-content/plugins/wp-monalisa/icons/hat.gif

     

  8. و إياك أسامة ,,

    عن نفسي لا أستغنى عنه في العمل و أمر عليه في كل السيرفرات يوميا

  9. Your’s is a point of view where real inntlligeece shines through.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *