بلاگ/راه‌اندازی Wazuh روی سرور مجازی و اختصاصی: پلتفرم متن‌باز تشخیص نفوذ و مانیتورینگ امنیتی
به‌روز شده

راه‌اندازی Wazuh روی سرور مجازی و اختصاصی: پلتفرم متن‌باز تشخیص نفوذ و مانیتورینگ امنیتی

1405/08/173 بازدید
راه‌اندازی Wazuh روی سرور مجازی و اختصاصی: پلتفرم متن‌باز تشخیص نفوذ و مانیتورینگ امنیتی

راه‌اندازی Wazuh روی سرور مجازی و اختصاصی: پلتفرم متن‌باز تشخیص نفوذ و مانیتورینگ امنیتی

اگر چند سرور لینوکسی دارید و نمی‌دانید همین الان چه کسی در حال تست کردن رمز روی پورت SSH آن‌هاست، Wazuh دقیقا برای همین موقعیت ساخته شده. در این مقاله نصب All-in-One آن را روی یک سرور مجازی انجام می‌دهیم، یک Agent به سرور دوم اضافه می‌کنیم و در آخر یک حمله Brute-force واقعی را شبیه‌سازی می‌کنیم تا ببینیم Wazuh چطور آن را گزارش می‌دهد.

نصب Wazuh روی سرور مجازی و اختصاصی

Wazuh چیست و چه فرقی با آنتی‌ویروس دارد؟

Wazuh یک پلتفرم متن‌باز از خانواده SIEM (جمع‌آوری و تحلیل لاگ) و XDR (تشخیص و پاسخ در چند لایه) است. برخلاف آنتی‌ویروس که فقط فایل‌های مشکوک را روی یک سیستم چک می‌کند، Wazuh لاگ سرورها را به‌صورت زنده جمع می‌کند، آن‌ها را با مجموعه‌ای از قاعده‌ها مقایسه می‌کند و برای رفتارهای غیرعادی هشدار می‌سازد.

چند کار مشخص که Wazuh انجام می‌دهد:

  • بررسی لاگ ورود SSH، sudo و فایروال برای الگوهای حمله
  • چک کردن یکپارچگی فایل‌های حساس (مثلا تغییر ناگهانی /etc/passwd)، کاری که Auditd هم در سطح کرنل انجام می‌دهد
  • اسکن آسیب‌پذیری نرم‌افزارهای نصب‌شده روی سرور
  • سنجش سرور با چک‌لیست‌های امنیتی مثل CIS Benchmark

این پلتفرم از دو بخش ساخته شده: Wazuh Manager (مغز سیستم، جایی که قاعده‌ها و داشبورد قرار دارند) و Wazuh Agent (برنامه کوچکی که روی هر سروری که می‌خواهید مانیتور کنید نصب می‌شود و لاگ را برای Manager می‌فرستد).

گذار از سرور بدون مانیتورینگ و آسیب‌پذیر به دید متمرکز و امن روی چند سرور با Wazuh

چه سروری برای Wazuh لازم است؟

نصب All-in-One یعنی Manager، Indexer (بر پایه OpenSearch) و Dashboard همه روی یک سرور بالا می‌آیند. مصرف منابع به تعداد Agentها و حجم لاگی که روزانه تولید می‌شود بستگی دارد، نه فقط به تعداد سرور.

تعداد AgentRAM پیشنهادیCPUدیسکنوع سرور مناسب
تا ۱۰ سرور۴ تا ۸ گیگابایت۲ هستهحداقل ۵۰ گیگابایت SSD/NVMeسرور مجازی
۱۰ تا ۵۰ سرور۸ تا ۱۶ گیگابایت۴ هسته۱۰۰ گیگابایت به بالا، با مانیتورینگ فضای دیسکسرور مجازی با پلن بالاتر یا اختصاصی
بیش از ۵۰ سرور۱۶ گیگابایت به بالا، معمولا با جداسازی Indexer۸ هسته یا بیشترچند صد گیگابایت، ترجیحا NVMeسرور اختصاصی، یا چند سرور جدا برای هر بخش

برای یک محیط آزمایشی یا چند سرور تولیدی کوچک، یک سرور مجازی با ۴ گیگابایت رم کافی است. وقتی تعداد Agentها و حجم لاگ بالا می‌رود، به‌خصوص اگر Indexer شروع به کند شدن کند، آن زمان است که جابه‌جایی به سرور اختصاصی با دیسک NVMe و رم بیشتر معنا پیدا می‌کند. اگر هنوز بین این دو مطمئن نیستید، راهنمای سرور مجازی یا سرور اختصاصی؟ تفاوت‌ها را کنار هم می‌گذارد.

نصب Wazuh به روش All-in-One

ساده‌ترین راه برای شروع، اسکریپت نصب رسمی Wazuh است که Manager، Indexer و Dashboard را با هم نصب و پیکربندی می‌کند. روی یک سرور تازه با Ubuntu 22.04 یا 24.04 این دستورها را اجرا کنید:

curl -sO https://packages.wazuh.com/4.9/wazuh-install.sh
sudo bash ./wazuh-install.sh -a

اجرای این اسکریپت چند دقیقه طول می‌کشد. در پایان، آدرس دسترسی به داشبورد و رمز اولیه کاربر admin را روی خط فرمان چاپ می‌کند. این رمز را همان‌جا کپی کنید، چون دوباره نشان داده نمی‌شود.

پیش از نصب، این پورت‌ها باید در فایروال سرور باز باشند:

  • 443 برای داشبورد وب
  • 1514 برای ارسال لاگ از Agentها
  • 1515 برای ثبت‌نام Agentهای جدید
  • 55000 برای API مدیریتی Wazuh

اگر فایروال سرور را با nftables مدیریت می‌کنید، روش ساخت این قوانین را در راه‌اندازی فایروال nftables روی سرور لینوکس ببینید.

بعد از نصب، آدرس https://<آیپی-سرور> را در مرورگر باز کنید، با admin و رمزی که کپی کردید وارد شوید و همان ابتدا رمز را از بخش تنظیمات کاربر عوض کنید.

افزودن Agent به یک سرور دیگر

حالا سروری که می‌خواهید مانیتور شود را به Wazuh معرفی می‌کنیم. فرض کنید یک وب‌سرور جدا دارید که می‌خواهید لاگ آن هم بررسی شود.

  1. در داشبورد Wazuh، از منو وارد بخش Agents شوید و روی Deploy new agent بزنید.
  2. سیستم‌عامل سرور هدف را انتخاب کنید (مثلا Linux، Deb/RPM).
  3. آیپی یا دامنه Manager را وارد کنید؛ Wazuh خودش یک دستور نصب کامل می‌سازد.
  4. همان دستور را روی سرور هدف کپی و اجرا کنید. چیزی شبیه این:
WAZUH_MANAGER='آیپی-سرور-manager' \
apt-get install -y ./wazuh-agent_4.9.0-1_amd64.deb
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent

چند ثانیه بعد از اجرای این دستورها، سرور جدید در لیست Agentهای داشبورد با وضعیت Active ظاهر می‌شود. از این لحظه هر خطای ورود، تغییر فایل سیستمی یا بسته مشکوک شبکه روی آن سرور هم ثبت و بررسی می‌شود.

تست واقعی: تشخیص حمله Brute-force به SSH

برای اینکه فقط به چراغ سبز روی داشبورد بسنده نکنیم، یک حمله ساده Brute-force روی پورت SSH یک سرور تست خودمان شبیه‌سازی می‌کنیم (این کار را فقط روی سرورهایی انجام دهید که مالک آن هستید). اگر تا امروز دسترسی SSH سرورهایتان را سخت‌سازی نکرده‌اید، پیش از این تست یک نگاه به امن‌سازی دسترسی SSH به سرور لینوکس بیندازید.

از یک ماشین دیگر، با ابزار hydra چند بار رمز اشتباه برای کاربر root می‌فرستیم:

hydra -l root -P passwords.txt ssh://آیپی-سرور-agent -t 4

بعد از چند تلاش ناموفق، در داشبورد Wazuh زیر بخش Security events هشداری با عنوانی مثل «SSHD authentication failed» ظاهر می‌شود. با چند بار تکرار در فاصله کوتاه، قاعده‌های پیش‌فرض Wazuh (گروه قواعد sshd با شناسه‌هایی مثل 5710 و 5712) الگو را به‌عنوان تلاش Brute-force شناسایی و سطح هشدار را بالاتر می‌برند.

اگر ماژول Active Response را روشن کرده باشید، Wazuh می‌تواند همان‌جا آیپی مهاجم را با یک قاعده iptables برای مدتی مسدود کند، بدون اینکه شما دستی وارد سرور شوید. این دقیقا فرقی است که بین «دیدن لاگ» و «واکنش به لاگ» وجود دارد — کاری شبیه آنچه Fail2ban روی یک سرور تنها انجام می‌دهد، با این تفاوت که Wazuh آن را به کل مجموعه سرورهای زیر یک Manager تعمیم می‌دهد.

نگهداری بعد از نصب

چند نکته که بعد از نصب اول باید چک شوند:

  • رمز کاربر admin داشبورد و کلیدهای API را از مقدار پیش‌فرض نصب تغییر دهید.
  • فضای دیسک Indexer را دوره‌ای چک کنید؛ لاگ‌های روزانه با تعداد Agent بالا سریع رشد می‌کنند.
  • سیاست نگهداری لاگ (retention) را روی عددی تنظیم کنید که هم به کار تحلیل بیاید و هم دیسک پر نشود، معمولا بین ۳۰ تا ۹۰ روز.
  • قبل از هر تغییر بزرگ در تنظیمات، از فایل‌های /var/ossec/etc یک نسخه پشتیبان بگیرید.

کدام سرور آریانت برای Wazuh مناسب است؟

برای یک Manager All-in-One با چند Agent، یک سرور مجازی با ۴ تا ۸ گیگابایت رم برای شروع کافی است و می‌توانید هر وقت تعداد Agentها بالا رفت، پلن را ارتقا دهید. اگر از قبل تصمیم دارید ده‌ها سرور را زیر یک Manager قرار دهید یا حجم لاگ روزانه زیاد است، یک سرور اختصاصی با دیسک NVMe و رم بیشتر، فشار کمتری روی Indexer می‌گذارد و پاسخ داشبورد را سریع‌تر نگه می‌دارد.

سؤالات متداول

آیا Wazuh رایگان است؟ هسته اصلی Wazuh متن‌باز و رایگان است. می‌توانید آن را روی هر تعداد سرور نصب کنید؛ هزینه اصلی، منابع سروری است که Manager روی آن اجرا می‌شود.

Wazuh جایگزین فایروال یا آنتی‌ویروس می‌شود؟ نه، این سه ابزار کار متفاوتی می‌کنند. فایروال ترافیک را فیلتر می‌کند، آنتی‌ویروس فایل را چک می‌کند و Wazuh لاگ و رفتار سیستم را تحلیل می‌کند. این سه معمولا کنار هم استفاده می‌شوند.

آیا باید Manager و Agent روی سرورهای جدا باشند؟ برای شروع و تعداد کم سرور لازم نیست؛ همان سرور Manager می‌تواند Agent خودش را هم مانیتور کند. جداسازی وقتی معنا پیدا می‌کند که تعداد Agent یا حجم لاگ بالا برود.

چقدر طول می‌کشد اولین هشدار امنیتی را ببینیم؟ اگر Agent به درستی به Manager وصل شده باشد، هشدارهایی مثل خطای ورود SSH تقریبا بلافاصله، در عرض چند ثانیه، در داشبورد ظاهر می‌شوند.