خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

В مقاله قبلی ما نحوه اجرای نسخه پایدار Suricata را در اوبونتو 18.04 LTS توضیح داده ایم. راه اندازی IDS در یک گره و فعال کردن مجموعه قوانین رایگان بسیار ساده است. امروز نحوه محافظت از یک شبکه شرکتی را با استفاده از رایج ترین انواع حملات با استفاده از Suricata نصب شده بر روی سرور مجازی خواهیم فهمید. برای این کار به یک VDS در لینوکس با دو هسته محاسباتی نیاز داریم. مقدار RAM به بار بستگی دارد: 2 گیگابایت برای شخصی کافی است و 4 یا حتی 6 ممکن است برای کارهای جدی تر مورد نیاز باشد. مزیت ماشین مجازی توانایی آزمایش است: می توانید با حداقل پیکربندی شروع کنید و آن را افزایش دهید. منابع در صورت نیاز

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداریعکس: رویترز

اتصال شبکه ها

حذف IDS به یک ماشین مجازی در وهله اول ممکن است برای آزمایشات مورد نیاز باشد. اگر تا به حال با چنین راهکارهایی برخورد نکرده اید، نباید برای سفارش سخت افزار فیزیکی و تغییر معماری شبکه عجله کنید. برای تعیین نیازهای محاسباتی خود، بهتر است سیستم را به صورت ایمن و مقرون به صرفه اجرا کنید. درک این نکته مهم است که تمام ترافیک شرکت باید از طریق یک گره خارجی منتقل شود: برای اتصال یک شبکه محلی (یا چندین شبکه) به یک VDS با نصب IDS Suricata، می توانید از آن استفاده کنید. نرم - یک سرور VPN با پیکربندی آسان و چند پلتفرمی که رمزگذاری قوی را ارائه می دهد. اتصال اینترنت اداری ممکن است IP واقعی نداشته باشد، بنابراین بهتر است آن را روی VPS تنظیم کنید. هیچ بسته آماده ای در مخزن اوبونتو وجود ندارد، شما باید نرم افزار را از آن دانلود کنید محل پروژه، یا از یک مخزن خارجی در سرویس پرتاب (اگر به او اعتماد دارید):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

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

apt-cache search softether

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

ما به softther-vpnserver (سرور در پیکربندی آزمایشی روی VDS در حال اجرا است) و همچنین نرم افزارهای softther-vpncmd - خط فرمان برای پیکربندی آن نیاز داریم.

sudo apt-get install softether-vpnserver softether-vpncmd

یک ابزار خط فرمان ویژه برای پیکربندی سرور استفاده می شود:

sudo vpncmd

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

ما در مورد تنظیم جزئیات صحبت نخواهیم کرد: این روش بسیار ساده است، در نشریات متعدد به خوبی توضیح داده شده است و مستقیماً به موضوع مقاله مربوط نمی شود. به طور خلاصه، پس از شروع vpncmd، باید مورد 1 را انتخاب کنید تا به کنسول مدیریت سرور بروید. برای این کار باید نام localhost را وارد کنید و به جای وارد کردن نام هاب، اینتر را فشار دهید. رمز عبور administrator در کنسول با دستور serverpasswordset تنظیم می شود، هاب مجازی DEFAULT حذف می شود (فرمان hubdelete) و یک رمز جدید با نام Suricata_VPN ایجاد می شود و رمز آن نیز تنظیم می شود (فرمان hubcreate). در مرحله بعد باید با استفاده از دستور hub Suricata_VPN به کنسول مدیریتی هاب جدید بروید تا با استفاده از دستورات groupcreate و usercreate یک گروه و کاربر ایجاد کنید. رمز عبور کاربر با استفاده از userpasswordset تنظیم می شود.

SoftEther از دو حالت انتقال ترافیک پشتیبانی می کند: SecureNAT و Local Bridge. اولی یک فناوری اختصاصی برای ساخت یک شبکه خصوصی مجازی با NAT و DHCP خاص خود است. SecureNAT به TUN/TAP یا Netfilter یا سایر تنظیمات فایروال نیاز ندارد. مسیریابی بر هسته سیستم تأثیر نمی گذارد و تمام فرآیندها مجازی سازی می شوند و بدون در نظر گرفتن هایپروایزر مورد استفاده روی هر VPS / VDS کار می کنند. این منجر به افزایش بار CPU و سرعت کندتر در مقایسه با حالت Local Bridge می شود که هاب مجازی SoftEther را به یک آداپتور شبکه فیزیکی یا دستگاه TAP متصل می کند.

پیکربندی در این مورد پیچیده تر می شود، زیرا مسیریابی در سطح هسته با استفاده از Netfilter رخ می دهد. VDS ما بر روی Hyper-V ساخته شده است، بنابراین در مرحله آخر یک پل محلی ایجاد می کنیم و دستگاه TAP را با دستور bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes فعال می کنیم. پس از خروج از کنسول مدیریت هاب، یک رابط شبکه جدید در سیستم خواهیم دید که هنوز IP به آن اختصاص داده نشده است:

ifconfig

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

در مرحله بعد، در صورت غیر فعال بودن، باید مسیریابی بسته بین رابط ها (IP forward) را فعال کنید:

sudo nano /etc/sysctl.conf

خط زیر را از نظر خارج کنید:

net.ipv4.ip_forward = 1

تغییرات را در فایل ذخیره کنید، از ویرایشگر خارج شوید و با دستور زیر آنها را اعمال کنید:

sudo sysctl -p

در مرحله بعد، باید یک زیر شبکه برای شبکه مجازی با IPهای ساختگی تعریف کنیم (مثلاً 10.0.10.0/24) و یک آدرس به اینترفیس اختصاص دهیم:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

سپس باید قوانین Netfilter را بنویسید.

1. در صورت لزوم، بسته‌های ورودی را در پورت‌های شنیداری مجاز کنید (پروتکل اختصاصی SoftEther از HTTPS و پورت 443 استفاده می‌کند)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. NAT را از زیر شبکه 10.0.10.0/24 به IP سرور اصلی تنظیم کنید

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. اجازه عبور بسته ها از زیر شبکه 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. اجازه عبور بسته ها برای اتصالات از قبل ایجاد شده را بدهید

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

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

اگر می خواهید به طور خودکار IP به کلاینت ها بدهید، باید نوعی سرویس DHCP را برای پل محلی نیز نصب کنید. با این کار تنظیمات سرور تکمیل می شود و می توانید به سمت کلاینت ها بروید. SoftEther از پروتکل های زیادی پشتیبانی می کند که استفاده از آنها به قابلیت های تجهیزات LAN بستگی دارد.

netstat -ap |grep vpnserver

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

از آنجایی که روتر آزمایشی ما تحت اوبونتو نیز اجرا می شود، بیایید بسته های softther-vpnclient و softther-vpncmd را از یک مخزن خارجی روی آن نصب کنیم تا از پروتکل اختصاصی استفاده کنیم. شما باید کلاینت را اجرا کنید:

sudo vpnclient start

برای پیکربندی، از ابزار vpncmd استفاده کنید و localhost را به عنوان دستگاهی که vpnclient روی آن اجرا می‌شود، انتخاب کنید. تمام دستورات در کنسول ساخته می شوند: شما باید یک رابط مجازی (NicCreate) و یک حساب کاربری (AccountCreate) ایجاد کنید.

در برخی موارد، باید با استفاده از دستورات AccountAnonymousSet، AccountPasswordSet، AccountCertSet و AccountSecureCertSet، روش احراز هویت را مشخص کنید. از آنجایی که ما از DHCP استفاده نمی کنیم، آدرس آداپتور مجازی به صورت دستی تنظیم می شود.

علاوه بر این، باید ip forward را فعال کنیم (گزینه net.ipv4.ip_forward=1 در فایل /etc/sysctl.conf) و مسیرهای ثابت را پیکربندی کنیم. در صورت لزوم، در VDS با Suricata، می توانید انتقال پورت را برای استفاده از خدمات نصب شده در شبکه محلی پیکربندی کنید. بر این اساس، ادغام شبکه را می توان کامل در نظر گرفت.

پیکربندی پیشنهادی ما چیزی شبیه به این خواهد بود:

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

راه اندازی Suricata

В مقاله قبلی ما در مورد دو حالت کار IDS صحبت کردیم: از طریق صف NFQUEUE (حالت NFQ) و از طریق صفر کپی (حالت AF_PACKET). دومی نیاز به دو رابط دارد، اما سریعتر است - ما از آن استفاده خواهیم کرد. پارامتر به طور پیش فرض در /etc/default/suricata تنظیم شده است. همچنین باید بخش vars را در /etc/suricata/suricata.yaml ویرایش کنیم و زیرشبکه مجازی را در آنجا به عنوان خانه تنظیم کنیم.

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

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

systemctl restart suricata

راه حل آماده است، اکنون ممکن است لازم باشد آن را برای مقاومت در برابر اقدامات مخرب آزمایش کنید.

شبیه سازی حملات

چندین سناریو برای استفاده رزمی از یک سرویس IDS خارجی می تواند وجود داشته باشد:

محافظت در برابر حملات DDoS (هدف اصلی)

پیاده سازی چنین گزینه ای در داخل شبکه شرکت دشوار است، زیرا بسته ها برای تجزیه و تحلیل باید به رابط سیستمی که به اینترنت نگاه می کند برسند. حتی اگر IDS آنها را مسدود کند، ترافیک جعلی می تواند پیوند داده را از بین ببرد. برای جلوگیری از این امر، باید یک VPS با اتصال اینترنتی به اندازه کافی سازنده سفارش دهید که بتواند تمام ترافیک شبکه محلی و تمام ترافیک خارجی را منتقل کند. انجام این کار اغلب ساده تر و ارزان تر از گسترش کانال آفیس است. به عنوان جایگزین، شایان ذکر است که خدمات تخصصی برای محافظت در برابر DDoS. هزینه خدمات آنها با هزینه یک سرور مجازی قابل مقایسه است و نیازی به پیکربندی وقت گیر ندارد، اما معایبی نیز دارد - مشتری برای پول خود فقط حفاظت DDoS دریافت می کند، در حالی که IDS خود را می توان به صورت شما پیکربندی کرد. پسندیدن.

محافظت در برابر حملات خارجی انواع دیگر

Suricata می‌تواند با تلاش‌ها برای بهره‌برداری از آسیب‌پذیری‌های مختلف در خدمات شبکه شرکتی قابل دسترسی از اینترنت (سرور ایمیل، وب سرور و برنامه‌های کاربردی وب و غیره) مقابله کند. معمولاً برای این کار IDS بعد از دستگاه های مرزی در داخل LAN نصب می شود، اما خارج کردن آن حق وجود دارد.

محافظت از خودی ها

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

برای شروع، آزمایش دیگری برای حمله به VPS ایجاد می کنیم و در روتر شبکه محلی آپاچی را با تنظیمات پیش فرض بالا می بریم و پس از آن پورت 80 را از سرور IDS به آن فوروارد می کنیم. در مرحله بعد، یک حمله DDoS از یک میزبان مهاجم را شبیه سازی می کنیم. برای انجام این کار، از GitHub دانلود کنید، یک برنامه کوچک xerxes را روی گره مهاجم کامپایل و اجرا کنید (ممکن است نیاز به نصب بسته gcc داشته باشید):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

نتیجه کار او به شرح زیر بود:

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

Suricata شرور را قطع می کند، و صفحه آپاچی به طور پیش فرض باز می شود، علی رغم حمله بداهه ما و کانال نسبتاً مرده شبکه "office" (در واقع خانه). برای کارهای جدی تر، باید استفاده کنید چارچوب Metasploit. این برای تست نفوذ طراحی شده است و به شما امکان می دهد انواع حملات را شبیه سازی کنید. دستورالعمل نصب و راه اندازی در دسترس است در وب سایت پروژه پس از نصب، به روز رسانی لازم است:

sudo msfupdate

برای تست، msfconsole را اجرا کنید.

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

متأسفانه، آخرین نسخه‌های چارچوب فاقد قابلیت کرک خودکار هستند، بنابراین اکسپلویت‌ها باید به صورت دستی مرتب شوند و با استفاده از دستور use اجرا شوند. برای شروع، ارزش دارد که پورت های باز روی ماشین مورد حمله را تعیین کنید، به عنوان مثال، با استفاده از nmap (در مورد ما، به طور کامل با netstat در میزبان مورد حمله جایگزین می شود)، و سپس مناسب را انتخاب و استفاده کنید. ماژول های متاسپلویت

ابزارهای دیگری برای آزمایش انعطاف پذیری IDS در برابر حملات، از جمله خدمات آنلاین وجود دارد. به خاطر کنجکاوی، می توانید تست استرس را با استفاده از نسخه آزمایشی ترتیب دهید فشار دهنده IP. برای بررسی واکنش به اقدامات مزاحمان داخلی، ارزش نصب ابزارهای ویژه را بر روی یکی از ماشین های موجود در شبکه محلی دارد. گزینه های زیادی وجود دارد و هر از گاهی باید آنها را نه تنها در سایت آزمایشی، بلکه در سیستم های کاری نیز اعمال کرد، فقط این داستان کاملاً متفاوت است.

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

خروپف یا Suricata. بخش 3: حفاظت از شبکه اداری

منبع: www.habr.com

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