یہ ماڈیول کیا کرتا ہے #
auditd لینکس کرنل کا آڈٹنگ سب سسٹم ہے: یہ ریکارڈ کرتا ہے کہ کون لاگ اِن کرتا ہے، کون sudo استعمال کرتا ہے، کون سی حساس فائلیں تبدیل ہوتی ہیں اور کون سے سسٹم کالز عمل میں آتے ہیں۔ یہ تقریباً ہر تعمیلی تقاضے (CIS، PCI، ISO) کی بنیاد ہے۔ مسئلہ یہ ہے کہ اس کے مقامی ٹولز — auditctl، ausearch، aureport — کا نحو کھردرا اور غیر دوستانہ ہے۔
audit ماڈیول اس کے اوپر ایک پڑھنے کے قابل تہہ رکھتا ہے: یہ آپ کو ایک نظر میں بتاتا ہے کہ آیا auditd فعال ہے اور اپنے قواعد لوڈ کیے ہوئے ہے، وقت یا قاعدے کے key کے لحاظ سے فلٹر کر کے حالیہ ایونٹس کی فہرست دیتا ہے، رپورٹ کے انداز کا خلاصہ (لاگ اِنز، sudo/تصدیق اور فائل تبدیلیاں) دیتا ہے اور آپ کو فعال CIS آڈٹ قواعد کی جانچ کرنے دیتا ہے — یہ سب ہر ٹول کی فلیگز یاد رکھے بغیر۔
auditd قواعد عام طور پر immutable موڈ میں لوڈ کیے جاتے ہیں (اگلے ری بوٹ تک مقفل) تاکہ کوئی انہیں فوری طور پر غیر فعال نہ کر سکے۔ اسی لیے reload آپ کو خبردار کرے گا اگر کسی تبدیلی کے لیے reboot درکار ہو، بجائے اسے زبردستی نافذ کرنے کے۔
عام کام #
جو آپ کرنا چاہتے ہیں اسے منتخب کریں۔ ہر ترکیب کمانڈ پہلے سے تیار لاتی ہے — اسے کاپی کریں، ضرورت ہو تو ایڈجسٹ کریں اور کاپی کریں دبائیں۔
1
جانچیں کہ آیا آڈٹنگ فعال ہے
تصدیق کرتا ہے کہ auditd چل رہا ہے، اپنے قواعد لوڈ کیے ہوئے اور کوئی backlog نہیں۔
اپنے سرور سے ubuntu صارف کے ساتھ SSH کے ذریعے جڑیں اور چلائیں:
$ sudo imaxe audit statusکسی اسکرپٹ یا ڈیش بورڈ کے لیے آؤٹ پٹ درکار ہے؟ --json شامل کریں:
$ sudo imaxe audit status --json2
حالیہ ایونٹس دیکھیں
دیکھیں کیا ہوا ہے، وقت یا قاعدے کے key کے لحاظ سے فلٹر کر کے۔
آج کے ایونٹس کو پڑھنے کے قابل خلاصے میں فہرست کریں:
$ sudo imaxe audit events --since todayصرف کسی مخصوص قاعدے کے ایونٹس (اس کے key کے لحاظ سے) اور JSON میں چاہتے ہیں؟ --key اور --json کو ملائیں:
$ sudo imaxe audit events --key identity --jsonausearch کا نحو یاد کیے بغیر فلٹر شدہ ایونٹس ملتے ہیں۔ اگر آپ --since نہ دیں، تو audit.yml کی طے شدہ ونڈو استعمال ہوتی ہے۔3
دن کا خلاصہ حاصل کریں
aureport کے انداز کی رپورٹ: لاگ اِنز، sudo/تصدیق اور فائل تبدیلیاں۔
مجموعی سرگرمی کا خلاصہ مانگیں:
$ sudo imaxe audit summarysudo کے استعمالات اور فائل ترامیم ریکارڈ ہوئی ہیں۔4
قواعد دیکھیں یا دوبارہ لوڈ کریں
فعال قواعد کی جانچ کریں اور immutable موڈ کا احترام کرتے ہوئے تبدیلیاں نافذ کریں۔
ابھی لوڈ شدہ آڈٹ قواعد کی فہرست بنائیں (auditctl -l کے مساوی):
$ sudo imaxe audit rules listاگر آپ نے قاعدہ فائلوں میں ترمیم کی ہے تو انہیں دوبارہ لوڈ کریں۔ اگر سسٹم immutable موڈ میں ہے، تو کمانڈ آپ کو خبردار کرے گی کہ ری بوٹ درکار ہے:
$ sudo imaxe audit rules list --json
$ sudo imaxe audit reloadاگر events خالی آتا ہے، تو پہلے status کے ساتھ جانچیں کہ auditd فعال ہے اور اپنے قواعد لوڈ کیے ہوئے ہے۔ شاید --since ونڈو بہت مختصر ہے، یا کوئی قاعدہ اُس key کو استعمال نہیں کرتا جس سے آپ فلٹر کر رہے ہیں۔ قواعد کو rules list کے ساتھ جانچیں۔
نحو #
imaxe audit <subcomando> [<subcomando anidado>] [--since T] [--key K] [--json]ہر ذیلی کمانڈ آڈٹنگ سب سسٹم سے پڑھتی ہے، جو صرف root کے طور پر قابل رسائی ہے (sudo استعمال کریں)۔ مشین کے پڑھنے کے قابل آؤٹ پٹ کے لیے، جو scripting اور ڈیش بورڈز کے لیے موزوں ہو، status، events یا rules list میں --json شامل کریں۔
ذیلی کمانڈز #
| ذیلی کمانڈ | یہ کیا کرتا ہے | متعلقہ فلیگز |
|---|---|---|
| status | حالت: auditd فعال، قواعد لوڈ شدہ، immutable موڈ اور backlog۔ | --json |
| events | حالیہ، قابل فلٹر ایونٹس کو پڑھنے کے قابل خلاصے میں فہرست کرتا ہے۔ | --since, --key, --json |
| summary | aureport کے انداز کا خلاصہ: لاگ اِنز، sudo/تصدیق اور فائل تبدیلیاں۔ | — |
| rules | آڈٹ قواعد کے لیے انتظامی گروپ۔ ایک nested ذیلی کمانڈ درکار ہے۔ | — |
| rules list | فعال قواعد کی فہرست بناتا ہے (auditctl -l کے مساوی)۔ | --json |
| reload | قواعد کو دوبارہ لوڈ کرتا ہے؛ immutable موڈ کا احترام کرتا ہے اور اگر ری بوٹ درکار ہو تو خبردار کرتا ہے۔ | — |
آرگیومنٹس اور فلیگز #
| فلیگ | قسم | طے شدہ | تفصیل |
|---|---|---|---|
| --since | string | audit.yml | events میں: کب سے فہرست بنانی ہے (مثلاً today، recent، 'now-1 hour')۔ اگر چھوڑ دیا جائے، تو audit.yml سے default_since استعمال ہوتا ہے۔ |
| --key | string | — | events میں: کسی auditd قاعدے کے key کے لحاظ سے فلٹر کرتا ہے (مثلاً identity)۔ |
| --json | bool | false | status، events اور rules list میں: نتیجہ stdout پر منظم JSON کے طور پر جاری کرتا ہے۔ |
summary، rules اور reload کوئی فلیگ نہیں لیتے: وہ ویسے ہی چلتے ہیں۔ یاد رکھیں کہ rules کو ہمیشہ nested ذیلی کمانڈ list درکار ہوتی ہے۔
فائلیں اور راستے #
| راستہ | مواد |
|---|---|
| /etc/imaxe/audit.yml | ماڈیول کی کنفیگریشن: events کے لیے طے شدہ ونڈو (default_since) اور دیگر اختیارات۔ |
| /etc/audit/audit.rules | auditd کے ذریعے بوٹ پر لوڈ ہونے والے آڈٹ قواعد (CIS بیس لائن)۔ |
| /etc/audit/rules.d/ | قاعدہ ٹکڑے جو حتمی سیٹ میں جمع کیے جاتے ہیں۔ |
| /var/log/audit/audit.log | ایونٹ لاگ جسے auditd لکھتا ہے اور جسے events/summary پڑھتے ہیں۔ |
audit.yml کی مثال:
events:
default_since: todayایگزٹ کوڈز اور لاگز #
ہر عملدرآمد ایک کوڈ لوٹاتا ہے جسے آپ echo $? کے ساتھ جانچ سکتے ہیں — اسکرپٹس میں سلسلہ بنانے کے لیے مفید:
مسئلہ حل کرتے وقت لاگ کی براہ راست پیروی کریں:
$ sudo journalctl -u auditd -f
$ sudo tail -f /var/log/audit/audit.logمسائل کا حل #
| علامت | ممکنہ وجہ | حل |
|---|---|---|
| AUDITD (کوڈ 3) نکلتا ہے | auditd سروس نہیں چل رہی۔ | اسے systemctl start auditd کے ساتھ شروع کریں اور imaxe audit status دہرائیں۔ |
events کچھ نہیں لوٹاتا | --since ونڈو بہت مختصر یا غیر موجود key۔ | --since کو وسیع کریں (مثلاً 'now-1 hour') یا rules list کے ساتھ keys جانچیں۔ |
reload ری بوٹ کے بارے میں خبردار کرتا ہے | قواعد immutable موڈ میں ہیں (ری بوٹ تک مقفل)۔ | تبدیلیاں نافذ کرنے کے لیے ری بوٹ شیڈول کریں؛ تب تک پچھلے قواعد نافذ رہتے ہیں۔ |
| USAGE (کوڈ 2) نکلتا ہے | rules کو nested ذیلی کمانڈ کے بغیر بلایا گیا۔ | imaxe audit rules list استعمال کریں: rules کو ہمیشہ ایک ذیلی کمانڈ درکار ہوتی ہے۔ |
کیا آڈٹ ماڈیول کے ساتھ اٹک گئے ہیں؟
«imaxe <module> status --json» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔