ClamAV একটি ওপেন-সোর্স অ্যান্টিভাইরাস। এটি ভাইরাস, ট্রোজান এবং ম্যালওয়্যার ডিটেক্ট করতে ব্যবহৃত হয়। এটি মূলত লিনাক্স প্ল্যাটফর্মে FTP বা Samba-এ অ্যাক্সেসযোগ্য ইউজার ডিরেক্টরি, ওয়েবসাইট ডিরেক্টরি, বা মেইল সার্ভারে ইমেইল স্ক্যান করার জন্য (MTA এজেন্ট হিসেবে) ব্যবহৃত হয়।
এই লেখায়, আমরা দেখাব কিভাবে CentOS বা RHEL লিনাক্স ডিস্ট্রো চলমান একটি হোস্টে ClamAV ইনস্টল, কনফিগার এবং ব্যবহার করতে হয়।
CentOS/RHEL-এ ClamAV ইনস্টলেশন
ClamAV বেসিক লিনাক্স রিপোজিটরিতে উপলব্ধ নয়, তাই আপনাকে আপনার হোস্টে এটি ইনস্টল করতে EPEL রিপোজিটরি ব্যবহার করতে হবে:
# yum install epel-release -y
রিপোজিটরি ইনস্টল করার পর, আপনি ClamAV প্যাকেজগুলোর ইনস্টলেশন দিয়ে आगे যেতে পারেন। ইনস্টল করতে yum প্যাকেজ ম্যানেজার ব্যবহার করা হয় (CentOS 8-এ dnf):
# yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

লিনাক্সে ClamAV-এর বেসিক কনফিগারেশন
আপনার নিজস্ব ClamAV কনফিগারেশন সেট আপ করতে, /etc/clam.d/scan.conf-এ ডিফল্ট কনফিগারেশন ডিলিট করুন।
# sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
তারপর কনফিগারেশন ফাইলটি খুলুন:
# nano /etc/clamd.d/scan.conf
এবং নিচের লাইনটি আনকমেন্ট করুন:
LocalSocket /run/clamd.scan/clamd.sock
আপনি আপনার প্রয়োজনীয় সেটিংসের লাইনগুলোকেও আনকমেন্ট করতে পারেন। উদাহরণস্বরূপ, আপনি লগিং সক্ষম করতে পারেন বা সর্বোচ্চ সংযোগের সংখ্যা কনফিগার করতে পারেন।
/etc/clamd.d/scan.conf ফাইলটি সব সেটিংসের খুব বিস্তারিত বর্ণনা ধারণ করে।
ClamAV-এর জন্য অ্যান্টি-ভাইরাস সিগনেচার ডাটাবেস আপডেট করতে, আপনাকে freshclam ব্যবহার করতে হবে। বর্তমান কনফিগারেশন ফাইলটি ব্যাকআপ নিন:
# cp /etc/freshclam.conf /etc/freshclam.conf.bak
তারপর এই কমান্ড চালান:
# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
এবং আপনার অ্যান্টিভাইরাস ডেফিনিশন আপডেট করুন:
# freshclam

আপডেট করার সময়, আপনি কিছু এরর দেখতে পারেন যদি কোনো আপডেট ডাউনলোড করতে না পারেন। Freshclam স্বয়ংক্রিয়ভাবে একটি মিরর খুঁজে বের করবে যাতে আপডেট সফলভাবে ডাউনলোড হয়।
freshclam কে স্বয়ংক্রিয়ভাবে আপডেট চেক করার জন্য চালাতে চাইলে -d প্যারামিটার ব্যবহার করুন:
# freshclam -d — এভাবে, এটি প্রতি ২ ঘন্টায় একবার আপডেট চেক করবে।

আসান করে চালানোর জন্য, freshclam-এর জন্য একটি সার্ভিস ফাইল তৈরি করুন:
# nano /usr/lib/systemd/system/freshclam.service
এবং এতে নিচের কন্টেন্ট যোগ করুন:
[Unit] Description = freshclam After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 4 Restart = on-failure PrivateTmp = true RestartSec = 10sec [Install] WantedBy=multi-user.target
systemd ডেমন রিলোড করুন:
# systemctl daemon-reload
তারপর আপনার সার্ভিস শুরু করুন এবং স্টার্টআপে যোগ করুন:
# systemctl start freshclam.service
# systemctl enable freshclam.service
# systemctl status freshclam.service

freshclam-এর মতো, ClamAV-এর জন্য একটি সার্ভিস তৈরি করুন। কনফিগারেশন ফাইলটি ইতিমধ্যে আছে, কিন্তু আপনাকে এর নাম পরিবর্তন করতে হবে:
# mv /usr/lib/systemd/system/clamd\@.service /usr/lib/systemd/system/clamd.service
সুবিধার জন্য, আমরা \@ মুছে দিয়েছি।
এছাড়া, ফাইলে কনফিগারেশন পরিবর্তন করুন:
[Unit] Description = clamd scanner daemon After = syslog.target nss-lookup.target network.target [Service] Type = forking ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf # Reload the database ExecReload=/bin/kill -USR2 $MAINPID Restart = on-failure TimeoutStartSec=420 [Install] WantedBy = multi-user.target
তারপর আপনি অ্যান্টিভাইরাস সার্ভিস চালু বা সক্ষম করতে পারেন:
# systemctl start clamd.service
# systemctl enable clamd.service

ClamAV দিয়ে ভাইরাস স্ক্যান কীভাবে করবেন?
ClamAV অ্যান্টিভাইরাস সার্ভিস কনফিগার করার পর, আপনি সার্ভারের যেকোনো ডিরেক্টরি ভাইরাসের জন্য স্ক্যান করতে পারেন (স্ক্যানার মোড)। নির্দিষ্ট ডিরেক্টরি ভাইরাসের জন্য স্ক্যান করতে নিচের কমান্ড ব্যবহার করুন:
# clamscan --infected --remove --recursive /var/www/

এই প্যারামিটারগুলো দিয়ে, অ্যান্টিভাইরাস সংক্রমিত ফাইলগুলো তাৎক্ষণিকভাবে ডিলিট করবে। আপনি যদি সন্দেহজনক ফাইলগুলো একটি আলাদা ডিরেক্টরিতে সরাতে চান, তবে স্ক্যান —move প্যারামিটার দিয়ে চালান:
# clamscan --infected --recursive --move=/tmp/clamscan /var/www
এই কমান্ড নির্দিষ্ট ডিরেক্টরির সব কন্টেন্ট স্ক্যান করবে এবং সন্দেহজনক ফাইলগুলো /tmp/clamscan-এ সরিয়ে দেবে।

আমরা দেখতে পাচ্ছি, সংক্রমিত ফাইলটি নির্দিষ্ট ডিরেক্টরিতে সরিয়ে দেওয়া হয়েছে:

আপনি —log=/var/log/clamscan.log প্যারামিটারও যোগ করতে পারেন স্ক্যানিং প্রসেসের সব তথ্য আপনার নির্দিষ্ট লগ ফাইলে লিখতে:

আপনি যদি স্ক্যানিং থেকে কিছু ডিরেক্টরি বাদ দিতে চান, তবে —exclude-dir প্যারামিটার ব্যবহার করুন:
# clamscan -i --recursive --move=/tmp/clamscan --log=/var/log/clamscan.log --exclude-dir="/var/www/administrator" /var/www
নিয়মিত ভাইরাস স্ক্যান করার জন্য, আপনি আপনার পছন্দের সেটিংসহ একটি ক্রন জব কনফিগার করতে পারেন।
ClamAV অ্যান্টিভাইরাসের জন্য একটি গ্রাফিক্যাল ফ্রন্টএন্ড আছে যাকে ClamTk বলা হয়।