سیستم تشخیص نفوذ (IDS) و سیستم پیشگیری از نفوذ (IPS) به جلوگیری از نفوذ مجرمان سایبری به سرور شما کمک می کند. این ابزارهای امنیتی شبکه به‌طور خودکار ترافیک را حذف می‌کنند و به محض یافتن یک فعالیت مخرب، هشدارها را راه‌اندازی می‌کنند.

در یک سرور خصوصی مجازی اوبونتو (VPS)، Suricata یک راه حل محبوب IDS و IPS است. این نظارت بر ترافیک شبکه علاوه بر منبع باز بودن، برای سیستم عامل های مختلف از جمله ویندوز و لینوکس در دسترس است.

در این مقاله روش نصب Suricata را توضیح می دهیم روی سرورهای اوبونتو برای کمک به بهبود امنیت شبکه شما. همچنین یاد خواهید گرفت که چگونه تنظیمات پیش‌فرض را تغییر دهید و قوانین تشخیص جدید را متناسب با شیوه‌های امنیتی VPS خود تنظیم کنید.

پیش نیازها

اگرچه Suricata حداقل نیازهای سخت افزاری خود را ذکر نمی کند، ما حداقل آن را توصیه می کنیم 2 سی پی یو هسته ها و 4 گیگابایت رم برای اطمینان از عملکرد بهینه

اگر برنامه میزبانی VPS ندارید، توصیه می کنیم با آن شروع کنید هاستینگerKVM 2 برنامه ریزی و ارتقاء در صورت نیاز.

برای سیستم عامل، مطمئن شوید که VPS شما پشتیبانی می کند اوبونتو 22.04 و یا بعد. نسخه‌های قدیمی‌تر ممکن است با آخرین نسخه Suricata ناسازگار باشند.

هاستینگer کاربران می توانند استفاده کنند hPanelنصب کننده با یک کلیک برای جابجایی به سیستم عامل های دیگر. برای انجام این کار، به مسیر خود بروید نمای کلی VPS نوار کناری منو → سیستم عامل و پنلسیستم عاملسیستم عامل ساده. آخرین نسخه اوبونتو را انتخاب کرده و کلیک کنید سیستم عامل را تغییر دهید.

نصب Suricata نیز نیاز دارد root یا امتیازات superuser برای اجرای دستورات لینوکس. برای جلوگیری از مسائل مربوط به مجوز و اطمینان از روان بودن command-line نصب و راه اندازی process، یک ارائه دهنده میزبان VPS با دسترسی کامل به سرور انتخاب کنید، مانند هاستینگer.

جدای از سازگاری گسترده، بهترین ارائه دهندگان میزبانی VPS باید آپتایم قابل اعتماد و ویژگی های مختلف را ارائه دهند. مثلا، هاستینگer ارائه می دهد دستیار هوش مصنوعی، به شما امکان می دهد وظایف را با وارد کردن اعلان های مختلف هوش مصنوعی برای مدیریت VPS ساده کنید.

ما همچنین ارائه می دهیم مرورگر terminal که به شما امکان می دهد بدون استفاده از کلاینت SSH مانند PuTTY به سیستم اوبونتو متصل شوید. برای دسترسی به VPS از راه دور، از اعتبار ورود به سیستم در منوی نمای کلی استفاده کنید دسترسی به SSH برگه

مهم! به طور پیش فرض، شما به عنوان وارد شوید root کاربر. توصیه می کنیم برای جلوگیری از اجرای تصادفی دستورات مخرب، به حساب دیگری با امتیازات سوپرکاربر سوئیچ کنید.

همه برنامه های میزبانی VPS ما یک گارانتی 99.9% آپتایم و الف با ضمانت برگشت 30 روزه پول.

روش نصب Suricata روی اوبونتو

در این قسمت مراحل نصب Suricata را توضیح می دهیم روی یک VPS در حال اجرا اوبونتو 22.04. اگر می خواهید آن را نصب کنید روی یک دروازه host برای اسکن ترافیک ورودی و خروجی شبکه ، ممکن است به اقدامات اضافی مانند اصلاح قوانین فایروال نیاز داشته باشید.

1. بسته های اوبونتو را به روز کنید

قبل از نصب Suricata ، APT را به روز کنید تا اطمینان حاصل کنید که آخرین نسخه محلی را دریافت می کنید. این مرحله همچنین جدیدترین تکه ها را برای سایر بسته های سیستم برای کمک به بهبود امنیت و جلوگیری از مشکلات ناسازگاری اعمال می کند.

برای لیست به روزرسانی های بسته بندی سیستم موجود در مخزن APT خود ، دستور زیر را اجرا کنید:

sudo apt update

به روزرسانی ها را برای همه بسته های سیستم با استفاده از این دستور نصب کنید:

sudo apt upgrade

را process بسته به اینکه ممکن است چند دقیقه یا چند ساعت طول بکشد روی اندازه کل به روز رسانی و سرعت اینترنت شما.

2. Suricata را نصب کنید

روش های مختلفی برای نصب Suricata وجود دارد روی اوبونتو در این بخش ، سه راه مشترک را از ساده ترین شروع خواهیم کرد.

Suricata را با استفاده از APT نصب کنید

برای نصب Suricata از این دستور استفاده کنید روی اوبونتو با استفاده از مخزن محلی APT:

sudo apt install -y suricata

برای تأیید اینکه آیا Suricata به درستی نصب شده است ، شماره نسخه آن را با استفاده از این دستور بررسی کنید:

suricata -V
ترمینال شماره نسخه Suricata نصب شده را برمی گرداند

مهم! از سرمایه گذاری صحیح هنگام ورود به دستورات اطمینان حاصل کنید زیرا حساس به موارد هستند.

یا بسته های نصب شده را فهرست کنید روی اوبونتو با استفاده از لیست مناسب دستور و فیلتر Suricata با استفاده از grep مانند موارد زیر:

sudo apt list --installed | grep suricata

توجه داشته باشید که این روش ممکن است از زمان استفاده از مخزن محلی APT Package Manager ، نسخه قدیمی را نصب کند.

Suricata را با استفاده از بسته های باینری نصب کنید

برای نصب آخرین نسخه پایدار، import را بنیاد امنیت اطلاعات باز (OISF) مخزن از سرور Suricata. برای انجام این کار، این دستورات را اجرا کنید:

sudo apt install software-properties-common
sudo add-apt-repository ppa:oisf/suricata-stable

مطبوعات وارد اگر ترمینال تأیید بخواهد. پس از وارد کردن مخزن ، APT را به روز کنید و نرم افزار را با این دستور باز کنید:

sudo apt install suricata

اگر از دیگر مشتقات دبیان استفاده می کنید، از مخزن backports برای دریافت آخرین نسخه پایدار استفاده کنید. رجوع به راهنمای نصب بسته های باینری Suricata برای کسب اطلاعات بیشتر در مورد آن.

با استفاده از Suricata نصب کنید Source فایل های توزیع

تنظیم Suricata از پرونده های توزیع منبع به شما امکان می دهد تنظیمات نصب را پیکربندی کنید. با این حال ، شما نیاز به نصب چندین وابستگی و هدرهای مختلف توسعه دارید.

پس از نصب وابستگی های سوریکاتا، سپس دستورات زیر را اجرا کنید:

tar xzvf suricata-6.0.0.tar.gz
cd suricata-6.0.0
./configure
make
make install

3. Suricata را پیکربندی کنید

بسته Suricata شامل یک YAML فایل پیکربندی برای بهینه سازی تنظیمات و رفتار ابزار. شما می توانید آن را با استفاده از یک ویرایشگر متن ویرایش کنید نانو:

sudo nano /etc/suricata/suricata.yaml

را suricata.yaml فایل دارای چندین پارامتر است که می توانید آنها را تنظیم کنید. در اینجا رایج ترین آنها هستند:

  • پیکربندی رابط. روش و رابط شبکه برای گرفتن بسته را تعیین می کند. برخی از تنظیمات هستند af;-packets، af-xdp، و pcap.
  • ورود به سیستم. جایی که Suricata تشخیص شبکه، قالب و سطح هشدار را ثبت می کند، تغییر می دهد. شما می توانید تنظیمات را از طریق تغییر دهید خروجی ها پارامتر.
  • فایل PID. را تنظیم می کند process فایل شناسایی (PID) برای اجرای Suricata به عنوان دیمون یا سرویس. نام و دایرکتوری آن را در فایل های pid پارامتر.
  • قوانین تشخیص. فایل های حاوی قوانین فیلترینگ بسته و مکان آنها را تعریف می کند. پارامترها هستند پیش فرض-قاعده-مسیر و فایل های قانون، به ترتیب.
  • اندازه های بسته. حداکثر اندازه بسته را که باید توسط Suricata پردازش و توسط شبکه شما ارسال شود، تغییر می‌دهد. را مشخص کنید بایت ارزش در max-pending-packet و اندازه بسته پیش فرض مولفه های.
  • شناسه جریان جامعه. جریان شبکه Suricata را برای فعال کردن ادغام با ابزار دیگری مانند زیک. را شناسه جامعه پارامتر تنظیم شده است نادرست به صورت پیش فرض.
پیشنهاد می‌کنیم بخوانید:  روش استفاده از XAMPP برای راه اندازی a Local سایت وردپرس (در 3 مرحله)

تنظیمات را ویرایش کنید و فشار دهید Ctrl + X، Y، و وارد برای ذخیره تغییرات برای جستجوی سریع یک پارامتر خاص، از Ctrl + W میانبر برای فعال کردن ویژگی جستجو.

علاوه بر خواندن دستورالعمل های ارائه شده، بررسی کنید مستندات فایل پیکربندی Suricata برای کسب اطلاعات بیشتر در مورد تنظیمات برای پارامترهای نظر داده شده مانند شناسه جامعه، نماد هش را بردارید (#) در ابتدا آنها را فعال کنید.

4. رابط های شبکه را فعال کنید

به process ترافیک شبکه و مسدود کردن بسته های مخرب از آسیب رساندن به سیستم شما، Suricata باید یک رابط را نظارت کند.

به طور پیش فرض، Suricata هیچ اتصالی از و به سرور شما را ردیابی نمی کند. کاربران باید مشخص کنند که کدام رابط شبکه نظارت کنند و روش ضبط بسته را از طریق تعیین کنند YAML فایل.

به عنوان مثال، ما می خواهیم از آن استفاده کنیم af-packet روش ضبط و نظارت بر venet0 رابط شبکه. در اینجا پیکربندی به نظر می رسد:

af-packet:
   - interface: venet0

این دستور را برای نمایش رابط پیش فرض و سایر اطلاعات مسیریابی وارد کنید:

ip -p -j route show

روش ضبط بسته را بر اساس تنظیم کنید روی نیازهای شما. به عنوان مثال af-packet مناسب برای ردیابی شبکه زنده است، در حالی که pcap برای تجزیه و تحلیل آفلاین ایده آل است.

برای نظارت بر چندین رابط شبکه، این خطوط جدید را در پایین بخش روش ضبط اضافه کنید. اطمینان حاصل کنید Cluster-ID منحصر به فرد است:

-  interface: interface name
   cluster-id: 29

5. Suricata را شروع کنید

سرویس Suricata را با استفاده از systemctl دستور اجرای آن در پس زمینه:

sudo systemctl start suricata

برای بررسی اینکه آیا به درستی اجرا می شود، موارد زیر را اجرا کنید:

sudo systemctl status suricata

اگر سرویس Suricata در حال اجرا است، ترمینال باید آن را نشان دهد لود شده و فعال وضعیت هایی مانند زیر

ترمینال وضعیت خدمات Suricata را نشان می دهدترمینال وضعیت خدمات Suricata را نشان می دهد

به یاد داشته باشید، همیشه پس از اصلاح فایل پیکربندی، سرویس Suricata را مجددا راه اندازی کنید تا مطمئن شوید تنظیمات جدید به درستی اعمال می شوند. در اینجا دستور است:

sudo systemctl restart suricata

از طرف دیگر، Suricata را متوقف کرده و با استفاده از آن دوباره اجرا کنید systemctl شروع کنید فرمان برای خاتمه دادن به دیمون، موارد زیر را وارد کنید:

sudo systemctl stop suricata

6. راه اندازی Suricata را خودکار کنید

راه اندازی خودکار Suricata به حفظ امنیت بهینه VPS کمک می کند زیرا پس از راه اندازی مجدد سیستم نیازی به فعال سازی مجدد دستی آن ندارید. این به بهبود کارایی مدیریت سرور کمک می کند.

برای انجام این کار، یک جدید ایجاد کنید سیستم شده فایل واحد سرویس برای استقرار خودکار Suricata هنگام شروع سرور با استفاده از دستور زیر:

sudo nano /etc/systemd/system/suricata.service

در فایل واحد خدمات، خطوط زیر را وارد کنید:

# Define the Suricata systemd unit
[Unit]
Description=Suricata IDS/IPS
After=network.target

# Specify the Suricata binary path, the configuration files location, and the network interface
[Service]
ExecStart=/usr/bin/suricata -c /etc/suricata/suricata.yaml -i venet0
[Install]

WantedBy=default.target

مطبوعات Ctrl + X، Y، و وارد برای ذخیره تغییرات دستور زیر را اجرا کنید تا Suricata به طور خودکار در هنگام بوت شدن سیستم بارگذاری شود:

sudo systemctl enable suricata

سپس، اجرا کنید systemctl شروع کنید دستور شروع Suricata. وضعیت را بررسی کنید تا از اجرای سرویس مطمئن شوید.

اگر ترمینال “هیچ فایل قانونی مطابقت نداردخطا، Suricata ممکن است نتواند قوانین نظارت بر شبکه را بارگیری کند. برای رفع آن، اجرا کنید suricata-update برای تازه کردن مسیر دایرکتوری

سپس، را باز کنید suricata.yaml قوانین پیکربندی را فایل و اصلاح کنید، مانند موارد زیر:

default-rule-path: /var/lib/suricata/rules
rule-files:
   - suricata.rules

فایل را ذخیره کرده و سرویس را مجددا راه اندازی کنید تا تغییرات اعمال شود.

7. تست عملکرد Suricata

پس از شروع Suricata، فایل پیکربندی آن را اعتبارسنجی کنید تا مطمئن شوید که ابزار کار می کند. ساده ترین راه برای انجام این کار استفاده از دستور تست داخلی است:

sudo suricata -T -c /etc/suricata/suricata.yaml -v

را -تی گزینه به شما امکان می دهد حالت تست Suricata را اجرا کنید و به شما امکان می دهد فایل پیکربندی را در مسیر مشخص شده پیدا کنید. علاوه بر این، -v گزینه حالت پرمخاطب را فعال می کند و جزئیات مربوط به اجرای فرمان از جمله خطاها را ارائه می دهد.

اگر قوانین متعدد و رشته های CPU محدود دارید، process بیشتر اجرا خواهد شد اما نباید از چند دقیقه تجاوز کند. ترمینال اراده print لاگ تست مانند زیر است.

گزارش رویدادهای تست Suricataگزارش رویدادهای تست Suricata

در طول این مرحله، به دنبال پیام هشداری باشید که نشان دهنده پیکربندی نادرست در خود است YAML فایل. برای ساده‌سازی عیب‌یابی، توصیه می‌کنیم از ما بپرسید دستیار VPS AI برای راه حل ها

سپس، قوانین Suricata را بررسی کنید تا مطمئن شوید که آنها ترافیک مخرب را به درستی شناسایی می کنند. را راهنمای شروع سریع Suricata استفاده از شماره قانون ET Open را توصیه می کند 2100498 و اتصال به URL آزمایشی با استفاده از حلقه دستور:

curl http://testmynids.org/uid/index.html

این فرمان یک درخواست HTTP برای راه اندازی قانون هشدار ارسال می کند. سپس، Suricata رویدادهای ورود به سیستم را در eve.json و سریع.log فایل مربوط به ترافیک شناسایی شده

پیشنهاد می‌کنیم بخوانید:  چگونه یک وب سایت برای یک کسب و کار کوچک به صورت رایگان در 8 مرحله بسازیم

بررسی کنید که آیا Suricata درخواست HTTP را به عنوان ترافیک بالقوه مخرب در آن برچسب گذاری می کند یا خیر سریع.log فایل. برای انجام این کار، را اجرا کنید grep ابزار فیلتر کردن شماره شناسه قانون:

grep 2100498 /var/log/suricata/fast.log

خروجی باید گزارشی را نشان دهد که بسته را با عنوان “ترافیک بالقوه بد

از آنجا که شب log ورودی های خود را به صورت فرمت می کند JSON، تجزیه و تحلیل آن مستلزم jq سودمندی اگر برنامه کاربردی را نصب کرده اید از این مرحله رد شوید. در غیر این صورت، موارد زیر را اجرا کنید:

sudo apt install jq

سپس دستور زیر را وارد کنید تا ورودی های فایل لاگ را بر اساس فیلتر کنید روی شناسه امضا و نوع هشدار:

jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json

شما باید شناسه قانون و همان را ببینیدترافیک بالقوه بد” دسته بندی. این بدان معناست که Suricata ترافیک شبکه شما را با قانون تشخیص صحیح مطابقت داده است.

این گزارش‌ها برای مدیریت هشدار و نظارت بر امنیت شبکه مفید هستند. به عنوان مثال، می توانید منابع ترافیکی مشکوک را در فایروال بدون عارضه اوبونتو (UFW) مسدود کنید یا iptables.

8. قوانین Suricata را به روز کنید

Suricata بسته های مشکوک را با استفاده از امضاها یا قوانین تعریف شده توسط کاربر شناسایی می کند. به طور پیش‌فرض شامل تعدادی است، اما اگر سرور شما ترافیک را از منابع زیادی دریافت کند، ممکن است ناکافی باشند.

برای افزودن قوانین جدید، مجموعه قوانین اضافی را از ارائه دهندگان شخص ثالث مختلف واکشی کنید. در حالی که برخی از آنها رایگان هستند، برخی دیگر ممکن است هزینه اشتراک را دریافت کنند. برای لیست کردن آنها، دستور زیر را اجرا کنید:

sudo suricata-update list-sources
ترمینال ارائه دهندگان مجموعه قوانین خارجی را برای Suricata چاپ می کندترمینال ارائه دهندگان مجموعه قوانین خارجی را برای Suricata چاپ می کند

فروشندگان ارائه دهندگان، خلاصه ها، مجوزها و اطلاعات اشتراک را مشاهده خواهید کرد. به import یک مجموعه قوانین، دستور زیر را اجرا کنید:

sudo suricata-update enable-source provider-name

عوض کن نام ارائه دهنده مکان نگهدار با منبع قواعد مورد نظر شما. برای مثال، این را برای بازیابی اجرا کنید sslbl/ja3-اثر انگشت:

sudo suricata-update enable-source sslbl/ja3-fingerprints

سپس، دوباره اجرا کنید suricata-update دستور به روز رسانی و اعتبار سنجی فایل های قانون در /etc/suricata/rules فهرست راهنما. اگر منبع خارجی اضافه نکنید، به‌روزرسانی Suricata قوانین پیش‌فرض را از آن بازیابی می‌کند ET OPEN.

پس از به روز رسانی منبع پیش فرض ET OPEN، خواهید دید که Suricata بازرسی را پردازش کرده است امضای محموله بسته و قوانین فقط ip.

پیام به‌روزرسانی باید با پاکسازی ساختار گروه‌بندی امضا توسط ابزار به پایان برسد. اگر به روز هستید، ترمینال این کار را انجام خواهد داد print “هیچ تغییری شناسایی نشد، در حال خروج

پایانه نشان می دهد که مجموعه قوانین Suricata فعلی به روز استپایانه نشان می دهد که مجموعه قوانین Suricata فعلی به روز است

توصیه می کنیم ابزار به روز رسانی Suricata را به طور منظم اجرا کنید تا مطمئن شوید که سیستم شما آخرین قانون را دریافت می کند. اجرای جدیدترین روش تشخیص به حفظ امنیت بهینه سرور اوبونتو کمک می کند.

به صورت اختیاری، از ابزارهای مدیریت قوانین Suricata مانند استفاده کنید گوشت خوک و استاد اوینک برای تنظیم دقیق روش تشخیص استفاده کنید نانو برای اصلاح فایل:

sudo nano /etc/suricata/rules/rule_name.rules

نحو قاعده Suricata به شرح زیر است:

action protocol source-ip/port -> destination-ip/port (options; options; ... )

در اینجا معنی هر پارامتر و مقادیر پذیرفته شده آن آمده است:

  • عمل. اقدامی که باید در صورت تحقق شرط قاعده انجام شود. مقادیر ممکن شامل رها کردن، هشدار، و ورود به سیستم.
  • پروتکل. پروتکل شبکه نظارت شده، از جمله TCP، UDP، ICMP، یا IP.
  • source-ip/port. را IP و بندر که ترافیک از آن سرچشمه می گیرد.
  • مقصد-ip/port. را IP و بندر روی که این قانون اعمال می شود.
  • (گزینه ها؛ گزینه ها؛ …). کلمات کلیدی تعیین کننده تنظیمات یا شرایط اضافی.

برای کسب اطلاعات بیشتر در مورد این پارامترها و گزینه های احتمالی، بررسی کنید مستندات قوانین Suricata.

نتیجه

Suricata یک سیستم IDS و IPS منبع باز است که به جلوگیری از ترافیک مخرب از نفوذ سرور شما برای بهبود امنیت سیستم کمک می کند. با شناسایی و حذف ترافیک مشکوک بر اساس کار می کند روی یک قانون.

در این مقاله پیکربندی Suricata را توضیح داده ایم روی اوبونتو 22.04 و یا بعد. پس از نصب توزیع و به دست آوردن root دسترسی به سرور خود از طریق SSH، مراحل زیر را دنبال کنید:

  1. بسته های اوبونتو را به روز کنید. را اجرا کنید آپدیت مناسب و ارتقاء مناسب دستور نصب آخرین نسخه تمام بسته ها.
  2. Suricata را نصب کنید. اگر جدیدترین نسخه Suricata را می خواهید، ابزار را از طریق APT یا مخزن OISF نصب کنید.
  3. Suricata را پیکربندی کنید. از ویرایشگر متن استفاده کنید نانو برای ویرایش suricata.yaml فایل و تنظیمات پیش فرض را تغییر دهید.
  4. رابط های شبکه را فعال کنید. روش ضبط بسته و پارامتر رابط شبکه را تغییر دهید تا Suricata بتواند ترافیک سرور شما را نظارت کند.
  5. Suricata را شروع کنید. را اجرا کنید systemctl دستور شروع Suricata به عنوان یک دیمون.
  6. استارت آپ Suricata را خودکار کنید. یک سوریکاتا ایجاد کنید سیستم شده فایل واحد خدمات و استفاده systemctl برای فعال کردن ابزار در هنگام راه اندازی سیستم.
  7. عملکرد Suricata را تست کنید. فایل پیکربندی Suricata را با استفاده از ویژگی تست داخلی اعتبارسنجی کنید و با ارسال یک درخواست HTTP نمونه، قوانین را بررسی کنید.
  8. قوانین Suricata را به روز کنید. اجرا کن سوریکاتا به روزرسانی با منبع فعال پرچم برای بازیابی یک مجموعه قوانین از یک منبع خارجی. برای اعمال و تأیید قوانین جدید، Suricata را به روز کنید.

امیدواریم این مقاله به شما کمک کند این ابزار را در VPS اوبونتو خود نصب کنید. اگر سوالی داشتید یا در حین نصب با مشکلی مواجه شدید process، در زیر برای ما نظر بگذارید.