Snort
سیستم تشخیص و جلوگیری از نفوذ Snort
Snort در سال 2001 توسط آقای Martin Roesch مالک شرکت Sourcefire طراحی و به بازار عرضه شد. این سیستم در واقع اولین بار به عنوان یک سیستم متن باز پا به بازار امنیت گذاشت. با به بلوغ رسیدن شرکت Sourcefire، این شرکت سیسکو بود که در سال 2013 با خرید این شرکت نسخه تجاری شده محصول را تحت عنوان Firepower به بازار عرضه کرد.
به طور کلی میتوان گفت Snort یک Sniffer ترافیک شبکه میباشد که به صورت بلادرنگ ترافیکهای شبکه را مانیتور و بستههای شبکه را به طور دقیق و براساس یکسری قوانین بررسی میکند. این سیستم قادر است در صورت شناسایی محتواهای غیرمجاز یا رفتارهای مشکوک از ورود آنها به شبکه جلوگیری نماید.
در حال حاضر Snort نسخه بروز شده خود یعنی Snort3 را ارائه کرده است که در اصل یک طراحی جدیدتر از Snort2.x ولی با عملکردی خارق العاده در قابلیتهایی مانند Troughput، قدرت تشخیص بالا، ویژگی توسعهای و مقیاسپذیری بالا میباشد.
قابلیتهای کلیدی Snort3
- پشتیبانی از پردازش چند نخی بستههای شبکه (Multi threads)
- استفاده از جدول تنظیمات و ویژگیهای اشتراکی
- شناسایی اتوماتیک سرویسهای بدون پورت
- طراحی ماژولار
- فریم ورک مبتنی بر پلاگین و دارا بودن بالای 200 پلاگین
- پشتبانی از Sticky bufferها در داخل Ruleها
- ایجاد مستندات به صورت اتوماتیک
- پشتبانی بهتر از Cross Platform
اکثرا از Snort برای پردازشهای پیچیده و عمیق بر روی بستههای شبکه استفاده میشود.
سه مد مختلف Snort برای آنالیز بستههای شبکه
Sniffer
Snort دراین مد ترافیک شبکه را با در در نظر گرفتن فیلترهای تعریف شده، به صورت Streamهای پیوسته بر روی کنسول نمایش میدهد.
IranshellSnort:~$ snort -v
این دستور فقط هدر مربوط به بسته IP از جمله ICMP/TCP/UDP را نشان میهد.
IranshellSnort:~$ snort -vd
این دستور علاوه بر هدر بسته IP، دیتای مربوط به بسته را نیز نشان میدهد.
IranshellSnort:~$ snort -vde
این دستور علاوه بر اطلاعات قبلی اطلاعات لایه دیتا لینک مربوط به بسته را نیز نمایش میدهد.
Packet logger
در این مد اسنورت ترافیک شبکه را به صورت لاگ بر روی دیسک ذخیره میکند.
IranshellSnort:~$ snort -dve -l /var/log/snort
برای لاگ کردن بستههای مربوط به یک Subnet خاص از فلگ h به همراه آدرس شبکه میتوان استفاده کرد. در شبکههای پر سرعت با استفاده از فلگ b برای حفظ کارایی شبکه، میتوان بستهها را در فرمت باینری که همان فرمت TCPdump میباشد، ذخیره کرد.
IranshellSnort:~$ snort -b -l /var/log/snort
برای خواندن ترافیک dump شده توسط Snort از فلگ r استفاده میکنیم. در این صورت میتوان با استفاده از فلگهایی اطلاعات موردنیاز از بسته را برای نمایش مشخص کرد.
IranshellSnort:~$ sonrt -r /var/log/snort/snort.log icmp -dve
سیستم تشخیص نفوذ شبکه (NIDS)
کار اصلی Snort در این مد تشخیص و آنالیز بستههای شبکه با استفاده از سیاستهای تعرف شده میباشد. در این مد ترافیکهایی لاگ میشوند که با سیاستهای تعریف شده تطابق داشته باشند.
IranshellSnort:~$ snort -c /etec/snort/snort.conf -l /var/log/snort -d
این دستور Snort را در پایهای ترین مد NIDS اجرا و بستههایی را که باعث فعال شدن رولهای تعریف شده در فایل کانفیگ Snort شوند را در دیسک لاگ خواهد کرد.
optionهای مربوط به مد NIDS
-A fast
در این مد Snort هشدارها را در فرمتی ساده شامل Timestamp، پیام مربوط به هشدار(alert msg) و آدرس مبدا و مقصد شامل آدرس پورت و IP در فایل هشدارها مینویسد.
-A full
این فرمت default اسنورت میباشد که در صورت عدم تعریف هیچ optionای اسنورت به صورت اتوماتیک از این مد استفاده میشود. این مد علاوه بر optionهای مد fast شامل موراد زیر نیز میباشد.
- TTL
- هدر بسته IP و طول هدر IP
- ICMP type
- Service
- Sequence number
-A unsock
در این مد اسنورت هشدارهای تولید شده را به یک سوکت یونیکسی ارسال میکند که میتواند توسط یک برنامه شنود شود.
-A none
در این مد تولید هشدار غیرفعال میشود.
-A concole
در این مد اسنورت هشدارهای تولید شده را در فرمت fast-style بر روی کنسول نمایش میدهد.
-A cmg
در این مد اسنورت هشدارهایی با فرمت full و بدون ذخیره آنها در لاگ تولید میکند.
برای ارسال لاگها به سمت Syslog server از فلگ s استفاده میشود.
IranshellSnort:~$ snort -c /etc/snort/snort.conf -l /var/log/snort -s
دیدگاهتان را بنویسید