এই মডিউল কী করে #
একটি অ্যান্টিভাইরাস আপনার সার্ভারের ফাইলগুলোকে পরিচিত ম্যালওয়্যারের সিগনেচার-এর একটি ক্যাটালগের সাথে তুলনা করে। যদি কিছু মিলে যায়, এটি সেটিকে সংক্রমিত হিসেবে চিহ্নিত করে যাতে সেটি ছড়াতে না পারে — উদাহরণস্বরূপ, একটি পাবলিক ফোল্ডারে আপলোড করা একটি ক্ষতিকর অ্যাটাচমেন্ট বা FTP-এর মাধ্যমে আসা একটি কলুষিত ফাইল।
clamav মডিউলটি কয়েকটি পরিষ্কার কমান্ডের মাধ্যমে ClamAV ইঞ্জিনকে হাতের নাগালে আনে: এর অবস্থা যাচাই করুন, আপনি যে পাথ চান তা স্ক্যান করুন (একটি ফাইল বা একটি সম্পূর্ণ গাছ), সংক্রমিত যেকোনো কিছু নিয়ে কী করবেন তা ঠিক করুন — কেবল রিপোর্ট করুন, মুছে ফেলুন বা একটি নিরাপদ কোয়ারেন্টাইনে সরান যেখান থেকে আপনি পরে তা পুনরুদ্ধার করতে পারেন — এবং freshclam দিয়ে সিগনেচার ডাটাবেস হালনাগাদ রাখুন। কোয়ারেন্টাইন ফাইলটি না মুছে আলাদা করে রাখে, তাই আপনি কখনো ভুলবশত কিছু হারান না।
একটি স্ক্যান সেই মুহূর্তে আপনার কাছে যে সিগনেচার ডাটাবেস আছে তা দিয়ে শনাক্ত করে। কয়েক দিন হালনাগাদ না করে থাকলে, সাম্প্রতিক হুমকি যাতে হাতছাড়া না হয় তার জন্য আগে imaxe clamav update চালান। বড় গাছ স্ক্যান করতে সময় ও CPU লাগতে পারে: আপনি সত্যিই যা যাচাই করতে চান সেই পাথে সংকুচিত করুন।
সাধারণ কাজ #
আপনি কী করতে চান তা বেছে নিন। প্রতিটি রেসিপিতে কমান্ডটি প্রস্তুত অবস্থায় আছে — শুধু পাথটি নিজেরটি দিয়ে বদলান এবং কপি করুন চাপুন।
1
ClamAV প্রস্তুত কিনা দেখুন
ইঞ্জিন, মোড এবং আপনার সিগনেচার কত পুরনো তা যাচাই করে।
SSH-এর মাধ্যমে আপনার সার্ভারে সংযোগ করুন এবং সামগ্রিক অবস্থা চান:
$ sudo imaxe clamav statusকেবল সিগনেচার ডাটাবেসে আগ্রহী — সংস্করণ, তারিখ ও ফাইল? db ব্যবহার করুন:
$ sudo imaxe clamav db2
একটি ফোল্ডার স্ক্যান করুন
একটি পাথ যাচাই করুন এবং কিছু স্পর্শ না করেই রিপোর্ট রাখুন।
--recursive দিয়ে একটি ডিরেক্টরি ও তার সব বিষয়বস্তু স্ক্যান করুন। ডিফল্টভাবে এটি কেবল রিপোর্ট করে: এটি কিছু মুছে না বা সরায় না।
$ sudo imaxe clamav scan /home --recursiveশুধু একটি ফাইল? --recursive ছাড়াই এটিকে সরাসরি পাথ দিন:
$ sudo imaxe clamav scan /srv/uploads/factura.pdf3
সংক্রমিত জিনিস স্ক্যান ও আলাদা করুন
পজিটিভ আসা সবকিছু স্বয়ংক্রিয়ভাবে কোয়ারেন্টাইনে সরায়।
একটি পাথ স্ক্যান করুন এবং --quarantine দিয়ে, প্রতিটি সংক্রমিত ফাইলকে যেখানে আছে সেখানে না রেখে কোয়ারেন্টাইনে সরান:
$ sudo imaxe clamav scan /srv/uploads --recursive --quarantineআলাদা করার বদলে সংক্রমিত জিনিস সরাসরি মুছে ফেলতে চাইলে, --remove ব্যবহার করুন (এটি অপরিবর্তনীয়, বুদ্ধিমানের মতো ব্যবহার করুন):
$ sudo imaxe clamav scan /srv/uploads --recursive --remove4
কোয়ারেন্টাইন পর্যালোচনা ও পুনরুদ্ধার করুন
কী আলাদা করা আছে দেখুন এবং প্রয়োজনে একটি ফলস পজিটিভ পুনরুদ্ধার করুন।
কোয়ারেন্টাইনে কী আছে তার তালিকা দিন — প্রতিটি এন্ট্রি এর শনাক্তকারী, উৎস, সিগনেচার ও তারিখসহ আসে:
$ sudo imaxe clamav quarantine listএটি কি একটি ফলস পজিটিভ ছিল? তালিকায় দেখানো শনাক্তকারী ব্যবহার করে এটি তার মূল পাথে পুনরুদ্ধার করুন:
$ sudo imaxe clamav quarantine restore a1b2c3d4আলাদা করা সবকিছু আবর্জনা তা নিশ্চিত হওয়ার পর, কোয়ারেন্টাইন একেবারে খালি করুন:
$ sudo imaxe clamav quarantine purge --yes5
সিগনেচার হালনাগাদ করুন
নতুন হুমকি শনাক্ত করতে সর্বশেষ সংজ্ঞাগুলো ডাউনলোড করুন।
সবচেয়ে সাম্প্রতিক সিগনেচার ডাটাবেস আনতে freshclam চালান:
$ sudo imaxe clamav updateএরপর, ডাটাবেসটি তার সংস্করণ ও তারিখসহ হালনাগাদ কিনা নিশ্চিত করুন:
$ sudo imaxe clamav db--remove নিয়ে সতর্ক থাকুনমুছে ফেলা ফাইলটিকে ফিরে পাওয়ার উপায় ছাড়াই সরিয়ে দেয়, আর কোনো অ্যান্টিভাইরাসই ফলস পজিটিভ থেকে মুক্ত নয়। সন্দেহ হলে, সবসময় --quarantine ব্যবহার করুন: এটি সমানভাবে আলাদা করে এবং আপনি ভুল করলে পুনরুদ্ধার করতে দেয়।
সারসংক্ষেপ #
imaxe clamav <subcomando> [<ruta>] [--recursive] [--quarantine|--remove] [--json]যে সাবকমান্ডগুলো ফাইল স্ক্যান, সরানো বা মুছে ফেলে সেগুলোর জন্য root প্রিভিলেজ প্রয়োজন (sudo ব্যবহার করুন), কারণ এগুলো অন্য ব্যবহারকারীর পাথ পড়ে এবং সিস্টেম কোয়ারেন্টাইনে লেখে। স্ক্রিপ্টিং-এর উপযোগী মেশিন-পাঠযোগ্য আউটপুট পেতে যেকোনো কমান্ডে --json যোগ করুন।
সাবকমান্ড #
| সাবকমান্ড | কী করে | প্রাসঙ্গিক ফ্ল্যাগ |
|---|---|---|
| status | ClamAV-এর অবস্থা: ইঞ্জিন, মোড (daemon/on-demand), freshclam ও সিগনেচার ডাটাবেস। | --json |
| scan | একটি পাথ স্ক্যান করে; সংক্রমিত জিনিস রিপোর্ট, মুছে ফেলা বা কোয়ারেন্টাইন করতে পারে। | --recursive, --remove, --quarantine, --json |
| update | freshclam-এর মাধ্যমে সিগনেচার ডাটাবেস হালনাগাদ করে। | --json |
| db | সিগনেচার ডাটাবেসের তথ্য: সংস্করণ, তারিখ ও ফাইল। | --json |
| quarantine | সংক্রমিত ফাইলের কোয়ারেন্টাইন পরিচালনা করে (সাবকমান্ড গ্রুপ)। | list · restore · purge |
quarantine গ্রুপটি তিনটি সাবকমান্ড একত্র করে:
| সাবকমান্ড | কী করে | প্রাসঙ্গিক ফ্ল্যাগ |
|---|---|---|
| quarantine list | কোয়ারেন্টাইনে থাকা ফাইলের তালিকা দেয় (উৎস, সিগনেচার, তারিখ)। | --json |
| quarantine restore | কোয়ারেন্টাইন থেকে একটি ফাইল তার মূল পাথে বা একটি নির্দিষ্ট গন্তব্যে পুনরুদ্ধার করে। | <id> [<destino>] |
| quarantine purge | কোয়ারেন্টাইনের সবকিছু স্থায়ীভাবে মুছে ফেলে। | --yes |
আর্গুমেন্ট ও ফ্ল্যাগ #
| ফ্ল্যাগ / আর্গুমেন্ট | ধরন | ডিফল্ট | বিবরণ |
|---|---|---|---|
| <ruta> আবশ্যক | path | — | scan-এ, স্ক্যান করার ফাইল বা ডিরেক্টরি। |
| <id> আবশ্যক | string | — | quarantine restore-এ, কোয়ারেন্টাইন করা আইটেমের শনাক্তকারী (quarantine list-এ দেখানো হয়)। |
| <destino> | path | ruta original | quarantine restore-এ, ফাইলটি যে পাথে পুনরুদ্ধার করতে হবে। ডিফল্টভাবে এর মূল অবস্থান। |
| --recursive | bool | false | scan-এ, ডিরেক্টরির রিকার্সিভ স্ক্যান। |
| --quarantine | bool | false | scan-এ, সংক্রমিত ফাইলগুলো কোয়ারেন্টাইনে সরায়। |
| --remove | bool | false | scan-এ, সংক্রমিত ফাইলগুলো মুছে ফেলে। অপরিবর্তনীয়; --quarantine-এর সাথে পারস্পরিকভাবে বর্জনীয়। |
| --yes | bool | false | quarantine purge-এ, জিজ্ঞাসা না করেই মুছে ফেলা নিশ্চিত করে। |
| --json | bool | false | ফলাফল stdout-এ JSON হিসেবে দেয়। প্রতিটি সাবকমান্ডে উপলব্ধ। |
ফাইল ও পাথ #
| পাথ | বিষয়বস্তু |
|---|---|
| /etc/imaxe/clamav.yml | মডিউলের কনফিগারেশন: কোয়ারেন্টাইন ডিরেক্টরি এবং স্ক্যান থেকে বাদ দেওয়া পাথ। |
| /var/lib/imaxe/clamav/quarantine | কোয়ারেন্টাইন স্টোর: এখানেই পুনরুদ্ধারযোগ্য সংক্রমিত ফাইলগুলো আলাদা করে রাখা হয়। |
| /var/lib/clamav/ | freshclam দ্বারা রক্ষণাবেক্ষণ করা সিগনেচার ডাটাবেস (ম্যালওয়্যার সংজ্ঞা)। |
| /var/log/imaxe/clamav.log | প্রতিটি স্ক্যান, কোয়ারেন্টাইন ও হালনাগাদের কাঠামোবদ্ধ লগ। |
clamav.yml-এর উদাহরণ:
quarantine_dir: /var/lib/imaxe/clamav/quarantine
scan:
exclude:
- /proc
- /sysscan.exclude হলো স্ক্যান যে পাথগুলো এড়িয়ে যায় তার একটি তালিকা; এটি ডিফল্টভাবে খালি আসে।
প্রস্থান কোড ও লগ #
প্রতিটি চালানো একটি কোড ফেরত দেয় যা আপনি echo $? দিয়ে যাচাই করতে পারেন — স্ক্রিপ্টে চেইন করার জন্য উপযোগী:
সমস্যা সমাধানের সময় লগটি সরাসরি অনুসরণ করুন:
$ sudo tail -f /var/log/imaxe/clamav.logসমস্যা সমাধান #
| উপসর্গ | সম্ভাব্য কারণ | সমাধান |
|---|---|---|
| আপনি INFECTED (কোড 3) পান | স্ক্যান এক বা একাধিক হুমকি শনাক্ত করেছে। | রিপোর্ট পর্যালোচনা করুন; সেগুলো আলাদা করতে --quarantine দিয়ে আবার scan চালান। |
| আপনি UPDATE (কোড 4) পান | freshclam সিগনেচার ডাউনলোড করতে পারেনি (নেটওয়ার্ক বা মিরর বন্ধ)। | সার্ভারের ইন্টারনেট প্রবেশাধিকার যাচাই করুন এবং clamav update আবার চেষ্টা করুন। |
| স্ক্যানে অনেক সময় লাগে | পাথটি অনেক বেশি ফাইল বা সিস্টেম পাথ জুড়ে বিস্তৃত। | পাথটি সংকুচিত করুন এবং clamav.yml-এ scan.exclude দিয়ে অপ্রয়োজনীয় জিনিস বাদ দিন। |
| আমি একটি বৈধ ফাইল হারিয়েছি | --quarantine দিয়ে কোয়ারেন্টাইনে সরানো একটি ফলস পজিটিভ। | quarantine list দিয়ে এটি খুঁজুন এবং quarantine restore <id> দিয়ে পুনরুদ্ধার করুন। |
| অবস্থা পুরনো সিগনেচার দেখায় | freshclam কিছুকাল চলেনি। | clamav update চালান এবং clamav db দিয়ে যাচাই করুন। |
ClamAV মডিউল নিয়ে আটকে গেছেন?
«imaxe <module> status --json» এর আউটপুট সহ আমাদের লিখুন, আমরা দ্রুত উত্তর দেব।