یہ ماڈیول کیا کرتا ہے #
ایک اینٹی وائرس آپ کے سرور کی فائلوں کا معلوم مالویئر کے سگنیچرز کے کیٹلاگ سے موازنہ کرتا ہے۔ اگر کوئی چیز مطابقت رکھتی ہو، تو وہ اسے متاثرہ کے طور پر نشان زد کرتا ہے تاکہ وہ گردش میں نہ رہے — مثلاً کسی عوامی فولڈر میں اپ لوڈ کی گئی بدنیت منسلکہ یا 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 استعمال کریں)، کیونکہ وہ دوسرے صارفین کے راستے پڑھتی ہیں اور سسٹم قرنطینہ میں لکھتی ہیں۔ مشین کے پڑھنے کے قابل آؤٹ پٹ کے لیے، جو scripting کے لیے موزوں ہو، کسی بھی کمانڈ میں --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> req. | path | — | scan میں، اسکین کرنے کے لیے فائل یا ڈائریکٹری۔ |
| <id> req. | 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) نکلتا ہے | اسکین نے ایک یا زیادہ خطرات کا پتہ لگایا۔ | رپورٹ کا جائزہ لیں؛ انہیں الگ کرنے کے لیے scan دوبارہ --quarantine کے ساتھ چلائیں۔ |
| 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» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔