امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

نرم افزار Snort یکی از کاربردی ترین و پر استفاده ترین سیستم های تشخیص نفوذ (IDS) و جلوگیری از نفوذ (IPS) میباشد که به صورت Open Source و رایگان ارائه شده است و در سطح های سازمانی مورد استفاده قرار میگیرد. در این مقاله قصد داریم به بررسی نحوه راه اندازی Snort به صورت محیط گرافیکی و تحت وب با استفاده از Snowl Dashboard بپردازیم و ببینیم این ماجرا را چگونه میتوانیم بر روی Ubuntu Server پیاده سازی کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

رابط کاربری Snowl چیست؟

توجه داشته باشید که Snort به صورت پیش فرض رابط کاربری گرافیکی و یا تحت وب ندارد و تمام فرآيند های کاری Snort به صورت تحت ترمینال و در محیط دستوری به انجام میرسد اما از این بابت که Snort یک سیستم تشخیص و جلوگیری از نفوذ متن باز (Open Source) میباشد برای آن رابط های کاربری متعددی ایجاد شده است که میتوانند حالت Snort را از حالت دستوری به حالت گرافیکی و تحت وب تبدیل کنند که یکی از این رابط های کاربری یا همان User Interface ها همین بستر Snowl میباشد.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

مرحله اول - نصب یک Ubuntu Server

توجه داشته باشید که در ابتدا باید یک Ubuntu Server را از وب سایت Ubuntu دریافت کنید و بر روی یک ماشین مجازی راه اندازی و نصب کنید. که در این مقاله فرض بر این میگیریم که پیش نیازات یعنی داشتن یک ماشین مجازی و یا یک سیستم Ubuntu را در پیش رو دارید.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

مرحله دوم - شروع نصب Snort و Snowl

توجه داشته باشید که نصب Snowl بسیار ساده میباشد و فقط با یک دستور اینکار کاملا اتوماتیک انجام میشود اما نکته مهمی که در نصب Snowl وجود دارد این است که زمانی که ما درحال نصب Snowl هستیم به راحتی Snowl حتی Snort راهم برایمان اتوماتيک نصب و‌ راه اندازی میکند.
پس در موقعی که ما Snowl را نصب میکنیم‌ دیگر نیازی به نصب کردن Snort نداریم زیرا Snowl‌ تمامی موارد مورد نیازمان را نصب و راه اندازي میکند که شامل نصب Snort نیز میشود.

نصب Snowl و Snort از طریق Bash Script در Ubuntu Server

توجه کنید که شما با استفاده از وارد شدن به وب سایت Snowl و رفتن به سمت در قسمت Download به راحتی Bash Script و یا فایل اجرایی Snowl را برای سیستم مد نظرتان دریافت کنید اما اجرا و نصب از طریق Bash Script بسیار ساده تر و راحت تر میباشد. برای نصب در Ubuntu Server فقط کافیست از دستور زیر استفاده کنید:

wget https://snowl.io/download/snowl-install-ubuntu.sh && bash ./snowl-install-ubuntu.sh

نصب در سیستم های Debian:

wget https://snowl.io/download/snowl-install-debian.sh && bash ./snowl-install-debian.sh

نصب در سیستم های RedHat/Centos

curl -sL https://snowl.io/download/snowl-install-centos.sh > snowl-install-centos.sh && bash ./snowl-install-centos.sh

نصب در سیستم های Fedora

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 اطمینان حاصل کنید فقط کافیست دستور زیر را اجرا سازی کنید تا ورژن Snort نصب شده بر روی سیستم شما برایتان نمایش داده شود:

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

نکته: Snowl برای شما آخرین ورژن از Snort را نصب میکند.

اطمینان از نصب موفقیت آمیز Snowl

برای اینکه از نصب شدن موفقیت آمیز Snowl اطمینان حاصل کنید میتوانید از دستور زیر استفاده کنید و اگر خروجی مانند زیر داشتید متوجه میشوید که Snowl نیز کاملا نصب و فعال سازی شده است.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

نکته: دستور بالا جهت نمایش وضعیت یک‌ سرویس (فعال یا غیرفعال بودن) مورد استفاده قرار میگیرد که در اینجا سرویس Snowl نصب میباشد و در حالت Active قرار گرفته است.

مرحله سوم - شروع کار با Snowl

برای شروع کارکردن با Snowl ابتدا کافیست بعد از نصب و قرار گرفتن Snowl در حالت فعال (Active) وارد مرورگر خودتان شوید و آدرس IP سرور Ubuntu خودتان را به همراه پورت 5500 سرچ کنید و میبینید که صفحه ورود به Snowl برایتان نمایش داده میشود.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

برای وارد شدن به Snowl شما به راحتی با وارد کردن مقدار admin به عنوان نام کاربری و 123456 به عنوان رمز عبور میتوانید وارد محیط وب Snowl بشوید که به شکل زیر میباشد:

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

تغییر Theme در Snowl

حالا که به محیط گرافیکی Snowl دسترسی پیدا کردیم میتوانیم محیط Theme بستر Snowl را هم نیز تغییر بدهیم و برای اینکار کافیست وارد مسیر زیر بشویم و هر Theme که دلمان می‌خواهد را انتخاب کنیم:

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

بررسی وضعیت License در Snowl

برای بررسی میزان اعتبار استفاده از Snowl و وضعیت License آن کافیست که در مسیر زیر وارد License شویم و اطلاعات مربوط به وضعیت License را بررسی کنیم و ببینیم

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

اضافه کردن Threat Policy در Snort از طریق Snowl

توجه کنید که برای اینکه Snowl را اجرا سازی کنیم و از آن جهت تحلیل کردن ترافیک‌هایمان استفاده کنیم در ابتدا نیاز داریم یک Policy ایجاد کنیم که شامل Snort Rules های ما و‌ موارد دیگر میشود برای اضافه کردن Policy وارد مسیر زیر مانند تصویر میشویم و بر روی گزینه Add Policy کلیک میکنیم.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

پس از کلیک کردن بر روی گزینه Add Policy با همچین صفحه ای روبرو میشویم در این صفحه ابتدا در قسمت Name یک نام انتخاب میکنیم ( به عنوان‌ مثلا TOSINSO Policy مانند تصویر) و در قسمت Description به صورت اختیاری میتوانیم توضیحاتی را وارد کنیم.در موارد بعدی که باید آنهارا پر کنیم بخش Rule میباشد که به دو طریق ما میتوانیم Snort Rule های خودمان را وارد Snowl Threat Policy کنیم که روش اول با استفاده از Url میباشد و روش دوم به صورت دسترسی از طریق فایل های که بر روی سیستم میباشند.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI
در این مبحث ما از روش Url استفاده میکنیم و یک Url حاوی Snort Rule هارا به Snowl ارائه دادیم.

دریافت Snort Rule ها از وب سایت رسمی Snort

توجه داشته باشید که ممکن است برایتان سوال شود که Rule Url بالا را از کجا اوردیم؟ توجه کنید که به شکل خیلی راحتی شما با وارد شدن به وب سایت Snort در قسمت پایین صفحه اول این وب سایت یک بخش وجود دارد تحت عنوان Registered Rules که به راحتی با کپی کردن هر یک از URL های داخل این تب میتوانید آن را به قسمت Snort Rules اضافه کنید.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

نکته: برای دسترسی به این Snort Rule ها حتما باید یک‌ اکانت رایگان در وب سایت Snort ایجاد کنید در غیر این صورت توانایی دانلود و دریافت این لیست Url هارا ندارید.

اضافه کردن Blacklist IP Address در Threat Policy

توجه کنید که شما میتوانید یک لیست از آدرس های IP راهم برای Snort انتخاب کنید که در Blacklist قرار بگیرد که برای اینکار از Url پیش فرض درون Snorl میتوانید استفاده کنید.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

تنظیم زمان Auto Update در Threat Policy

توجه کنید که میتوانید یک بازه زمانی برای آپدیت خودکار موارد مربوط به Policy که ایجاد کردید تعیین کنید که این آپدیت خودکار و این بازه زمانی میتواند بین ساعت، روز، هفته و حتی ماه متفاوت باشد. برای مثال در اینجا ما تنظیم کرده ایم که هر روز در ساعت 7:30 آپدیت خودکار انجام شود.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

بعد از تنظیم موارد بالا بر روی گزینه Save کلیک میکنیم.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

اضافه کردن Sensor در Snort از طریق Snowl

پس از پیکربندی Snowl Policy حالا سراغ اضافه کردن یک Sensor جهت بکارگیری Policy ایجاد شده در Snowl میرویم برای اینکار وارد مسیر زیر میشویم و بر روی گزینه Add New Sensor کلیک‌ میکنیم و همچین تبی برایمان باز میشود.
در اینجا Sensor ایجاد شده را به شکل زیر پیکربندی میکنیم.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

  • بخش Name - در این بخش یک نام به دلخواه برای Sensor انتخاب میکنیم
  • بخش Description - در این بخش به صورت اختیاری توضیحاتی در رابطه با Sensor مینویسیم
  • بخش Address - در این بخش نیاز است که آدرس IP سرور Ubuntu خودمان پیدا کنیم و وارد کنیم که مانند زیر میتوانیم آدرس سرور خودمان را به دست بیاوریم.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

بخش IDS - این بخش را بر بروی Snort قرار میدهیم.

بخش Interface - در این بخش نام رابط کارت شبکه که Sensor قرار است بر روی آن اجرا شود را وارد میکنیم که به شکل زیر میتوانیم آن را به دست بیاوریم:

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

  • بخش Hostname/Network - در این بخش بايد Subnet شبکه خودمان را کاملا تعیین کنیم.
  • بخش Policy - در این بخش Policy که در Snowl ایجاد کردیم را اضافه میکنیم.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

  • مرحله آخر - بر روی گزینه Save کلیک میکنیم.

و در اینجا باید صبرکنید که State سنسور ما به حالت Running برود و در ابتدا در حالت Initial و بعد در حالت Waiting For Policy و... میرود تا به حالت Running برسد.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

تحریم بودن Snort در ایران

توجه داشته باشید زمانی که که به شکل بالا عمل کنید و قصد داشته باشید از Snort Rule ها به صورت مستقیم از طریق Url های Snort استفاده کنید قطعا اروری مانند ارور زیر به شما در بخش Threat Policy نمایش داده میشود و این ارور شامل این میشود که سیستم نتوانسته به Snort Rule ها دسترسی پیدا کند و توسط Snort بلاک شده است.

آموزش نصب Snort به همراه Snowl و پیکربندی Snort از طریق Snowl UI

برای رفع این مشکل دو راهکار وجود دارد:

  • راهکار اول - استفاده از یک Proxy در سیستم
  • راهکار دوم - دانلود مستقیم Snort Rule ها و Upload و ارائه دستی آنها به Snowl

امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

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

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات