خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

طبق آمار، حجم ترافیک شبکه هر سال حدود 50 درصد افزایش می یابد. این منجر به افزایش بار روی تجهیزات و به ویژه افزایش الزامات عملکرد IDS/IPS می شود. شما می توانید سخت افزار تخصصی گران قیمت بخرید، اما یک گزینه ارزان تر وجود دارد - پیاده سازی یکی از سیستم های منبع باز. بسیاری از مدیران تازه کار فکر می کنند که نصب و پیکربندی یک IPS رایگان بسیار دشوار است. در مورد Suricata، این کاملا درست نیست - می توانید آن را نصب کنید و با مجموعه ای از قوانین رایگان در چند دقیقه شروع به دفع حملات استاندارد کنید.

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata
خروپف یا Suricata. بخش 1: انتخاب یک IDS/IPS رایگان برای محافظت از شبکه شرکتی شما

چرا به یک IPS باز دیگر نیاز داریم؟

Snort که مدتها به عنوان استاندارد در نظر گرفته می شد، از اواخر دهه نود در حال توسعه بود، بنابراین در ابتدا تک رشته ای بود. در طول سال ها، تمام ویژگی های مدرن مانند پشتیبانی IPv6، توانایی تجزیه و تحلیل پروتکل های سطح برنامه یا یک ماژول دسترسی به داده های جهانی را به دست آورده است.

موتور اصلی Snort 2.X یاد گرفت که با چندین هسته کار کند، اما تک رشته ای باقی ماند و بنابراین نمی تواند به طور مطلوب از پلتفرم های سخت افزاری مدرن استفاده کند.

این مشکل در نسخه سوم سیستم حل شد، اما آماده سازی آن به قدری طول کشید که Suricata که از ابتدا نوشته شده بود، توانست در بازار ظاهر شود. در سال 2009، دقیقاً به عنوان یک جایگزین چند رشته ای برای Snort که دارای عملکردهای IPS خارج از جعبه بود، شروع به توسعه کرد. کد تحت مجوز GPLv2 توزیع می شود، اما شرکای مالی پروژه به نسخه بسته موتور دسترسی دارند. برخی از مشکلات مقیاس پذیری در اولین نسخه های سیستم به وجود آمد، اما نسبتاً سریع حل شدند.

چرا سوریکاتا؟

Suricata چندین ماژول (مانند Snort) دارد: ضبط، اکتساب، رمزگشایی، تشخیص و خروجی. به طور پیش‌فرض، ترافیک ضبط‌شده قبل از رمزگشایی در یک رشته پیش می‌رود، اگرچه این کار سیستم را بیشتر بارگذاری می‌کند. در صورت لزوم، رشته ها را می توان در تنظیمات تقسیم کرد و بین پردازنده ها توزیع کرد - Suricata برای سخت افزار خاص به خوبی بهینه شده است، اگرچه این دیگر سطح HOWTO برای مبتدیان نیست. همچنین شایان ذکر است که Suricata دارای ابزارهای پیشرفته بازرسی HTTP بر اساس کتابخانه HTP است. آنها همچنین می توانند برای ثبت ترافیک بدون شناسایی استفاده شوند. این سیستم همچنین از رمزگشایی IPv6، از جمله تونل های IPv4-in-IPv6، IPv6-in-IPv6 و غیره پشتیبانی می کند.

برای رهگیری ترافیک می‌توان از رابط‌های مختلفی استفاده کرد (NFQueue، IPFRing، LibPcap، IPFW، AF_PACKET، PF_RING)، و در حالت سوکت یونیکس می‌توانید به‌طور خودکار فایل‌های PCAP گرفته‌شده توسط sniffer دیگر را تجزیه و تحلیل کنید. علاوه بر این، معماری مدولار Suricata اتصال عناصر جدید برای ضبط، رمزگشایی، تجزیه و تحلیل و پردازش بسته های شبکه را آسان می کند. همچنین ذکر این نکته ضروری است که در Suricata، ترافیک با استفاده از فیلتر استاندارد سیستم عامل مسدود می شود. در گنو/لینوکس، دو گزینه برای عملکرد IPS در دسترس است: از طریق صف NFQUEUE (حالت NFQ) و از طریق صفر کپی (حالت AF_PACKET). در حالت اول، بسته ای که وارد iptable ها می شود به صف NFQUEUE ارسال می شود، جایی که می توان آن را در سطح کاربر پردازش کرد. Suricata آن را طبق قوانین خودش اجرا می کند و یکی از سه حکم NF_ACCEPT، NF_DROP و NF_REPEAT را صادر می کند. دو مورد اول به خودی خود توضیحی هستند، اما آخرین مورد به شما امکان می دهد بسته ها را علامت گذاری کنید و آنها را به ابتدای جدول iptables فعلی ارسال کنید. حالت AF_PACKET سریعتر است، اما تعدادی محدودیت بر روی سیستم اعمال می کند: باید دو رابط شبکه داشته باشد و به عنوان یک دروازه کار کند. بسته مسدود شده به سادگی به رابط دوم ارسال نمی شود.

یکی از ویژگی های مهم Suricata امکان استفاده از توسعه ها برای Snort است. مدیر به طور خاص به مجموعه قوانین Sourcefire VRT و OpenSource Emerging Threats و همچنین تجاری Emerging Threats Pro دسترسی دارد. خروجی یکپارچه را می توان با استفاده از backend های محبوب تجزیه و تحلیل کرد و خروجی PCAP و Syslog نیز پشتیبانی می شود. تنظیمات و قوانین سیستم در فایل‌های YAML ذخیره می‌شوند که خواندن آن‌ها آسان است و به‌طور خودکار پردازش می‌شوند. موتور Suricata بسیاری از پروتکل‌ها را تشخیص می‌دهد، بنابراین قوانین نیازی به اتصال به شماره پورت ندارند. علاوه بر این، مفهوم بیت جریان به طور فعال در قوانین Suricata تمرین می شود. برای ردیابی تحریک، از متغیرهای جلسه استفاده می شود که به شما امکان می دهد شمارنده ها و پرچم های مختلفی ایجاد و اعمال کنید. بسیاری از IDS ها اتصالات TCP مختلف را به عنوان موجودیت های جداگانه در نظر می گیرند و ممکن است ارتباط بین آنها را برای نشان دادن شروع یک حمله نبینند. Suricata سعی می کند کل تصویر را ببیند و در بسیاری از موارد ترافیک مخرب توزیع شده در اتصالات مختلف را تشخیص می دهد. می‌توانیم برای مدت طولانی در مورد مزایای آن صحبت کنیم؛ بهتر است به نصب و پیکربندی برویم.

چگونه نصب کنیم؟

ما Suricata را روی یک سرور مجازی با Ubuntu 18.04 LTS نصب خواهیم کرد. تمام دستورات باید به عنوان superuser (root) اجرا شوند. امن ترین گزینه این است که از طریق SSH به عنوان یک کاربر استاندارد به سرور متصل شوید و سپس از ابزار sudo برای افزایش امتیازات استفاده کنید. ابتدا باید بسته های مورد نیاز خود را نصب کنیم:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

اتصال یک مخزن خارجی:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

آخرین نسخه پایدار Suricata را نصب کنید:

sudo apt-get install suricata

در صورت لزوم، نام فایل های پیکربندی را ویرایش کنید و eth0 پیش فرض را با نام واقعی رابط خارجی سرور جایگزین کنید. تنظیمات پیش‌فرض در فایل /etc/default/suricata و تنظیمات سفارشی در /etc/suricata/suricata.yaml ذخیره می‌شوند. پیکربندی IDS بیشتر به ویرایش این فایل پیکربندی محدود می شود. پارامترهای زیادی دارد که از نظر نام و هدف، با آنالوگ های آنها از Snort مطابقت دارد. با این حال، نحو کاملاً متفاوت است، اما خواندن فایل بسیار ساده‌تر از پیکربندی‌های Snort است، و همچنین به خوبی توضیح داده می‌شود.

sudo nano /etc/default/suricata

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

и

sudo nano /etc/suricata/suricata.yaml

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

توجه! قبل از شروع، باید مقادیر متغیرها را از قسمت vars بررسی کنید.

برای تکمیل راه‌اندازی، باید suricata-update را برای به‌روزرسانی و دانلود قوانین نصب کنید. انجام این کار بسیار آسان است:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

سپس باید دستور suricata-update را اجرا کنیم تا مجموعه قوانین Emerging Threats Open را نصب کنیم:

sudo suricata-update

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

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

sudo suricata-update list-sources

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

به روز رسانی منابع قانون:

sudo suricata-update update-sources

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

ما دوباره به منابع به روز شده نگاه می کنیم:

sudo suricata-update list-sources

در صورت لزوم، می‌توانید منابع رایگان موجود را اضافه کنید:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

پس از این، باید دوباره قوانین را به روز کنید:

sudo suricata-update

در این مرحله، نصب و پیکربندی اولیه Suricata در اوبونتو 18.04 LTS را می توان کامل در نظر گرفت. سپس سرگرمی شروع می شود: در مقاله بعدی یک سرور مجازی را از طریق VPN به شبکه اداری متصل می کنیم و شروع به تجزیه و تحلیل تمام ترافیک ورودی و خروجی می کنیم. ما توجه ویژه ای به مسدود کردن حملات DDoS، فعالیت بدافزارها و تلاش برای سوء استفاده از آسیب پذیری ها در سرویس های قابل دسترسی از شبکه های عمومی خواهیم داشت. برای وضوح، حملات از رایج ترین انواع شبیه سازی خواهد شد.

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

خروپف یا Suricata. قسمت 2: نصب و راه اندازی اولیه Suricata

منبع: www.habr.com

اضافه کردن نظر