خانه » راه اندازی سرور rsyslog متمرکز در CentOS 7
آموزش امنیت

راه اندازی سرور rsyslog متمرکز در CentOS 7

Rsyslog را در لینوکس نصب و پیکربندی کنید

این آموزش نحوه راه اندازی سرور Rsyslog متمرکز در CentOS 7 را برای مدیریت گزارش های سیستم های مشتری خود از یک مکان مشترک توضیح می دهد. هنگامی که می خواهید فایل های گزارش سیستم های client خود را بررسی کنید، نیازی به بازدید از سیستم های client ندارید. اگر تعداد زیادی سیستم در شبکه خود دارید و می خواهید مدیریت گزارش را از یک سرور log اختصاصی و بصورت متمرکز انجام دهید، این مقاله می تواند برای شما مفید باشد.

من از دو سیستم استفاده خواهم کرد، یکی به عنوان سرور rsyslog و دیگری به عنوان client عمل می کند.

سرور Rsyslog:

  • سیستم عامل: نسخه مینیمال CentOS 7
  • آدرس : 192.168.43.150/24
  • نام میزبان: logserver.mansoori.local

سیستم مشتری:

  • سیستم عامل: نسخه مینیمال CentOS 7
  • آدرس : 192.168.43.151

ابتدا اجازه دهید سرور Ryslog را راه اندازی کنیم.

راه اندازی سرور Rsyslog متمرکز در CentOS 7

این مقاله با نسخه سرور CentOS 7 تست شده است. با این حال، باید روی همه توزیع‌های مبتنی بر RPM مانند RHEL، Fedora، Scientific Linux کار کند.

اگر بسته rsyslog قبلاً نصب نشده است نصب کنید.

# yum install rsyslog

سپس، فایل پیکربندی rsyslog را ویرایش کنید:

# vi /etc/rsyslog.conf

موارد زیر را بیابید و از حالت کامنت خارج کنید تا سرور خود را به پورت‌ها udp و tcp گوش دهد.

[...]
$ModLoad imudp
$UDPServerRun 514

[...]
$ModLoad imtcp
$InputTCPServerRun 514
[...]

کلید ESC را بزنید و تایپ کنید :wqتا فایل ذخیره و بسته شود.

به پورت 514 پیش‌فرض Rsyslog روی فایروال/روتر خود اجازه دهید. دستورات زیر این پورت را از طریق firewalld باز می کند:

# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp

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

# firewall-cmd --reload

در نهایت، سرویس rsyslog را فعال و راه اندازی کنید:

# systemctl enable rsyslog
# systemctl start rsyslog

با دستور زیر بررسی کنید که آیا سرویس resyslog در حال اجرا است یا خیر:

# systemctl status rsyslog

اگر خروجی چیزی شبیه به زیر خروجی زیر است، تبریک می گوییم! سرور Rsyslog فعال است و کار می کند!

● rsyslog.service - System Logging Service
 Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago
 Main PID: 2490 (rsyslogd)
 CGroup: /system.slice/rsyslog.service
 └─2490 /usr/sbin/rsyslogd -n

Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging...
Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ...
Hint: Some lines were ellipsized, use -l to show in full

شما می توانید جزئیات log سرور خود را با استفاده از دستور زیر بررسی کنید:

# tail -10 /var/log/messages

این دستور ده خط آخر پیام های لاگ شما را نمایش می دهد.

پیکربندی client

با استفاده از دستور زیر rsyslog را به عنوان کاربر root نصب کنید:

# yum install rsyslog

سپس، فایل پیکربندی rsyslog را ویرایش کنید:

# vi /etc/rsyslog.conf

در  بخش دستورالعمل ##RULES## ، خط زیر را اضافه کنید:

*.* @192.168.43.150:514

یا فقط این خط را در انتهای آن قرار دهید. با این کار همه چیز ثبت می شود و فایل های گزارش به سرور Rsyslog شما ارسال می شود.

همچنین می توانید موارد خاصی را ارسال کنید. به عنوان مثال، برای ارسال فقط لاگ های cron، خط زیر را اضافه کنید:

cron.* @192.168.43.150:514

برای ثبت همه پیام‌های ایمیل، اضافه کنید:

mail.* @192.168.43.150:514

من می خواهید همه چیز را را ارسال کنید، بنابراین خط زیر را اضافه کردم.

*.* @192.168.43.150:514

همچنین می توانید به جای آدرس IP، از FQDN سرور Rsyslog خود را ذکر کنید.

فایل پیکربندی rsyslog را ذخیره کرده و ببندید.

در نهایت، سرویس rsyslog را فعال و راه اندازی کنید:

# systemctl enable rsyslog
# systemctl start rsyslog

به طور مشابه، می توانید برای نظارت بر logهای مربوطه هر تعداد client که می خواهید پیکربندی کنید.

آزمایش پیام های log

چیزی را روی سیستم client خود اجرا کنید.

من قصد دارم به صورت دستی یک log را با استفاده از دستور logger به فایل log سیستم اضافه کنم .

# logger -i -t mahdimansoori_ir "This is our first log test."

اکنون به دستگاه سرور Rsyslog بروید و بررسی کنید که آیا این گزارش ارسال شده است یا خیر.

# tail -l /var/log/messages

اکنون، لاگ سیستم های client خود را از سرور دریافت می کنید.

Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start
Mar 23 17:30:29 client systemd: Stopping System Logging Service...
Mar 23 17:30:29 client systemd: Starting System Logging Service...
Mar 23 17:30:29 client systemd: Started System Logging Service.
Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start
Mar 23 17:30:34 logserver systemd: Stopping System Logging Service...
Mar 23 17:30:34 logserver systemd: Starting System Logging Service...
Mar 23 17:30:34 logserver systemd: Started System Logging Service.
Mar 23 17:31:35 client mahdimansoori_ir[2959]: This is our first log test.

و پایان کار، پیکربندی سرور و کلاینت Rsyslog انجام شده است. همانطور که در این مقاله مشاهده می کنید، راه اندازی یک سرور اصلی Rsyslog بسیار آسان است .

مهدی منصوری

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

درباره نویسنده

مهدی منصوری

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

افزودن نظر

برای ارسال نظرات خود اینجا را کلیک کنید