یہ ماڈیول کیا کرتا ہے #
ایک rootkit بدنیت سافٹ ویئر ہے جو آپ کے سرور میں چپکے سے گھسنے اور چھپنے کے لیے بنایا گیا ہے: یہ سسٹم کمانڈز کی جگہ لے لیتا ہے، backdoors کھولتا ہے اور اپنے نشانات مٹا دیتا ہے تاکہ آپ اسے نہ دیکھ سکیں۔ مسئلہ بالکل یہی ہے — جب یہ اچھی طرح کام کرتا ہے، تو آپ کو اس کا پتہ نہیں چلتا۔ اسی لیے سسٹم کو باقاعدگی سے جانچنا فائدہ مند ہے۔
rkhunter ماڈیول یہ کام آپ کے لیے کرنے کے لیے rkhunter (Rootkit Hunter) پر انحصار کرتا ہے: یہ فائلوں اور کمانڈز کا معلوم rootkit دستخطوں سے موازنہ کر کے سسٹم کو اسکین کرتا ہے، مشکوک خصوصیات (عجیب اجازتیں، چھپے ہوئے پورٹس، تبدیل شدہ binaries) پر نظر رکھتا ہے اور آپ کے لیے وارننگز کا خلاصہ واضح زبان میں کرتا ہے تاکہ آپ جان سکیں کہ کس چیز کو دیکھنا ہے۔ یہ ایک بیس لائن بھی برقرار رکھتا ہے — اس بات کی تصویر کہ آپ کی فائلیں کیسی نظر آنی چاہئیں — اور دستخطوں کو اپ ڈیٹ رکھتا ہے، وہ دو حصے جن پر قابل اعتماد شناخت کا انحصار ہے۔
ماڈیول انسٹال کرنے یا سسٹم پیکجز اپ ڈیٹ کرنے کے بعد، بیس لائن کو update-baseline کے ساتھ اپ ڈیٹ کریں۔ اگر آپ ایسا نہیں کرتے، تو جائز تبدیلیاں (مثلاً کوئی apt upgrade) وارننگز کے طور پر ظاہر ہوں گی اور آپ کو عام کو مشکوک سے الگ کرنے میں دشواری ہوگی۔
عام کام #
جو آپ کرنا چاہتے ہیں اسے منتخب کریں۔ ہر ترکیب کمانڈ پہلے سے لکھی ہوئی لاتی ہے — اسے کاپی کریں، پیسٹ کریں اور کاپی کریں دبائیں۔
1
سسٹم ابھی اسکین کریں
ایک مکمل تجزیہ شروع کریں اور وارننگز کا خلاصہ حاصل کریں۔
اپنے سرور سے ubuntu صارف کے ساتھ SSH کے ذریعے جڑیں۔
اسکین شروع کریں۔ اس میں کچھ وقت لگتا ہے: rkhunter سینکڑوں فائلوں اور کمانڈز کا جائزہ لیتا ہے۔
$ sudo imaxe rkhunter checkاسے کسی اسکرپٹ سے چلا رہے ہیں یا کسی دوسرے ٹول کے ساتھ ضم کرنا چاہتے ہیں؟ --json شامل کریں:
$ sudo imaxe rkhunter check --json2
آخری اسکین کی وارننگز دیکھیں
rkhunter نے جو نشان زد کیا اسے پڑھنے کے قابل انداز میں دیکھیں۔
دوبارہ اسکین کیے بغیر آخری check کی وارننگز دکھائیں:
$ sudo imaxe rkhunter report3
حالت جانچیں
ایک نظر میں: تنصیب، بیس لائن، آخری اسکین اور وارننگز۔
ایک فوری خلاصہ کہ آیا rkhunter تیار ہے، آیا بیس لائن موجود ہے، آخری اسکین کب ہوا تھا، اس نے کتنی وارننگز چھوڑیں اور آیا کوئی اسکین شیڈول شدہ ہے:
$ sudo imaxe rkhunter statusنگرانی یا اسکرپٹس کے لیے، اسے JSON میں مانگیں:
$ sudo imaxe rkhunter status --json4
بیس لائن اپ ڈیٹ کریں
فائلوں کی موجودہ حالت کو ایک اچھے حوالے کے طور پر قبول کریں۔
فائلوں کی موجودہ خصوصیات کو بیس لائن کے طور پر محفوظ کریں (rkhunter --propupd کے مساوی)۔ یہ صرف اسی وقت کریں جب آپ کو سسٹم کی حالت پر بھروسہ ہو — مثلاً اسے انسٹال کرنے کے فوراً بعد یا کسی اپ ڈیٹ کے بعد جسے آپ پہچانتے ہیں:
$ sudo imaxe rkhunter update-baselinecheck اسی نئی حوالہ تصویر سے شروع ہوتا ہے۔5
دستخط اپ ڈیٹ کریں
rkhunter کی سب سے حالیہ ڈیٹا فائلیں ڈاؤن لوڈ کریں۔
rkhunter کی ڈیٹا فائلیں اور دستخط اپ ڈیٹ کریں (rkhunter --update کے مساوی) تاکہ شناخت سب سے حالیہ rootkits کے بارے میں جانے:
$ sudo imaxe rkhunter update-datacheck زیادہ حالیہ خطرات کا پتہ لگاتا ہے۔ کسی اہم اسکین سے پہلے ایسا کرنا فائدہ مند ہے۔پہلی بار یا پیکجز اپ ڈیٹ کرنے کے فوراً بعد یہ معمول ہے: rkhunter ایسی تبدیلیاں دیکھتا ہے جو ابھی بیس لائن میں نہیں ہیں۔ انہیں report کے ساتھ دیکھیں، اور اگر آپ انہیں جائز کے طور پر پہچانتے ہیں، تو انہیں update-baseline کے ساتھ قبول کریں۔ اگر آپ کو شبہ ہو کہ سسٹم پہلے ہی سمجھوتہ شدہ ہے تو کبھی بیس لائن اپ ڈیٹ نہ کریں۔
نحو #
imaxe rkhunter <subcomando> [--json]تمام ذیلی کمانڈز کو root کے مراعات درکار ہیں (sudo استعمال کریں) کیونکہ rkhunter کو سسٹم کی فائلیں پڑھنے، binaries کا موازنہ کرنے اور اپنی بیس لائن اور اپنا ڈیٹا لکھنے کی ضرورت ہے۔ مشین کے پڑھنے کے قابل آؤٹ پٹ حاصل کرنے کے لیے، جو scripting اور نگرانی کے لیے موزوں ہو، check یا status میں --json شامل کریں۔
ذیلی کمانڈز #
| ذیلی کمانڈ | یہ کیا کرتا ہے | متعلقہ فلیگز |
|---|---|---|
| check | ایک rootkit/malware اسکین شروع کرتا ہے اور وارننگز کا خلاصہ کرتا ہے۔ | --json |
| report | آخری اسکین کی وارننگز کو پڑھنے کے قابل انداز میں دکھاتا ہے۔ | — |
| status | حالت: انسٹال شدہ، بیس لائن موجود، آخری اسکین، وارننگز اور شیڈول شدہ اسکین۔ | --json |
| update-baseline | فائلوں کی موجودہ خصوصیات کو بیس لائن کے طور پر قبول کرتا ہے (rkhunter --propupd)۔ | — |
| update-data | rkhunter کی ڈیٹا/دستخط فائلیں اپ ڈیٹ کرتا ہے (rkhunter --update)۔ | — |
آرگیومنٹس اور فلیگز #
| فلیگ | قسم | طے شدہ | تفصیل |
|---|---|---|---|
| --json | bool | false | check/status میں، نتیجہ stdout پر منظم JSON کے طور پر جاری کرتا ہے، جو scripting اور نگرانی کے لیے موزوں ہے۔ |
report، update-baseline اور update-data ذیلی کمانڈز کوئی فلیگ نہیں لیتے: وہ بغیر آرگیومنٹس کے چلتے ہیں۔
فائلیں اور راستے #
| راستہ | مواد |
|---|---|
| /etc/imaxe/rkhunter.yml | ماڈیول کی کنفیگریشن: طے شدہ طور پر، check صرف وارننگز کی رپورٹ کرتا ہے (report_warnings_only)۔ |
| /var/lib/rkhunter/db/ | فائلوں کی خصوصیات کی بیس لائن اور ڈیٹا/دستخط فائلیں جنہیں update-baseline اور update-data اپ ڈیٹ کرتے ہیں۔ |
| /var/log/rkhunter.log | آخری اسکین کا لاگ، جس سے report وارننگز نکالتا ہے۔ |
rkhunter.yml کی مثال:
check:
report_warnings_only: trueایگزٹ کوڈز اور لاگز #
ہر عملدرآمد ایک کوڈ لوٹاتا ہے جسے آپ echo $? کے ساتھ جانچ سکتے ہیں — اسکرپٹس میں سلسلہ بنانے یا نگرانی سے الرٹس دینے کے لیے مفید:
جائزہ لیتے وقت آخری اسکین کا لاگ جانچیں:
$ sudo imaxe rkhunter report
$ sudo tail -f /var/log/rkhunter.logمسائل کا حل #
| علامت | ممکنہ وجہ | حل |
|---|---|---|
| پیکجز اپ ڈیٹ کرنے کے بعد WARN نکلتا ہے (کوڈ 1) | جائز تبدیلیاں جو ابھی بیس لائن میں نہیں ہیں۔ | report کے ساتھ جائزہ لیں؛ اگر آپ انہیں پہچانتے ہیں، تو انہیں update-baseline کے ساتھ قبول کریں۔ |
status کہتا ہے «baseline: not present» | ماڈیول ابھی انسٹال ہوا ہے اور کوئی حوالہ تصویر نہیں ہے۔ | سسٹم کے قابل اعتماد حالت میں ہونے پر ایک بار update-baseline چلائیں۔ |
| پرانی فائلوں یا ورژنز کے بارے میں بہت سی وارننگز | rkhunter کے دستخط اور ڈیٹا پرانے ہو چکے ہیں۔ | update-data چلائیں اور check دہرائیں۔ |
| ERR نکلتا ہے (کوڈ 3) | rkhunter انسٹال نہیں ہے یا binary جواب نہیں دے رہا۔ | ماڈیول کی تنصیب جانچیں اور /var/log/rkhunter.log دیکھیں۔ |
کیا rkhunter ماڈیول کے ساتھ اٹک گئے ہیں؟
«imaxe <module> status --json» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔