Hootan Alghaspour
Hootan Alghaspour
خواندن ۳ دقیقه·۳ سال پیش

استراق سمع و تحلیل ترافیک در محیط میکروتیک

خروجی گرفتن raw از ترافیک شبکه و تحلیل آن در ابزارهای تحلیل ترافیک و/یا شناسایی حملات و ... یکی از نیازهای مهم شبکه های جدی امروزی است.

میکروتیک با قیمت مناسب و امکانات نسبتاً کامل و رابط کاربری خوب در سال های اخیر توانسته بازار خوبی کسب کند و در ایران هم بسیار پراستفاده است. هر چند از تقریباً 2 سال و خورده ای پیش همکاری خود با ایرانی ها را قطع کرد و حتی اشخاص مشکوک به ایرانی بودن را از consultant list حذف کرد و دیگر هم از ایرانی ها امتحان نمی گیرد و پشتیبانی نمی کند.

ما البته استفاده می کنیم! سیسکو و مایکروسافت و آمازون و ... هم رفتارشون با ما همین یا بدتر است!


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

روش اول : ذخیره فایل

در این روش با استفاده از Tools->Packet Sniffer و زبانه General ترافیک را بصورت pcap روی یک فایل ذخیره می کنید که در File list در دسترس است و میتوانید با انتقال آن به سیستمی دیگر با ابزارهایی مثل wireshark آن را باز کنید.

از زبانه Filter هم برای فیلتر کردن ترافیک ذخیره شده می توانید استفاده بفرمایید.

راهنمای Packet Sniffer اینجا هست.

این روش خیلی عملیاتی نیست، زیرا حتی در یک شبکه کوچک ترافیک چند ساعت ممکن است چندین گیگابایت باشد و ذخیره همه آن روی میکروتیک و بعداً انتقال آن به سیستمی دیگر برای تحلیل و ... اگر ممکن هم باشد کار عبثی است.

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

روش دوم : Port Mirroring

این روش در سوییچ ها بسیار متداول است و همانطور که از اسمش برمی آید یک کپی از ترافیک یک پورت عیناً روی پورتی دیگر ارسال می شود.

برای این منظور دستگاه شما باید Switch Chip داشته باشد و آن چیپ Port Mirroring را پشتیبانی کند.

لیست و امکانات Switch Chip میکروتیک را اینجا ببینید.

فرآیند کار بسیار ساده است، switch را باز کرده، روی سوییچ موجود و مدنظر دوبار کلیک می کنیم و مبداء و مقصد Port Mirroring را تعیین می کنیم.

دقت بفرمایید Mirror Target را روی اینترفیس Monitoring سیستم مثلاً SIEM خود تنظیم بفرمایید و از ارسال ترافیک روی Management Interface خودداری کنید.

این روش بسته به توان چیپ سوییچ و میزان ترافیک عبوری و ... بازدهی خوبی نسبت به سایر روش ها دارد اما محدودیت آن در mirror کردن یک اینترفیس روی یک اینترفیس دیگر است و در این مدل از این دستگاه که من دارم نمی توان ترافیک همه اینترفیس ها را روی یک اینترفیس فرستاد.

روش سوم : TZSP Streaming + Packet Sniffer

در حقیقت TaZmen Sniffer Protocol (TZSP) یک پروتکل برای encapsulation بقیه پروتکل ها و ارسال آن ها بصورت stream روی جایی دیگر است. یعنی ترافیک شبکه را داخل آن می ریزیم و به سیستم تحلیل ترافیک stream می کنیم و آنجا مثلاً ابزاری مثل wireshark می تواند tzsp را خوانده و ترافیک encapsulate شده داخل آن را پردازش کند و نمایش دهد.

بصورت پیش فرض TZSP روی UDP/37008 فعالیت می کند.

برای این روش کافیست Packet Sniffer را باز کرده و اینبار از زبانه دوم یا Streaming استفاده کنید و آدرس سیستمی که برای گوش کردن به tzsp تنظیم شده را وارد بفرمایید تا یک کپی از ترافیک را با پروتکل tzsp روی آن بفرستد.

در این مقاله بحث wireshark نیست اما اجازه بدهید 2 نکته را برای استفاده بهتر خدمتتان عرض کنم.

1- در بعضی مستندات اشاره شده Due to protocol conflicts بهتر است WCCP را از مسیر analyze -> enabled protocols در وایرشارک غیرفعال کنید.

2- می توانید با استفاده از Capture -> Capture Filters یک فیلتر جدید تعریف کنید و فقط همین tzsp را روی آن اینترفیس sniff کنید. (تصویر ذیل)

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

روش چهارم : TZSP Streaming + Mangle

در میکروتیک می توانید مستقیم و بدون استفاده از Packet Sniffer با استفاده از Mangle در Pre-Routing عمل sniff-tzsp انجام دهید. نسبت به روش قبلی باید در نظر بگیرید Filter ندارد و باید قوائد را در همان منگل تعریف کنید.

برای اینکار :

/ip firewall mangle add action=sniff-tzsp chain=prerouting sniff-target=[Wireshark IP] sniff-target-port=[Wireshark TZSP Listen Port]

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


mikrotikمیکروتیکwiresharksiemامنیت
هوتن القاس پور
شاید از این پست‌ها خوشتان بیاید