এই মডিউল কী করে #
auditd হলো Linux কার্নেলের অডিট সাবসিস্টেম: এটি রেকর্ড করে কে লগইন করে, কে sudo ব্যবহার করে, কোন সংবেদনশীল ফাইল পরিবর্তিত হয় এবং কোন সিস্টেম কল চালানো হয়। এটি প্রায় যেকোনো কমপ্লায়েন্স প্রয়োজনীয়তার (CIS, PCI, ISO) ভিত্তি। সমস্যা হলো এর নেটিভ টুলগুলোর — auditctl, ausearch, aureport — সিনট্যাক্স রুক্ষ ও অপ্রীতিকর।
audit মডিউলটি উপরে একটি পাঠযোগ্য স্তর যোগ করে: এটি এক নজরে জানায় auditd সক্রিয় কিনা এবং নিয়ম লোড আছে কিনা, সময় বা নিয়মের key অনুসারে ফিল্টার করে সাম্প্রতিক ইভেন্ট তালিকাভুক্ত করে, একটি প্রতিবেদন-ধরনের সারসংক্ষেপ দেয় (লগইন, sudo/প্রমাণীকরণ ও ফাইল পরিবর্তন) এবং সক্রিয় CIS অডিট নিয়মগুলো দেখার সুযোগ দেয় — প্রতিটি টুলের ফ্ল্যাগ মনে রাখা ছাড়াই।
auditd-এর নিয়ম সাধারণত immutable মোডে লোড করা হয় (পরবর্তী রিবুট পর্যন্ত লক করা) যাতে কেউ চলন্ত অবস্থায় সেগুলো নিষ্ক্রিয় করতে না পারে। সেই কারণে reload জোর করে প্রয়োগ করার বদলে সতর্ক করবে যদি কোনো পরিবর্তনের জন্য reboot প্রয়োজন হয়।
সাধারণ কাজ #
আপনি কী করতে চান তা বেছে নিন। প্রতিটি রেসিপিতে কমান্ডটি আগে থেকেই লেখা আছে — কপি করুন, প্রয়োজনে সমন্বয় করুন এবং কপি করুন চাপুন।
1
অডিট সক্রিয় কিনা যাচাই করুন
নিশ্চিত করুন auditd চলছে, নিয়ম লোড আছে এবং কোনো ব্যাকলগ নেই।
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/auth ও ফাইল পরিবর্তন।
কার্যকলাপের সমষ্টিগত সারসংক্ষেপ চান:
$ sudo imaxe audit summarysudo-এর ব্যবহার ও ফাইল পরিবর্তন রেকর্ড করা হয়েছে।4
নিয়ম দেখুন বা পুনরায় লোড করুন
সক্রিয় নিয়মগুলো দেখুন এবং immutable মেনে চলে পরিবর্তন প্রয়োগ করুন।
এই মুহূর্তে লোড থাকা অডিট নিয়মগুলো তালিকাভুক্ত করুন (auditctl -l-এর সমতুল্য):
$ sudo imaxe audit rules listআপনি নিয়ম ফাইল সম্পাদনা করে থাকলে, সেগুলো পুনরায় লোড করুন। সিস্টেম immutable মোডে থাকলে, কমান্ডটি আপনাকে জানাবে যে রিবুট প্রয়োজন:
$ sudo imaxe audit rules list --json
$ sudo imaxe audit reloadevents খালি এলে, প্রথমে status দিয়ে যাচাই করুন auditd সক্রিয় ও নিয়ম লোড আছে কিনা। হতে পারে --since উইন্ডোটি খুব ছোট, অথবা যে key দিয়ে ফিল্টার করছেন সেটি কোনো নিয়ম ব্যবহার করে না। rules list দিয়ে নিয়মগুলো দেখুন।
সারসংক্ষেপ #
imaxe audit <subcomando> [<subcomando anidado>] [--since T] [--key K] [--json]সব সাবকমান্ড অডিট সাবসিস্টেম থেকে পড়ে, যা কেবল root হিসেবে অ্যাক্সেসযোগ্য (sudo ব্যবহার করুন)। মেশিন-পাঠযোগ্য আউটপুট পেতে status, events বা rules list-এ --json যোগ করুন, যা স্ক্রিপ্টিং ও প্যানেলের উপযোগী।
সাবকমান্ড #
| সাবকমান্ড | কী করে | প্রাসঙ্গিক ফ্ল্যাগ |
|---|---|---|
| status | অবস্থা: auditd সক্রিয়, নিয়ম লোড, immutable মোড ও ব্যাকলগ। | --json |
| events | সাম্প্রতিক ফিল্টারযোগ্য ইভেন্ট একটি পাঠযোগ্য সারসংক্ষেপে তালিকাভুক্ত করে। | --since, --key, --json |
| summary | aureport-ধরনের সারসংক্ষেপ: লগইন, sudo/auth ও ফাইল পরিবর্তন। | — |
| rules | অডিট নিয়ম পরিচালনার গ্রুপ। একটি নেস্টেড সাবকমান্ড প্রয়োজন। | — |
| rules list | সক্রিয় নিয়মগুলো তালিকাভুক্ত করে (auditctl -l-এর সমতুল্য)। | --json |
| reload | নিয়ম পুনরায় লোড করে; immutable মেনে চলে এবং reboot প্রয়োজন হলে সতর্ক করে। | — |
আর্গুমেন্ট ও ফ্ল্যাগ #
| ফ্ল্যাগ | ধরন | ডিফল্ট | বিবরণ |
|---|---|---|---|
| --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-এর সবসময় নেস্টেড সাবকমান্ড 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 দিয়ে key-গুলো পর্যালোচনা করুন। |
reload reboot-এর কথা জানায় | নিয়মগুলো immutable মোডে আছে (রিবুট পর্যন্ত লক করা)। | পরিবর্তন প্রয়োগ করতে একটি রিবুট নির্ধারণ করুন; ততক্ষণ পর্যন্ত পূর্বের নিয়মগুলো চলতে থাকে। |
| USAGE (কোড 2) আসে | নেস্টেড সাবকমান্ড ছাড়াই rules ডাকা হয়েছে। | imaxe audit rules list ব্যবহার করুন: rules-এর সবসময় একটি সাবকমান্ড প্রয়োজন। |
Audit মডিউল নিয়ে আটকে গেছেন?
«imaxe <module> status --json» এর আউটপুট সহ আমাদের লিখুন, আমরা দ্রুত উত্তর দেব।