একটি প্রোডাকশন নেটওয়ার্কে অসংখ্য নেটওয়ার্ক ডিভাইস যেমনঃ সুইচ, রাউটার, সার্ভার থাকতে পারে। এই সব ডিভাইসসমূহে প্রতিনিয়ত বিভিন্ন কনফিগারেশন পরিবর্তন করতে হয়, প্রতিদিন অসংখ্য বার ইন্টারফেস আপ-ডাউন হয়, পোর্টে ACL ভায়োলেশন হয়। এ রকম আরো অনেক কারণে প্রতিটি ডিভাইস প্রতিদিন শত শত Log জেনারেট করে। এই Log গুলো দেখা ও এ্যানালাইজ করা নেটওয়ার্ক সিকিউরিটির একটি অন্যতম গুরুত্বপূর্ণ বিষয়। ডিভাইসের Log দেখে বুঝা যায় ডিভাইসসমূহে অস্বাভাবিক কিছু ঘটছে কিনা। এই Log দেখেই পরবর্তী করণীয় ব্যবস্থা গ্রহন করা সহজ হয়। কিন্তু সমস্যা হলো যে, এই অসংখ্য ডিভাইসসমূহের Log আলাদা আলাদাভাবে দেখা অনেক কঠিন একটি কাজ। প্রতিটি ডিভাইসের টার্মিনাল ওপেন করে এদের Log মনিটর করা ভাল কোন সমাধানও নয়। এই ধরণের সমস্যার সমাধান হিসেবে ব্যবহার করা যেতে পারে RSYSLOG সার্ভার। Syslog এমন এক ধরণের সার্ভার যার কাছে নেটওয়ার্কের সকল RSYSLOG ক্লায়েন্ট ডিভাইসসমূহ এদের নিজস্ব Log পাঠায়। RSYSLOG সার্ভার প্রাপ্ত Log সমূহ নিজের টার্মিনালে দেখায় এবং ভবিষ্যতের রেকর্ড হিসেবে সংরক্ষনও করে থাকে।
যখন Cisco ডিভাইসসমূহে Console/VTY পোর্টের মাধ্যমে কানেক্ট হয়ে কাজ করা হয় তখন ডিভাইসসমূহ বিভিন্ন সময়ে Log জেনারেট করে যা আমরা টার্মিনালে দেখতে পাই। এই Log সমূহ ডিভাইসের বাফারে জমা থাকে, এগুলোকে স্থায়ীভাবে সংরক্ষণ করা যায় না। কোন কারণে ডিভাইস রিবুট হলে Log গুলো হারিয়ে যায়। কিন্তু এক্ষেত্রে যদি আমরা RSYSLOG সার্ভার ব্যবহার করি তাহলে Log সমূহ সংরক্ষন করা সম্ভব এবং প্রয়োজনে পরবর্তীতে এ্যানালাইজ করা সম্ভব।
জেনারেট হওয়া Log সমূহের আটটি লেভেল রয়েছে। যেমনঃ
i. Level 0: Emergencies ii. Level 1: Alerts iii. Level 2: Critical iv. Level 3: Errors v. Level 4: Warning vi. Level 5: Notification vii. Level 6: Informational viii. Level 7: Debugging
এই লেভেলসমূহকে Severity Level বলা হয়ে থাকে। লেভেলের ভ্যালু যত কম হবে লেভেলের গুরুত্ব তত বেশি হবে।
একটি Log Message এর তিনটি অংশ রয়েছে।
i. Timestamp ii. Log Message Name and Severity Level iii. Message Text
উদাহরণস্বরূপ একটি Syslog Message নিম্নরূপঃ
Configuring RSYSLOG ServerRed Hat 6 মেশিনে আমরা RSYSLOG সার্ভার ইন্সটল করবো। RSYSLOG এর পূর্ণরূপ হলো Rocket-fast System for Log Processing । এই RSYSLOG সার্ভারের মাধ্যমে বিভিন্ন ধরণের ডিভাইস থেকে Log রিসিভ করা যায়।
প্রথমে Red Hat মেশিনটিতে আমরা rsyslog প্যাকেজটি ইনস্টল করবো।
[root@rsyslog ~]# yum install rsyslog* -y
প্যাকেজ ইন্সটল করা শেষ হলে আমরা /etc/rsyslog.conf ফাইলের মধ্যে কয়েকটি লাইনকে নিচের মতো করে এডিট করবো। লাইনগুলো ফাইলের মধ্যে লেখাই থাকে, শুধুমাত্র লাইনের শুরুতে # ক্যারেক্টারটি তুলে দিতে হবে।
[root@rsyslog ~]# vi /etc/rsyslog.conf # Provides UDP syslog reception $ModLoad imudp.so $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp.so $InputTCPServerRun 514
অতঃপর আমরা /etc/sysconfig/rsyslog ফাইলটিতে নিচের মতো করে একটি লাইন লিখে ফাইলটি সেভ করবো।
[root@rsyslog ~]# vi /etc/sysconfig/rsyslog SYSLOGD_OPTIONS="-r -m 0"
ফাইলটি এডিট করা শেষ হলে আমরা rsyslog সার্ভিসটি স্টার্ট করবো
[root@rsyslog ~]# /etc/init.d/rsyslog start Starting system logger: [ OK ] [root@syslog ~]# chkconfig rsyslog on
যদি সার্ভারটিতে iptables সার্ভিস চলমান থাকে তাহলে সার্ভারটি যেন ক্লায়েন্ট ডিভাইসসমূহ থেকে Syslog Message গ্রহন করতে পারে সেজন্য আমরা TCP ও UDP 514 নম্বর পোর্টটিকে iptables এ Allow করবো এবং iptables সার্ভিসটি রিস্টার্ট দিব।
[root@rsyslog ~]# iptables -I INPUT -p tcp --dport 514 -j ACCEPT [root@syslog ~]# iptables -I INPUT -p udp --dport 514 -j ACCEPT [root@syslog ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
সবশেষে যে ক্লায়েন্ট ডিভাইসসমূহ সার্ভারের কাছে Log পাঠাবে সেই ডিভাইসসমূহের আই.পি এবং হোষ্টনেমগুলো আমরা সার্ভার মেশিনের /etc/hosts ফাইলের মধ্যে এন্ট্রি দিব। ফাইলটির মধ্যে সার্ভারের নিজের আই.পি এবং হোষ্টনেমও থাকবে।
[root@rsyslog ~]# vi /etc/hosts
192.168.10.5 rsyslog.example.com server 192.168.10.11 router1.example.com router1 192.168.10.12 router2.example.com router2 192.168.10.13 www.example.com www
Cisco ডিভাইসসমূহকে কিভাবে RSYSLOG ক্লায়েন্ট হিসেবে কনফিগার করতে হয় তার একটি টিউটোরিয়াল নিচের লিংকে দেওয়া হলো।
আমরা যখন নেটওয়ার্কে একটি RSYSLOG সার্ভার ও একটি RSYSLOG ক্লায়েন্ট কনফিগার করবো তখন ক্লায়েন্ট ডিভাইসটি এর জেনারেট হওয়া Log গুলো সার্ভারের কাছে পাঠাবে। এখন আমরা RSYSLOG সার্ভারের টার্মিনাল থেকে ক্লায়েন্টের বিভিন্ন Log দেখতে পারবো। এই Log গুলো বাই ডিফল্ট RSYSLOG সার্ভারের /var/log/message ফাইলের মধ্যে জমা হয়। আমরা যদি পুরো ফাইলের কনটেন্ট দেখতে চাই তাহলে cat /var/log/message কমান্ডটি ব্যবহার করতে হবে। আর যদি ফাইলে শেষ দশটি লাইন দেখতে চাই তাহলে নিচের কমান্ডটি দিতে হবে।
[root@rsyslog ~]# tail -f /var/log/messages Sep 11 23:01:13 server rsyslogd: Warning: backward compatibility layer added to following directive to rsyslog.conf: UDPServerRun (null) Sep 11 23:01:13 server rsyslogd: Name or service not known Sep 11 23:01:13 server rsyslogd: UDP message reception disabled due to error logged in last message. Sep 11 23:01:13 server rsyslogd: Warning: backward compatibility layer added to following directive to rsyslog.conf: ModLoad imuxsock Sep 11 23:03:14 router1.example.com 14: *Mar 1 00:09:07.747: %SYS-5-CONFIG_I: Configured from console by console Sep 11 23:03:47 router1.example.com 15: *Mar 1 00:09:40.563: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down Sep 11 23:03:47 router1.example.com 16: *Mar 1 00:09:41.563: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down Sep 11 23:04:06 router1.example.com 17: *Mar 1 00:10:00.215: %SYS-5-CONFIG_I: Configured from console by console Sep 11 23:08:11 router1.example.com 9: *Mar 1 00:00:14.651: %SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 192.168.10.5 started - CLI initiated Sep 11 23:08:12 router1.example.com 10: *Mar 1 00:00:14.719: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up Sep 11 23:08:13 router1.example.com 11: *Mar 1 00:00:15.367: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Sep 11 23:08:13 router1.example.com 12: *Mar 1 00:00:15.723: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up Sep 11 23:32:35 router1.example.com 13: *Mar 1 00:24:37.191: %SYS-5-CONFIG_I: Configured from console by console
নেটওয়ার্কে যতগুলো RSYSLOG ক্লায়েন্ট ডিভাইস থাকবে ততগুলো ডিভাইসের Log ই FIFO এর ভিত্তিতে RSYSLOG সার্ভারের /var/log/message ফাইলের মধ্যে একের পর এক জমা হবে এবং আমরা তা দেখতে পারবো।
আশাকরি এই টিউটোরিয়ালটি দেখে আপনারা নিজে নিজেই এখন RSYSLOG Server কনফিগার করতে পারবেন। ভাল থাকবেন। আল্লাহ হাফেজ।