جمعآوری Log و پردازش آن برای SIEM از مباحث مهم و مطرح امروز دنیای امنیت شبکه است. Log ها و رخدادها مبنای مانیتورینگ، بررسی و جرمشناسی در امنیت مدرن و SIEM هستند. در این مقاله، بطور دقیق آموزش داده خواهد شد که جمعآوری، پردازش و ذخیره کردن Log چگونه صورت گرفته و به چه شکل از آنها در مرکز عملیات امنیتی (SOC) استفاده میشوند.
مفهوم تجمع Log
تجمع Log فرآیندی است که طی آن Logها از سیستمهای رایانشی گوناگون تجمیع، طبقه بندی و تجزیه شده و دادههای ساختاریافته استخراج میشود. در ادامه، این دادهها در فرمتی کنار هم قرار میگیرند که به سادگی توسط ابزار دادهی مدرن قابل جستجو و اکتشاف باشد. چهار روش رایج برای جمعآوری Log وجود دارد، بسیاری از سیستمهای جمعآوری Log این روشها را ترکیب میکنند.
پروتکل Syslog
یک پروتکل استاندارد برای ارسال لاگهای ذخیره شده است. مدیران شبکه میتوانند یک سرور Syslog را تنظیم کنند که Log را از سیستمهای گوناگون دریافت کرده و آنها را در یک فرمت کارآمد و فشرده که به سادگی قابل جستجو کردن باشد ذخیره کنند.
جمعآوریکنندگان Log یا Log Aggregator میتوانند بطور مستقیم دادههای Syslog را خوانده و پردازش کنند.
Stream کردن رخدادها
پروتکلهایی مانند SNMP، Netflow و IPFIX به دستگاههای شبکه این امکان را میدهد تا اطلاعات استانداردی را درباره عملیاتهای خود فراهم کنند که توسط Log Aggregator قابل رهگیری و تجزیه باشد و به Log Storage اصلی اضافه شود.
جمعآوری کنندهی Log
Agentهای نرمافزار که در تجهیزات شبکه اجرا میشوند، اطلاعات Log را Capture و تجزیه میکنند و آن را به یکی از اجزای یک Aggregator متمرکز شده میفرستند تا ذخیره و بررسی شوند.
دسترسی مستقیم
Log Aggregator با استفاده از یک API یا پروتکل شبکه، میتواند بطور مستقیم به تجهیزات شبکه یا سیستمهای رایانشی دسترسی پیدا کند تا مستقیما Logها را دریافت نماید. این رویکرد به یکپارچهسازی سفارشیسازیشده برای هریک از منابع داده نیاز دارد.
مفهوم پردازش Log
پردازش Log هنر گرفتن Logهای خام از منابع چندگانه، شناسایی ساختار آنها و تبدیل آنها به یک منبع دادهی استاندارد و باثبات است.
با Splunk IT Service Intelligence مشکلات را در کوتاهترین زمان پیشبینی کنید
ویدیوهای بیشتر درباره Splunk
مراحل پردازش Log برای SIEM
تجزیه Log
هر Log دارای یک فرمت دادهی تکراریست که شامل فیلد داده و مقادیر است. با این حال، فرمت میان سیستمها و حتی میان Logهای گوناگون در یک سیستم، متفاوت است. تجزیه کنندهی Log یک جزء نرمافزاری است که میتواند فرمت خاصی از Log را به دادهی ساختاریافته تبدیل کند. نرمافزار جمعآوری Log شامل دهها یا صدها جزء نوشته شده است تا پردازش Log برای SIEM را انجام دهد.
نرمالسازی و دستهبندی Log
نرمالسازی، رخدادهایی که دارای دادههای مختلف هستند را با فرمتی کاهشیافته که حاوی ویژگیهای رخدادهای معمول است ادغام میکند. بیشتر Logها اطلاعات اساسی یکسانی مانند از جمله زمان، آدرس شبکه، عملیات اجرا شده و غیره را Capture میکنند. دستهبندی شامل معنا بخشیدن به رخدادها، شناسایی دادههای Log مرتبط با رخدادهای سیستم، احراز هویت، عملیات Local یا از راه دور و غیره میباشد.
بهبود عملکرد Log
بهبود عملکرد Log عبارت است از اضافه کردن اطلاعات مهمی که میتوانند داده را مفیدتر کنند. به عنوان مثال، اگر Log اصلی حاوی آدرسهای IP بوده و حاوی موقعیتهای فیزیکی و واقعی کاربرانی که به سیستم دسترسی دارند نباشد، یک Log Aggregator میتواند از سرویس دادههای منطقه جغرافیایی برای تشخیص موقعیتها و اضافه کردن آنها به دادهها استفاده کند.
ایندکس کردن Log
شبکههای مدرن حجم زیادی دادهی Log ایجاد میکنند. به منظور جست و جو و کشف موثر این دادهها، نیاز است تا یک شاخص (Index) از Attributeهای رایج در تمامی دادههای Log ایجاد شود. جستجو و یا Queryهای داده که از کلیدهای شاخص استفاده میکنند میتوانند برحسب اندازه، در مقایسه با اسکن کردن کامل تمامی دادههای Log، سریعتر باشند.
ذخیره Log
به دلیل حجم عظیم Logها و رشد نمایی آنها، ذخیرهسازی Log به سرعت درحال تکامل است. در گذشته، تجمیعکنندگان Log؛ آن را در یک مخزن متمرکز ذخیره میکردند اما امروزه، Logها به صورت افزایشی در تکنولوژی Data Lake مانند Amazon S3 یا Hadoop ذخیره میشوند. Data Lakeها میتوانند با هزینه افزایشی پایین از حجمهای Storage نامحدود پشتیبانی کنند و دسترسی به دادهها را از طریق موتورهای پردازش توزیعی (Distributed) مانند MapReduce و یا ابزارهای مدرن و قوی تحلیل و بررسی، ایجاد نمایند.
انواع Log
تقریبا تمامی سیستمهای رایانشی Log تولید میکنند. در ادامه برخی از رایجترین منابع دادههای Log معرفی میگردند.
Endpoint Log
یک Endpoint در واقع یک دستگاه رایانشی درون شبکه است، مانند رایانه، لپتاپ، گوشیهای هوشمند، سرور و یا Workstation. Endpointها از سطوح مختلف پشته (Stack) نرمافزاری خود، Logهای متعددی از جمله در سختافزار، سیستم عملیاتی، میانافزار و دیتابیس و برنامههای کاربردی را ایجاد میکنند. Logهای Endpoint از سطوح پایینتر پشته گرفته شده و برای فهم وضعیت، فعالیت و سلامت تجهیزات Endpoint از آنها استفاده میشود.
Router Log
تجهیزات شبکه مانند Routerها، سوئیچها و تعدیلکنندگان بار، پایههای اصلی زیرساخت شبکه هستند. Logهای آنها دادههایی حیاتی را درباره جریان ترافیک فراهم میکند که شامل پایانههای مشاهدهشده توسط کاربران داخلی، منابع ترافیک خارجی، حجم ترافیک، پروتکلهای مورد استفاده و غیره، میباشد. Routerها عموما دادهها را با فرمت Syslog انتقال میدهند و دادهها را میتوان بوسیله سرورهای Syslog شبکه تحلیل و Capture نمود.
مطلب مرتبط: تسهیل مدیریت امنیتی با استفاده از SIEM مبتنی بر Cloud
Event Logهای برنامههای کاربردی
برنامههای کاربردی که در سرور و یا تجهیزات EndPoint اجرا میشوند، رخدادها را تولید و Log میکنند. سیستم عملیاتی Windows یک Event Log متمرکز را ایجاد میکند که رخدادهای شروع به کار، خاموش شدن و خطاهای Run-Time در برنامههای کاربردی را جمع آوری میکند. در Linux، پیامهای Application Log را میتوان در پوشه /var/log پیدا کرد. همچنین، جمعآوریکنندگان Log میتوانند بطور مستقیم Logها را از برنامههای کاربردی سازمانی مانند ایمیل، وب و سرورهای شبکه جمع آوری، دستهبندی و تحلیل کنند.
Logهای IoT
یک منبع جدید و رو به رشد از Log Data تجهیزات متصل، به اینترنت اشیا یا همان IoT هستند. این تجهیزات ممکن است فعالیتهای خود یا دادههای سنسور Capture شده توسط تجهیزات را Log کنند. از آنجایی که بسیاری از تجهیزات هیچ عملیات Log کردنی ندارند یا دادههای Log را در فایل سیستمهای Local ذخیره میکنند و توانایی دسترسی و یا جمع آوری آنها محدود است، قابلیت دید IoT یک چالش اساسی برای بیشتر سازمانها میباشد. پیادهسازیهای پیشرفته IoT، Log Data را در یک سرویس Cloud مرکزی ذخیره میکند. اکنون بسیاری از مدیران یک پروتکل جدید جمع آوری Log را به نام syslog-ng استفاده میکنند که بر روی قابلیت جابجایی و جمع آوری متمرکز Logها تمرکز دارد.
Logهای Proxy
بسیاری از شبکهها دارای یک Transparent Proxy هستند که روی ترافیک کاربران داخلی، قابلیت دید ایجاد میکند. Logهای سرور Proxy حاوی درخواستهایی هستند که توسط کاربران و برنامههای کاربردی درون شبکه Local و همچنین درخواستهای خدماتی و مرتبط به برنامهی کاربردی، مانند بروزرسانی برنامههای کاربردی که در اینترنت وجود دارد، ایجاد شده است. Proxyها برای اینکه مفید باشند، باید در تمام بخشها و یا حداقل در بخشهای حیاتی ترافیک کاربر اعمال شوند و اقداماتی نیز باید صورت گیرد تا ترافیک HTTPS را تحلیل و رمزگشایی کند.
مثال ازانواع Log
مثالی از دادهی Log ویندوز: ورود موفق به حساب.