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