
مقدمة
اليوم أمر بقليل من التوتر الذهني بسبب موعد سفري غدا إن شاء الله إلى مصر لمدة أسبوع و هناك الكثير لأعمله هناك. نيابة عن أنني أتمنى أن أرى كل من أحب هناك و أخشى ألا يكفي الوقت لهذا و أيضا أمر بحزن شديد أنني لن أستطيع المشاركة في مجلة المجتمع الإصدار الثامن فهذه المجلة لا تستحق إلا مواضيع محترمة و لن أرضى أن أكتب موضوع لا يليق بها . خطر ببالي أن أضع هذا الشرح كرفع لمعنوياتي و أيضا لأراقب سيرفري المنزلي و أنا في مصر لأن الشباب في الصين يحاولون كثيرا على سيرفري لا أدري ما يهمهم فيه.
الموضوع
كنت قد تكلمت عن مفاهيم الـ 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
و أضف السطور التالية في نهاية الملف
<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
هام: يجب إغلاق الـ safe_mode في الـ php . إن لم تغلقها فلن تعمل الواجهة الرسومية معك
إزالة البرنامج:
- إزالة الواجة الرسومية
لإزالة الواجة الرسومية فقط.. قم بمس المجلد “/var/www/html/ossec”
- إزالة البرنامج نفسه
لإزالة البرنامج مع الإعدادات كاملا, نفذ الـسكريبت التالي
#!/bin/bash
# a simple script to uninstall ossec (tested on debian)
# Author: Han The Thanh <h a n t h e t h a n h @ g m a i l . c o m>
# 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 ">>> Files:"
for f in $files; do
ls -l $f
done
echo ""
echo ">>> Directory:"
for f in $dirs; do
ls -ld $f
done
echo ""
echo ">>> Users:"
echo $users
echo ""
echo ">>> 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
هكذا أكون قد أوفيت بوعدي
تحياتي و احترامي ![]()
Popularity: 12% [?]
Related posts:
بيض الله وجهك وعسى الله يوفقك …
راح نشتاق لك يا صبري :$
تروح وترجع بالسلامة إن شاء الله …
وإن شاء الله بعد العودة تكون حالتك النفسية تحسنت وتكون أعصابك هدأت …
أخوك …
[Translate]
good or bad:
2
0
مرحبا بك أبو محمد ,,
يعلم الله كم سأشتاق إليك و إنت تعرف ذلك و سأشتاق للمجتمع كثير جدا
أسأل الله أن تكون هذه الفتره تنشيط و تجديد لي و أعتقد أنني كنت محتاج لهذا و سبحان الله على توفيقه
بإذن الله نرجع و نقدم شئ أفضل و نحاول نفعل شئ للمجتمع أكثر , لأننا لم نفعل شئ له و مازال يعطينا أكثر مما نعطيه
طبعا أنت لا تحتاج أن أقول لك كم أكون سعيد عندما أراك في المدونه
نورتي و أسعدتني يا أخوي
[Translate]
good or bad:
0
0
بارك الله فيك ان شاء الله تجتمع مع كل الاحباب ..
اشاركك الخالة النفسية اخي الله يفرج الهم و كرب عني وعنك و المسلمين
[Translate]
good or bad:
0
0
هلا بك أخوي unex و ربك يفك كل كل إن شاء الله
الحمدلله الحالة النفسية هنا في مصر روعة بصراحة و كأن الله جل و علا يعلم أنني محتاجها
تحياتي و احترامي
[Translate]
good or bad:
0
0
http://www.nasbcom.net/vb/showthread.php?t=8718
اخى الغالي arabsys.info
مرورك أضاء موضوعي كضي القمر
اسعدني و جودك
شكرا لك
==========================================
لا أقول سوى الله يصلح حالنا إن شاء الله
[Translate]
good or bad:
1
0
هلا أبو محمد ..
ياخوي الشكوى لله و نقل المواضيع بدون ذكر المصدر شئ متعب بصراحة و لا أعرف متى نبطل هذه العادة السيئة و المشكلة يرد كأنه هو كاتب الموضوع
مشكور يا أبومحمد على اهتمامك بمواضيع أخوك الصغير إللي دايما يعزك و يقدرك
أخوكي الصغير ..
[Translate]
good or bad:
0
0
عادي انت اكتب لله مش عشان عبد الله …
وضعتها بس لانه الجملة الي أستعملها تضحك بصراحة
موفق يا خوي …
[Translate]
good or bad:
1
0
مظبوط .. و يعلم الله هذا القصد الأول لكتابه المواضيع لكن هضم الحق من الظلم و الحمدلله إن الثواب يجي من رب العباد
تحياتي و ترقب كام موضوع حلو إن شاء الله
[Translate]
good or bad:
0
0
بارك الله فيك موضوع جبار فعلا و سأحتاجه
[Translate]
good or bad:
0
0
و إياك أسامة ,,
عن نفسي لا أستغنى عنه في العمل و أمر عليه في كل السيرفرات يوميا
[Translate]
good or bad:
0
0