کتاب اسپلانک Splunk

کتاب آشنایی با اسپلانک توسط انتشارات ناقوس به بازار عرضه شد.

 

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

در ادامه کتاب بحث فناوری های نوین در SOC نظیر Threat Hunting  نیز مورد بررسی قرار میگیرند

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

 

این کتاب توسط استاد روزبه نوروزی دارنده مدرک عالی امنیت اطلاعات CISSP  و مدرک حرفه ای مدیریت پروژه PMP و 8 مدرک دیگر بین المللی امنیت اطلاعات و سرکار خانم مهندس یاسمین علوی زنگ دانش آموخته کارشناسی ارشد مهندس فناوری اطلاعات ترجمه و تالیف شده است .

مهندس روزبه نوروزی، مدیر و موسس گروه آموزشی پژوهشی روزبه نیز میباشند.

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

 

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

برای تهیه کتاب اسپلانک بصورت آنلاین و با تخفیف به آدرس زیر مراجعه کنید :

http://www.naghoospress.ir/bookview.aspx?bookid=1487000

 کتاب:

 شناخت و استفاده ازSplunk SIEMروشهاي نوين كشف نفوذ,مديريت حوادث امنيتي,وUSECASEها

 گروه آموزشی پژوهشی روزبه www.roozbehgroup.com

آکادمی آموزش وزبه www.roozbeh.academy

معماری Splunk

معماری اسپلانک

سوالات مرتبط با پرفرمنس سنجی در اسپلانک

Performance questionnaire
1- آیا نیاز دارید روزانه بیش از 2GB ایندکس کنید ؟

2-آیا بایستی بیش از دو کاربر همزمان به ایندکسر وارد شوند ؟

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

http://docs.splunk.com/Documentation/Splunk/7.1.2/Capacity/Referencehardware#Reference_machine_for_distributed_deployments

اگر جواب به یکی از سوالات مثبت است آنگاه به سوال سوم بروید :
3- آیا نیاز به ایندکس کردن بیش از 300GB در روز دارید؟
4- آیا نیاز به 4 کاربر همزمان دارید؟

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

اگر پاسخ مثبت است ماشین های ایندکس و جستجو را افزایش دهید .

آیا نیاز دارید که فضای ذخیره سازی شمابیش از 600GB باشد؟
اگر جواب منفی است یک ماشین تک اینستنسه با کانفیگ رفرانس کافی است . اما برای محاسبه فضای مورد نیاز لینک زیر را ببینید :

How Splunk Enterprise calculates disk storage

اگر بیش از این مقدار است تفکیک ماشین ها لازم است .

آیا لازم است app امنیت را روی آن اجرا کنید ؟ یا app ای که بیش از 8 جستجوهای ذخیره شده را اجر کند ؟

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

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

 

انواع جستجو ها در اسپلانک

 Raw event searches and transforming searches

1- جستجوی داده های خام 

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

checking error codes, correlating events, investigating security issues, and analyzing failures.

این جستجو ها الزاما کامندنیستد (غیر از خود Search)

2-transforming searches

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

 getting a daily count of error events, counting the number of times a specific user has logged in, or calculating the 95th percentile of field values

اگر از زاویه ای دیگر به جستجو ها نگاه کنیم دو نوع جستجوی دیگر هم خواهیم دید :

Sparse searches:

در این نوع جستجو دنبال یک رویدا خاص که بصورت کم اتفاق افتاده است میگردیم .چون سوزنی در انبار کاه 

مثال:searching for a specific and unique IP address or error code

Dense searches:

پاسخ این جستجو گزارشی از داده های زیاد است . مثال 
 counting the number of errors that occurred or finding all events from a specific host

 

پرفرمنس اسپلانک به چه میزان است ؟

اصولا در سیستم های SIEM  بحث پرفرمنس یکی از اصول مطرح میباشد. در خصوص اسپلانک بنا بر گفته سایت Splunk در ایندکسر بالغ بر 20 مگابایت در ثانیه توان دریافت داده است بعبارتی بالای 1.7 ترابایت در روز. البته این میزان برای یک سرور بوده است و اگر فعالیت های دیگیر این سرور انجام دهد این عدد کاهش میابد .

از یک نظر دیگر نگاه میکنیم :

هنگامی که داده ها به ایندکسر وارد میشوند ، ایندکس شده و فضایی را در ایندکسر اشعال میکنند و  با پر شدن دیسک ، ایندکسر برای یافتن محل بعدی برای نوشتن داده های ایندکس شده باید تلاش کند .

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

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

چطور جستجوی بهینه در اسپلانک بنویسیم ؟

حجم داده ها در اسپلانک میتواد بسیار سنگین باشد از سوی دیگر تحلیل گران امنیت خصوصا در مرکز عملیات امنیت نیاز دارند هرچه سریعتر خروجی جستجو ها و کوئری های خود را ببینند .

لذا یک کوئری نوشتن یا همان Search  بصورت بهینه یک هنر است که افراد طی زمان و با تجربه بدست می آورند . این موضوع است که تفاوت متخصصان اسپلانک را مشخص میسازد .

تخصص نوشتن جستجو خودش یک مهارت است که بایستی به افراد خاصی واگذار گردد و گرنه اجازه دهیم هرکس Search  بنویسد دیگر هرچقدر هم روی پرفرمنس سیستم کار کرده باشیم مشکلات و کندی ها به سراغ ما خواهند آمد .

برخی از مواردی که بایستی در نوشتن یک Search اسپلانک رعایت کنید تا بهینه باشد و از نظر مصرف منابع کمترین را بکار گیرد و سریعتر پاسخ را برگرداند از قبیل زیر هستند :

1- در جستجوی اولیه ای که مینویسید هرچقدر میتوانید داده ها را فیلتر کنید 

2-جوین و لوک آپ را فقط روی داده های مورد نیاز انجام دهید 

3-تا میتوانید کامند هایی که داده را از Search Head دور تر میکنند بزنید 

4-تنها داده هایی که لازم دارید انتخاب کرده و برگردانید .

5-تا میتوانید پردازش های موازی داشته باشید 

6-بازه زمانی جستجو را به دقت تنظیم کنید 

نقشه راه مدیریت بهینه پروژه های اسپلانک

مرحله اول : ارزیابی وضع فعلی 

مرحله دوم : بیانیه پروژه 

مرحله سوم: با سنجش وضع موجود و هدف سرویس کاتالوگ اولیه ایجاد میگردد

مرجله چهارم :اولویت بندی انجام کار ها و تهیه WBS

مرحله پنجم : ساختن طرح پروژه 

مرحله ششم :اجرای طرح پروژه 

مرحله هفتم : بررسی کیفیت اجرا و تهیه خروجی های لازم برای بهبود

مرحله نهم : در صورت نیاز هر بخشی از پروژه را مجددا اجرا کنید ولی بصورت چرخه ای نه نقطه ای 

 

چگونه Splunk  را بهینه راه اندازی نماییم ؟


قبل از بررسی پیاده سازی بهینه پروژه های اسپلانک با یکسری مفاهیم آشنا میشویم :

چارتر:

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

متریک:

برای اینکه در جهان کار اتصولی بتوان انجام داد یکی از موارد سنجش میزان یشرفت و اصولا کیفیت انجام کار است . در هر کاری باید سنجه ای وجود داشته باشد تا بتوان چگونگی انجام کار را به دقت نظارت نمود . شما بایسیتی برای پروژه پیاده سازی اسپلانک خود به دقت یک یا تعدادی متریک تعریف کنید تا در هنگام اجرا یا ممیزی بتوانید از آنها برای سنجش پیشرفت کار و کیفیت انجام استفاده کنید

 

Operating model

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


Service areas

نواحی سرویسی گروهی از فعالیت ها هستند که روی یک هدف کاری تمرکز دارند. برای مدیریت درست پروژه هی اسپلانک ما باید بر روی 4 ناحیه تمرکز کنیم :

Platform Management and Support

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

Program Management and Value Realization

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

Use Case and Data Lifecycle

فعالیت هایی که منجر به روشها و امور اخذ موثر داده و انجام Usecase های خاص میگردد

User and Team Lifecycle

اموری که در راستای مدیریت منابغ انسانی ، تعریف نقش ها ، وظایف و حدود دسترسی تعریف میگردد

چگونه پروژه های اسپلانک را بهینه به انجام برسانیم ؟

Splunk  نرم افزاری قدرتمند در تحلیل داده های عظیم (BigData) است. بواسطه حجم بالای رویداد های امنیتی (Security Events) و نیاز به وجود زیرساخت تجمیع و نگهداری و موتور جستجوی قدرتمند ، اسپلانک را به یکی از زیرساخت ها , ابزار های مناسب برای کشف نفوذ و وقوع حوادث امنیتی و کمک در مدیریت آنها بدل کرده است . 

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

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

 

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

ادامه معرفی اسپلانک

هنگامی که نرخ رویداد بر ثانیه (EPS) در SOC  بالا میرود راهکارهای مبتنی بر دیتابیس های رابطه ای کارا نمیباشند مشکلی که گریبانگیر برخی SIEM  ها است زیرساخت قدرتمند اسپلانک از نظر اخذ و ذخیره سازی ماشینی بعلاوه امکان توسعه App و Add-On ها به توسعه گران و از سویی مدیران SOC  اجازه داده است طیف وسیعی از نیازها را بتوانند در زمان کوتاهی از طریق اسپلانک پیاده سازی کند

 

ویدیوهایی در کانال آپارات آکادمی از Splunk قرار داده شده است