راه اندازی syslog سرور بهمراه آموزش تصویری

0

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

syslog سرور چیست؟
syslog سرور یک نوع مخزن مرکزی برای لاگ برداری است که جهت متمرکز کردن مونیتورینگ دستگاه ها و سرورها استفاده می شود. وقتی که یک syslog سرور راه اندازی می کنید , دستگاه ها لاگ های خود را تحت شبکه به جای آنکه در فایل محلی ذخیره کنند یا بر روی صفحه نمایشگر به نمایش در آورند برای syslog سرور می فرستند.
بعنوان مثال , روتر ها و سوییچ های سیسکو این لاگ ها را بر روی Console نمایش می دهند و از آنجایی که همیشه از این محیط استفاده نمی کنیم , پس نمی توانیم بسیاری از لاگ ها را مشاهده و در صورت لزوم مرور کنیم , بنابراین این لاگ ها را در محلی برای آنالیزهای آینده ذخیره و نگهداری می کنیم.

 

Syslog از 2 قسمت عمده تشکیل شده است :

  1. facility
  2. severity

دستگاه هایی نظیر سیسکو و همچنین سرور ها از facility های local0-local7 که برای این کار رزرو شده اند جهت لاگ برداری استفاده می کنند.

 

auth – authentication (login) messages
cron – messages from the memory-resident scheduler
daemon – messages from resident daemons
kern – kernel messages
lpr – printer messages (used by JetDirect cards)
mail – messages from Sendmail
user – messages from user-initiated processes/apps
local0local7 – user-defined (for cisco,servers,…)
syslog – messages from the syslog process itself
علاوه بر آنکه می توانید مشخص کنید لاگ ها به کجا بروند , می توانید نوع پیغام هایی هم که برای syslog سرور فرستاده می شود توسط سطح های مختلف severity مشخص کنید.این سطح ها استاندارد بوده و
.براساس شماره یا حروف اختصاری بکار برده می شوند.

severity ها :


0 – Emergency (emerg)
1 – Alerts (alert)
2 – Critical (crit)
3 – Errors (err)
4 – Warnings (warn)
5 – Notification (notice)
6 – Information (info)
7 – Debug (debug)

ابتدا به راه اندازی Syslog سرور می پردازیم سپس به تنظیم syslog در روتر سیسکو .

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


بی شک راحت ترین نوع راه اندازی syslog سرور در ویندوز می باشد.کافیست برنامه مورد نظر را نصب کنید و منتظر رسیدن پیغام ها باشید!!!.

اگر بدنبال نرم افزار مجانی ویندوزی هستید , بدونه تردید نرم افزار tftp32 از بهترین آنهاست .این نرم افزار همچنین شامل سرویس های کاربردی دیگر نظیر tftp و dhcp سرور هم می باشد.
بعد از نصب کافیست از منوی setting تیک مربوط به syslog را بزنید و برنامه را مجدد اجرا کنید.

نمایی از لاگ ها در این برنامه :


اگر بدنبال syslog ای قویتر در ویندوز هستید می بایست از نرم افزارهای غیر رایگان استفاده کنید.
syslog سرور در مجموعه های بسیاری قرار دارد که از معروفترین آنها SolarWinds Engineers Toolset v9.0 می باشد .کافیست برنامه را نصب و از منوی Network Monitoring سرور syslog را اجرا کنید.بصورت پیش فرض solarwinds به تمام facility و severity ها از تمامی IP های گوش فرا می دهد.

 

 

نصب syslog سرور در لینوکس :

بدون هیچ گونه تردید می توانم بگویم که فقط با راه اندازی syslog در لینوکس به درک بیشتری از این سرویس خواهید رسید.
در بیشتر زمان ها syslog در موقع نصب سیستم نصب می شود و شما نیازی به نصب مجدد ندارید.برای استفاده از syslog جهت دریافت لاگ از دستگاه ها و سرورهای دیگر , می بایست ویژگی UDP logging را فعال کنیم.

فعال کردن UDP loging در دبین بهمراه گزینه های دیگر :

PersianAdmins:~#nano  /etc/default/syslogd
 SYSLOGD="-r -m0 -x"
r برای فعال کردن remote UDP logging
m0 برای حذف پیام ها MARK
X برای غیر فعال کردن DNS lookup

فعال کردن در ردهت :

PersianAdmins:~#nano /etc/sysconf/syslog
SYSLOGD=”-r -m0 -x”


تنظیم facility و severity هایی که می بایست دریافت شوند


این تنظیمات از طریق فایل etc/syslog.conf/ انجام می شود.نمونه پیش فرض این تنظیمات :

 #
 auth,authpriv.*                    /var/log/auth.log
 *.*;auth,authpriv.none                -/var/log/syslog
 #cron.*                        /var/log/cron.log
 daemon.*                    -/var/log/daemon.log
 kern.*                        -/var/log/kern.log
 lpr.*                        -/var/log/lpr.log
 mail.*                        -/var/log/mail.log
 user.*                        -/var/log/user.log
 uucp.*                        /var/log/uucp.log
 
 #
 # Logging for the mail system.  Split it up so that
 # it is easy to write scripts to parse these files.
 #
 mail.info                    -/var/log/mail.info
 mail.warn                    -/var/log/mail.warn
 mail.err                    /var/log/mail.err
 
 # Logging for INN news system
 #
 news.crit                    /var/log/news/news.crit
 news.err                    /var/log/news/news.err
 news.notice               -/var/log/news/news.notice

قاعده نوشتن :

facility.severity            log-file-name

چند مثال :

local7.debug     /var/log/ciscorouter1.log
local7.*            /var/log/ciscorouter1.log
local7.warn       /var/log/ciscorouter1-warn.log

همانطور که از مثال ها هویداست , می توان به چندین شکل syslog را جهت نگه داری پیغام ها تنظیم کرد.

می توانید با * تمامی severity ها را مشخص کنید تا در یک فایل ذخیره شوند یا اینکه با مشخص کردن نام آن فقط آن severity را ذخیره کنید.همچنین می توانید severityهای مختلف را در فایل های مختلف ذخیره کنید.

نکته مهم در اینجاست که تمامی دستگاه هایی که مثلا با local7 , facility مشخص شده اند , پیغام هایشان به یک فایل می رود.

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

local7.*          /var/log/ciscorouter1.log

بعد از تنظیم syslog می باست سرویس آن را مجدد راه اندازی کنیم :

در دبین :

PersianAdmins:~#/etc/init.d/sysklogd    restart

در ردهت :

PersianAdmins:~#/etc/init.d/syslog     restart 

برای آنکه مطمئن شویم که UDP logging فعال شده است :

PersianAdmins:~#netstat -an|grep 514
 *:udp     0     0     0.0.0.0:514     0.0.0.0

 

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

PersianAdmins:~#tail -f /var/log/ciscorouter1.log

Jul 28 06:25:28 192.168.0.5 30: *Jul 29 16:21:11.759: %SYS-5-CONFIG_I: Configured from console by console

Jul 28 06:25:50 192.168.0.5 31: *Jul 29 16:21:33.267: %SYS-5-CONFIG_I: Configured from console by vty0 (192.168.0.1)

Jul 28 10:13:16 192.168.0.5 26: *Jul 30 02:21:26.599: %SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 192.168.0.21 started – CLI initiated

Jul 28 10:15:52 192.168.0.5 27: *Jul 30 02:24:14.195: %SYS-5-CONFIG_I: Configured from console by console

Jul 28 10:16:32 192.168.0.5 28: *Jul 30 02:24:55.287: UDP: rcvd src=192.168.0.1(137), dst=192.168.0.255(137), length=58

Jul 28 10:16:43 192.168.0.5 29: *Jul 30 02:24:56.047: UDP: rcvd src=192.168.0.1(137), dst=192.168.0.255(137), length=58

در صورتیکه بخواهید تمام لاگ ها را برای سرور دیگری ارسال کنید, می بایست در syslog.conf این دستور را اضافه کنید :

*.*     @server-ip

 

همچنین شما می توانید facility یا severity خاصی را برای ارسال به سرور دیگر معین کنید.

حال که syslog سرور نصب شد ممکن است بخواهید آن را تست کنید ولی دستگاهی در دسترستان نیست , برای این منظور از نرم افزارهای syslog messages generator استفاده می کنیم.

یکی ازاین نرم افزار ها solarwinds است که در بالا به آن پرداختیم.

اما یکی از نرم افزارهای مجانی و خوب دیگر Kiwi SyslogGen می باشد.

 

 

تنظیم syslog بر روی روتر سیسکو :

به اصلی ترین قسمت این آموزش رسیدیم! , برای تنظیم syslog باید به مد config بروید و سپس :

ip host logserver 192.168.0.21                      1
logging host logserver                                   2
logging facility local7                                    3

logging trap debug                                        4
logging trap warnning                                   5
logging source-interface loopback 1               6
no logging console
no logging monitor
service timestamps log datetime localtime

logging on

توصیه می شود که برای تنظیم هاست برای syslog سرور از اسم استفاده شود تا در صورت تغییر سرور نیازی نباشد دستگاه را مجدد تنظیم کنیم.خط اول بدین منظور است.
در خط دوم syslog سرور را مشخص کرده ایم.

در خط سوم facility را مشخص کرده ایم که باید با facilityدر syslog سرور مشابه باشد.سیسکو بصورت پیش فرض از local7 استفاده می کند.

برای تنظیم severity از logging trap استفاده می کنیم که تمامی serverity های گفته شده از این طریق قابل اجرا می باشند.

خط ششم هم برای اینست که شناسه روتر را در syslog مشخص کنیم و معمولا از اینترفیس loopback برای این منظور استفاده میشود.منظور از شناسه روتر اینست که IP این اینترفیس در لاگ سرور ثبت خواهد شد.

می توانیم از access-list ها لاگ برداری کنیم و برای این منظور بدین ترتیب عمل می کنیم :

access-list  1   permit   {xxx.xxx.xxx.xxx}   log

چند مورد جالب برای لاگ برداری :

log configuration command entered on Cisco Router

  archive
 log config
 logging enable
 notify syslog
 hidekeys

log terminal access to Router

login on-failure
login on-success

log user privilege level changes

logging userinfo


subinterface link status logging

logging event subif-link-status

توجه داشته باشید که IOS شما باید از این دستورات پشتیانی کند.

مشاهده آموزش

دانلود آموزش

نگارنده : رضا بهروزی

نظرات مسدود است.