OSSEC چیه و چطور IDS روی سرور راه بندازیم؟

OSSEC چیه و چطور IDS روی سرور راه بندازیم؟

OSSEC (Open Source Security) یه سیستم تشخیص نفوذ (IDS) رایگان و متن بازه کارش اینه که تمام فعالیت های سرور رو زیر نظر داره و هر رفتار مشکوکی دید سریع هشدار میده


OSSEC چیکار میکنه؟

تحلیل لاگ (Log Analysis)

لاگ های سیستم وب سرور دیتابیس SSH و هر سرویس دیگه ای رو میخونه الگوهای حمله مثل Brute Force، اسکن پورت و SQL Injection رو تشخیص میده

بررسی یکپارچگی فایل (File Integrity Monitoring)

هش فایل های مهم رو ذخیره میکنه اگه فایلی تغییر کنه اضافه بشه یا حذف بشه هشدار میده میفهمی کی و چی تغییر کرده

شناسایی Rootkit

سیستم رو برای Rootkit های شناخته شده اسکن میکنه فایل های مخفی پروسه های مشکوک و پورت های پنهان رو پیدا میکنه

هشداردهی فعال (Active Response)

اگه حمله ای تشخیص بده میتونه خودکار واکنش نشون بده. مثلا IP مهاجم رو توی فایروال بلاک کنه

مانیتورینگ رجیستری (روی ویندوز)

تغییرات رجیستری ویندوز رو هم چک میکنه (بیشتر برای سرورهای ویندوزی)


معماری OSSEC چطوره؟

OSSEC از دو بخش اصلی تشکیل شده:

Manager (سرور مرکزی)

مغز OSSEC اینجاست داده ها رو از Agent ها جمع میکنه تحلیل میکنه و هشدار میده میتونه روی یه سرور مجزا باشه

Agent

روی هر سروری که می‌خوای مانیتور بشه نصب میشه لاگ ها و اطلاعات رو میفرسته به Manager

Local Installation

اگه فقط یه سرور داری میتونی Manager و Agent رو روی همون سرور نصب کنی به این میگن Local Mode


نصب OSSEC روی یه سرور (Local Mode)

پیش نیازها:

sudo apt update
sudo apt install build-essential gcc make libevent-dev libssl-dev zlib1g-dev

دانلود و نصب:

wget https://github.com/ossec/ossec-hids/archive/3.7.0.tar.gz
tar -xzf 3.7.0.tar.gz
cd ossec-hids-3.7.0
sudo ./install.sh

حین نصب چندتا سوال میپرسه:

Language: en (انگلیسی)

Installation type: local (چون یه سرور داریم)

Installation path: /var/ossec (پیش فرض خوبه)

Email notification: yes

Email address: ایمیل خودت رو بده

SMTP server: localhost (یا smtp.gmail.com)

بقیش رو Enter بزن با جواب پیش فرض بره جلو


شروع OSSEC

بعد از نصب:

sudo /var/ossec/bin/ossec-control start

چک کردن وضعیت:

sudo /var/ossec/bin/ossec-control status

استاپ و ریستارت:

sudo /var/ossec/bin/ossec-control stop
sudo /var/ossec/bin/ossec-control restart

دیدن هشدارها

هشدارها توی فایل لاگ ذخیره میشن:

sudo tail -f /var/ossec/logs/alerts/alerts.log

هر هشدار یه Level داره از ۰ تا ۱۵:

۰-۳: اطلاعات عمومی (Ignore)

۴-۷: هشدار کم اهمیت

۸-۱۰: هشدار متوسط باید بررسی کنی

۱۱-۱۵: هشدار جدی حمله در حال وقوع

فقط هشدارهای مهم رو ببین:

sudo cat /var/ossec/logs/alerts/alerts.log | grep "level [8-9]\|level 1[0-5]

تنظیمات مهم

فایل اصلی تنظیمات:

sudo nano /var/ossec/etc/ossec.conf

اضافه کردن یه مسیر برای File Integrity Monitoring:

<syscheck>
  <directories check_all="yes" report_changes="yes">/etc,/var/www,/home</directories>
</syscheck>

تنظیم ایمیل برای هشدارهای مهم:

<global>
  <email_notification>yes</email_notification>
  <email_to>your@email.com</email_to>
  <smtp_server>localhost</smtp_server>
  <email_from>ossec@your-server.com</email_from>
</global>

تنظیم Active Response برای بلاک خودکار IP:

<active-response>
  <command>host-deny</command>
  <location>local</location>
  <level>8</level>
  <timeout>3600</timeout>
</active-response>

بعد از تغییر تنظیمات:

sudo /var/ossec/bin/ossec-control restart

نصب OSSEC با چند Agent (Client-Server)

روی Manager:

sudo ./install.sh

انتخاب: server

روی Agent:

sudo ./install.sh

انتخاب: agent

بعد آدرس IP Manager رو میپرسه

روی Manager، Agent رو ثبت کن:

sudo /var/ossec/bin/manage_agents

گزینه A: اضافه کردن Agent

اسم Agent رو بده

IP Agent رو بده

کلید تولید شده رو کپی کن

گزینه E: استخراج کلید برای Agent

روی Agent، کلید رو import کن:

sudo /var/ossec/bin/manage_agents

گزینه I: وارد کردن کلید

کلیدی که از Manager گرفتی رو paste کن

اضافه کردن قوانین (Rules)

قوانین OSSEC توی پوشه /var/ossec/rules/ هستن می‌تونی قانون جدید اضافه کنی:

sudo nano /var/ossec/rules/local_rules.xml

مثال: هشدار برای لاگین ناموفق SSH:

<group name="local,syslog,sshd">
  <rule id="100001" level="8">
    <decoded_as>sshd</decoded_as>
    <match>Failed password</match>
    <description>SSH Brute Force detected</description>
  </rule>
</group>


sudo /var/ossec/bin/ossec-control restart


وب اینترفیس OSSEC

اگه میخوای داشبورد گرافیکی داشته باشی:


Wazuh (فورک مدرن OSSEC):

Wazuh همون OSSEC هست با کلی امکانات بیشتر داشبورد Kibana و رابط کاربری قشنگ


curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo apt-key add -
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
sudo apt install wazuh-manager
 amir

amir

برنامه نویس python, php طراح سایت