درس بیست و پنجم: لاگ برداری و Syslog Server

لاگ برداری و Syslog Server

 

 

روش های مشاهده و ذخیره کردن log ها

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

اگر فقط قصد مشاهده log ها را بصورت لحظه ای و آنلاین را داشته باشید ( بدون ذخیره شدن آنها) دو راه وجود دارد:

حالت اول: زمانی که با کابل کنسول و بصورت interactive به دیوایس متصل هستید، جهت مشاهده log ها باید در مد گلوبال دستور logging console را وارد کنید.

حالت دوم: اگر بصورت ریموت و از طریق telnet یا SSH به دیوایس متصل هستید برای مشاهده log ها باید بعد از اینکه موفق به login شدید، در مد گلوبال ابتدا دستور terminal monitor و سپس دستور logging monitor را وارد کنید.

پس با این دو روش میتوانید بصورت آنلاین لاگهای دیوایس را مشاهده کنید. اما باز یک توصیه امنیتی- کارایی وجود دارد که بیان میکند باید حتما از log ها نسخه کپی داشته باشیم و آنها جایی save شوند. IOS دو ابزار اصلی برای نگهداری سابقه log ها در اختیار ما قرار میدهد:

  • استفاده از دستور Logging buffered
  • پیاده سازی Syslog

دستور logging buffered باید در مد گلوبال وارد شود. این دستور تمام log ها را در حافظه RAM روی یک فایل ذخیره میکند. این کپی از سابقه log ها را میتوان با دستور show logging مشاهده کرد. توجه دارید که حافظه RAM حافظه ای است ناپایدار و وابسته به جریان برق. پس اگر بخواهید از این دستور استفاده کنید با هر بار خاموش یا reload شدن دیوایس، سابقه log ها را از دست خواهید داد.

پیاده سازی مکانیزم Syslog روشی است که امروزه اکثر شبکه های کوچک و بزرگ مورد استفاده قرار میدهند. Syslog با پورت 514 پروتکل UDP کار میکند. وقتی در شبکه syslog server داشته باشیم، همه دیوایس میتوانند log های خود را به syslog server ارسال کنند و در آنجا ذخیره شود. سپس مدیر شبکه میتواند به syslog server متصل شود و log های مورد نظر خودش را بیابد و مطالعه کند.

شکل ذیل نحوه کار هر دو روش logging buffered و syslog را نمایش میدهد. سمت راست مربوط به مکانیزم syslog می باشد. Syslog server دارای آدرس 172.16.3.9 است:

logging buffered and syslog

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

 

مفهوم Severity Level

این مفهوم ایجاد شده است تا میزان اهمیت رخدادی که log درباره آن تهیه میشود را بیان کند. شکل ذیل تمام سطوح Severity را نمایش میدهد.

 severity level

دقت داشته باشید که severity سطح 7 دارای کمترین اهمیت و سطح صفر دارای بالاترین درجه اهمیت می باشد.

سطح های 5 و 6 هر دو شرایط نرمال را نشان میدهند اما notification صادر شده در سطح 5 دارای اهمیت بیشتری نسبت به پیام سطح 6 است.

سطوح 4 و 3 و 2 شرایط غیر نرمال را نشان میدهند. سطح 4 سطح هشدار می باشد. سطح 3 سطح بروز خطاست. سطح دو یعنی یک بحران وجود دارد.

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

طبق جدول ذیل میتوان تعیین کرد که log های چه سطحی مشاهده یا ذخیره شوند. همه دستورات فوق در مد گلوبال وارد میشوند.

logging severity levels

همانطور که میدانید سرویس های console و monitor مخصوص صرفا مشاهده لاگ ها هستند و چیزی را ذخیره نمیکنند. میتوانید از طریق دستورهای ذیل

Logging console level-name|level-number

Logging monitor level-name|level-number

مشخص کنید که log هایی با چه سطح هایی از severity نمایش داده شوند.

سرویس های buffered و syslog ولی اقدام به ذخیره سازی میکنند. سطح severity پیشفرض برای دستور logging console سطح 7 هست. سطح severity پیشفرض برای syslog ( دستور syslog trap ) نیز سطح 7 می باشد.

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

مانند بیشتر دستورات میتوانید با قرار دادن no قبل از هر کدام از دستورات فوق آن دستور را غیر فعال کنید.

 

پیاده سازی logging

توپولوژی ذیل را در نظر بگیرید.

logging example

در شکل فوق روی یک سرور با آدرس 172.16.3.9 سرویس syslog پیاده سازی شده است. تمام سوئیچ ها و   روترها همانطور که می بینید log های خود را به syslog server می فرستند. همه روترها و سوئیچ های فوق، syslog client محسوب میشوند. پس باید طوری به آنها syslog server شبکه معرفی شده باشد. اگر دستور ذیل را روی یک روتر یا سوئیچ ( در مد گلوبال) وارد کنید، متوجه syslog server شبکه میشود:

Logging host  syslogserver-address|hostname

بعنوان مثال در مد گلوبال تک تک روترها و سوئیچ های این شبکه دستور ذیل وارد شده است:

Logging  host 172.16.3.9

توجه داشته باشید که بصورت پیشفرض تمام پیامها بین syslog client ها syslog server بصورت clear text رد و بدل میشود.

روی تک تک روترها و سوئیچ ها این توپولوژی، دستورات ذیل وارد شده است:

logging implemention

بیایید دستورات وارد شده را بررسی کنیم:

خط اول: اگر کاربر بصورت interactive و از طریق کابل کنسول متصل است، همه log ها ( سطح 7 که شامل همه سطوح صفر تا شش نیز طبعا میشود) را به وی فقط نشان بده.

خط دوم: اگر کاربر بصورت  remote و از طریق Telnet یا SSH به دیوایس متصل است، همه log ها (debug نام سطح 7 هست) را به وی فقط نشان بده.  

خط سوم: log های سطوح 0 تا 4 را روی RAM دستگاه ذخیره کن.

خط چهارم: در شبکه یک syslog server وجود دارد به آدرس 172.16.3.9 .

خط پنجم: در این خط از دستور logging trap استفاده شده است. Logging trap مهمترین دستور در syslog می باشد و به روتر یا سوئیچ میگوید که اطلاعات چه سطح هایی را به syslog server بفرستد. در این مثال از سطح warning استفاده شده است که همان سطح 4 می باشد. پس طبق این دستور همه روترها و سوئیچ های شبکه باید کلیه لاگ های سطوح صفر تا چهار خود را برای syslog server تعیین شده بفرستند.

میتوانید توسط اجرای دستور show logging مشاهده کنید که برای هر کدام از سرویس های فوق آیا کانفیگ بدرستی انجام شده یا نه؟ تا کنون چند log ارسال شده؟ و اطلاعاتی از این دست. مثلا خروجی دستور در شکل ذیل

show logging

شکل فوق بیان میکند که تا کنون 45 لاگ به کاربری که با کابل کنسول به روتر R1 متصل است، نمایش داده شده است.

میتوانید با وارد کردن دستور clear  logging در مد privilege ، لاگ های قدیمی را از روی دیوایس حذف کنید. شخص هکر توسط این دستور میتواند رد پای خود را پاک کند. این خود نشان میدهد که بهتر است از syslog server استفاده کنیم تا شخص هکر نتواند به صرف دسترسی داشتن به روتر، رد پاهای خود را نیز پاک کند.

شکل ذیل نشان میدهد که وقتی یک اینترفیس روتر R1 را ابتدا shutdown و سپس no shutdown کرده باشیم، چگونه log ها طبق دستورات و بر اساس سرویس ها و severity level تعریف شده برای هر سرویس، نمایش و یا نمایش/ ذخیره شدند.

25-8 show logging analys

پیاده سازی syslog در سه مرحله

در واقع راه اندازی مکانیزم syslog در شبکه مراحل ذیل طی میشود:

  • ایجاد syslog server روی یک ماشین ویندوزی یا لینوکسی
  • معرفی syslog server به syslog client ها با استفاده از دستور

Logging host  syslogserver-address|hostname

  • تعیین سطوحی که باید log های آنها به syslog server ارسال شود با دستور

Logging trap severity-level

راه اندازی syslog سرور در ویندوز

چگونه یک کامپیوتر یا سرور تبدیل به syslog server میشود؟ با نصب نرم افزارهایی مانند Kiwi syslog یا tftp32 و…

نرم افزارهای زیر نمونه از SYSLOG سرورهای رایگان هستند که نصب و پیکربندی بسیار ساده ای نیز دارند:

  1. Kiwi Syslog Server
  2. PRTG Syslog server
  3. Tftp 32
  4. Syslog watcher

اگر بدنبال نرم افزار رایگان ویندوزی هستید، نرم افزار tftp32 از بهترین آنهاست. بعد از نصب این نرم افزار کافیست از منوی setting تیک مربوط به syslog را بزنید و برنامه را مجدد اجرا کنید.

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

 

 

راه اندازی سرویس Syslog سرور در برنامه شبیه ساز Packet Tracer 

1- یک کامپیوتر ( از نوع سرور) را در سناریو قرار می دهیم. این همان کامپیوتری است که قرار است عهده دار نقش Syslog Server شود.

2- روی کامپیوتر فوق دبل- کلیک می کنیم. به تب Services رفته و از منوی سمت چپ گزینه Syslog را انتخاب می کنیم.

3- حال توسط دکمه های رادیویی on و of میتوان سرویس فوق را روشن یا خاموش کرد.

 

ضمایم6

  • logging buffered and syslog
  • severity level
  • logging severity levels
  • logging example
  • logging implemention
  • show logging
مشاهده همه افزودن یک یادداشت
شما
دیدگاه خود را وارد کنید
رفتن به نوار ابزار