نرم افزار Snort یکی از کاربردی ترین و پر استفاده ترین سیستم های تشخیص نفوذ (IDS) و جلوگیری از نفوذ (IPS) میباشد که به صورت Open Source و رایگان ارائه شده است و در سطح های سازمانی مورد استفاده قرار میگیرد. در این مقاله قصد داریم به بررسی نحوه راه اندازی Snort به صورت محیط گرافیکی و تحت وب با استفاده از Snowl Dashboard بپردازیم و ببینیم این ماجرا را چگونه میتوانیم بر روی Ubuntu Server پیاده سازی کنیم.
توجه داشته باشید که Snort به صورت پیش فرض رابط کاربری گرافیکی و یا تحت وب ندارد و تمام فرآيند های کاری Snort به صورت تحت ترمینال و در محیط دستوری به انجام میرسد اما از این بابت که Snort یک سیستم تشخیص و جلوگیری از نفوذ متن باز (Open Source) میباشد برای آن رابط های کاربری متعددی ایجاد شده است که میتوانند حالت Snort را از حالت دستوری به حالت گرافیکی و تحت وب تبدیل کنند که یکی از این رابط های کاربری یا همان User Interface ها همین بستر Snowl میباشد.
توجه داشته باشید که در ابتدا باید یک Ubuntu Server را از وب سایت Ubuntu دریافت کنید و بر روی یک ماشین مجازی راه اندازی و نصب کنید. که در این مقاله فرض بر این میگیریم که پیش نیازات یعنی داشتن یک ماشین مجازی و یا یک سیستم Ubuntu را در پیش رو دارید.
توجه داشته باشید که نصب Snowl بسیار ساده میباشد و فقط با یک دستور اینکار کاملا اتوماتیک انجام میشود اما نکته مهمی که در نصب Snowl وجود دارد این است که زمانی که ما درحال نصب Snowl هستیم به راحتی Snowl حتی Snort راهم برایمان اتوماتيک نصب و راه اندازی میکند.
پس در موقعی که ما Snowl را نصب میکنیم دیگر نیازی به نصب کردن Snort نداریم زیرا Snowl تمامی موارد مورد نیازمان را نصب و راه اندازي میکند که شامل نصب Snort نیز میشود.
توجه کنید که شما با استفاده از وارد شدن به وب سایت Snowl و رفتن به سمت در قسمت Download به راحتی Bash Script و یا فایل اجرایی Snowl را برای سیستم مد نظرتان دریافت کنید اما اجرا و نصب از طریق Bash Script بسیار ساده تر و راحت تر میباشد. برای نصب در Ubuntu Server فقط کافیست از دستور زیر استفاده کنید:
wget https://snowl.io/download/snowl-install-ubuntu.sh && bash ./snowl-install-ubuntu.sh
wget https://snowl.io/download/snowl-install-debian.sh && bash ./snowl-install-debian.sh
curl -sL https://snowl.io/download/snowl-install-centos.sh > snowl-install-centos.sh && bash ./snowl-install-centos.sh
curl -sL https://snowl.io/download/snowl-install-fedora.sh > snowl-install-fedora.sh && bash ./snowl-install-fedora.sh
در رابطه با نصب Snowl از طریق Bash Script دو نکته قابل اهمیت وجود دارد
نکته اول - حتما دستور را با دسترسی root اجرا سازی کنید.
نکته دوم - در زمانی که از شما دوسوال زیر پرسیده شد عبارت y را وارد کنید.
Install Snowl? Install Snowl-sensor?
برای اینکه از نصب شدن کامل Snort اطمینان حاصل کنید فقط کافیست دستور زیر را اجرا سازی کنید تا ورژن Snort نصب شده بر روی سیستم شما برایتان نمایش داده شود:
نکته: Snowl برای شما آخرین ورژن از Snort را نصب میکند.
برای اینکه از نصب شدن موفقیت آمیز Snowl اطمینان حاصل کنید میتوانید از دستور زیر استفاده کنید و اگر خروجی مانند زیر داشتید متوجه میشوید که Snowl نیز کاملا نصب و فعال سازی شده است.
نکته: دستور بالا جهت نمایش وضعیت یک سرویس (فعال یا غیرفعال بودن) مورد استفاده قرار میگیرد که در اینجا سرویس Snowl نصب میباشد و در حالت Active قرار گرفته است.
برای شروع کارکردن با Snowl ابتدا کافیست بعد از نصب و قرار گرفتن Snowl در حالت فعال (Active) وارد مرورگر خودتان شوید و آدرس IP سرور Ubuntu خودتان را به همراه پورت 5500 سرچ کنید و میبینید که صفحه ورود به Snowl برایتان نمایش داده میشود.
برای وارد شدن به Snowl شما به راحتی با وارد کردن مقدار admin به عنوان نام کاربری و 123456 به عنوان رمز عبور میتوانید وارد محیط وب Snowl بشوید که به شکل زیر میباشد:
حالا که به محیط گرافیکی Snowl دسترسی پیدا کردیم میتوانیم محیط Theme بستر Snowl را هم نیز تغییر بدهیم و برای اینکار کافیست وارد مسیر زیر بشویم و هر Theme که دلمان میخواهد را انتخاب کنیم:
برای بررسی میزان اعتبار استفاده از Snowl و وضعیت License آن کافیست که در مسیر زیر وارد License شویم و اطلاعات مربوط به وضعیت License را بررسی کنیم و ببینیم
توجه کنید که برای اینکه Snowl را اجرا سازی کنیم و از آن جهت تحلیل کردن ترافیکهایمان استفاده کنیم در ابتدا نیاز داریم یک Policy ایجاد کنیم که شامل Snort Rules های ما و موارد دیگر میشود برای اضافه کردن Policy وارد مسیر زیر مانند تصویر میشویم و بر روی گزینه Add Policy کلیک میکنیم.
پس از کلیک کردن بر روی گزینه Add Policy با همچین صفحه ای روبرو میشویم در این صفحه ابتدا در قسمت Name یک نام انتخاب میکنیم ( به عنوان مثلا TOSINSO Policy مانند تصویر) و در قسمت Description به صورت اختیاری میتوانیم توضیحاتی را وارد کنیم.در موارد بعدی که باید آنهارا پر کنیم بخش Rule میباشد که به دو طریق ما میتوانیم Snort Rule های خودمان را وارد Snowl Threat Policy کنیم که روش اول با استفاده از Url میباشد و روش دوم به صورت دسترسی از طریق فایل های که بر روی سیستم میباشند.
در این مبحث ما از روش Url استفاده میکنیم و یک Url حاوی Snort Rule هارا به Snowl ارائه دادیم.
توجه داشته باشید که ممکن است برایتان سوال شود که Rule Url بالا را از کجا اوردیم؟ توجه کنید که به شکل خیلی راحتی شما با وارد شدن به وب سایت Snort در قسمت پایین صفحه اول این وب سایت یک بخش وجود دارد تحت عنوان Registered Rules که به راحتی با کپی کردن هر یک از URL های داخل این تب میتوانید آن را به قسمت Snort Rules اضافه کنید.
نکته: برای دسترسی به این Snort Rule ها حتما باید یک اکانت رایگان در وب سایت Snort ایجاد کنید در غیر این صورت توانایی دانلود و دریافت این لیست Url هارا ندارید.
توجه کنید که شما میتوانید یک لیست از آدرس های IP راهم برای Snort انتخاب کنید که در Blacklist قرار بگیرد که برای اینکار از Url پیش فرض درون Snorl میتوانید استفاده کنید.
بیشتر بخوانید: حمله DNS Exfiltration چیست و چگونه پیاده سازی میشود؟
توجه کنید که میتوانید یک بازه زمانی برای آپدیت خودکار موارد مربوط به Policy که ایجاد کردید تعیین کنید که این آپدیت خودکار و این بازه زمانی میتواند بین ساعت، روز، هفته و حتی ماه متفاوت باشد. برای مثال در اینجا ما تنظیم کرده ایم که هر روز در ساعت 7:30 آپدیت خودکار انجام شود.
بعد از تنظیم موارد بالا بر روی گزینه Save کلیک میکنیم.
پس از پیکربندی Snowl Policy حالا سراغ اضافه کردن یک Sensor جهت بکارگیری Policy ایجاد شده در Snowl میرویم برای اینکار وارد مسیر زیر میشویم و بر روی گزینه Add New Sensor کلیک میکنیم و همچین تبی برایمان باز میشود.
در اینجا Sensor ایجاد شده را به شکل زیر پیکربندی میکنیم.
بخش IDS - این بخش را بر بروی Snort قرار میدهیم.
بخش Interface - در این بخش نام رابط کارت شبکه که Sensor قرار است بر روی آن اجرا شود را وارد میکنیم که به شکل زیر میتوانیم آن را به دست بیاوریم:
و در اینجا باید صبرکنید که State سنسور ما به حالت Running برود و در ابتدا در حالت Initial و بعد در حالت Waiting For Policy و... میرود تا به حالت Running برسد.
توجه داشته باشید زمانی که که به شکل بالا عمل کنید و قصد داشته باشید از Snort Rule ها به صورت مستقیم از طریق Url های Snort استفاده کنید قطعا اروری مانند ارور زیر به شما در بخش Threat Policy نمایش داده میشود و این ارور شامل این میشود که سیستم نتوانسته به Snort Rule ها دسترسی پیدا کند و توسط Snort بلاک شده است.
برای رفع این مشکل دو راهکار وجود دارد:
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو
متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider میباشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود