কোনও প্রক্রিয়া দ্বারা তৈরি সমস্ত সিস্টেম কল এবং তার সমস্ত বংশধরকে নিরীক্ষণের মাধ্যমে কীভাবে লগ করবেন


13

আমি করতে পারি

auditctl -a always,exit -S all -F pid=1234

পিড 1234 এর মাধ্যমে সম্পন্ন সমস্ত সিস্টেম কল লগ করতে এবং:

auditctl -a always,exit -S all -F ppid=1234

এর বাচ্চাদের জন্য, তবে আমি কীভাবে গ্র্যান্ড-বাচ্চাদের এবং তাদের সন্তানদের (বর্তমান এবং ভবিষ্যত) আবরণ করব?

আমি (ই) ইউইডি / (ই) গিডের উপর নির্ভর করতে পারি না যা পরিবর্তন হয়।

(দ্রষ্টব্য যে ব্যবহার straceকরা কোনও বিকল্প নয়)


4
ওএমজি, ওএমজি, ওএমজি, স্টিফেন একটি প্রশ্ন জিজ্ঞাসা করছে ... (আমি কেবল শিরোনাম থেকে এখানে এসেছি, ভেবেছিলাম strace -s^^ তবে তখন দেখলাম কে জিজ্ঞাসা করছে এবং অবিলম্বে "তিনি জানেন যে এটি ইতিমধ্যে জানে!") ... স্টিফেন, আপনি কি পারেন? হতে পারে: 1) পিএস এর "ট্রি" বিকল্পটি ব্যবহার করে পিডের তালিকা তৈরি করুন, 2) গাছের তালিকাভুক্ত সমস্ত পিডগুলিতে অডিটেক্টল (গুলি) চালু করুন? (উদাহরণস্বরূপ, আপনার একাধিক "পিড ​​= ...."? বা একাধিক অডিটকল থাকতে পারে?) বা "বোবা" উপায়: অডিটেক্টল সব কিছু, এবং "পিড ​​| পিড | পিড" তে কিছু ধরণের এড্রেপ যদি থাকে তারা প্রতিটি লাইনে উপস্থিত হয়?) (সতর্কতা: আমার লিনাক্স এটিমে অ্যাক্সেস নেই, সুতরাং ইনফসগুলি কীভাবে উপস্থিত হয় সে সম্পর্কে আমার কোনও ধারণা নেই)
অলিভিয়ার ডুলাক

আপনি যে কৌশলটি ব্যবহার করতে পারেন (আবারো, আমি নিরীক্ষণের বিশদগুলি জানি না, এবং এই মুহুর্তে আমি চেষ্টাও করতে পারি না): শীর্ষস্থানীয় পিতা-মাতার প্রবর্তন করার সময় একটি নির্দিষ্ট পরিবেশের পরিবর্তনশীল নির্দিষ্ট করুন, এবং এই ভেরিয়েবল সেটটি থাকা সমস্ত প্রক্রিয়া অডিটেল করুন?
অলিভিয়ার ডুলাক

@ অলিভিয়ারডুলাক, প্রক্রিয়াটিকে কোনওভাবে চিহ্নিত করা (এটি শিশুদের দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত) আমার মনে রাখা একটি বিষয়। তবে নিরীক্ষণের নিয়মগুলির সাথে যে জিনিসগুলি মিলতে পারে তার তালিকাই বেশ পাতলা (এমনকি সিড নয়, পিজিডি ...)। SELinux বেশী হতে পারে তবে আমি সেলিনাক্স সম্পর্কে প্রথম জিনিসটি জানি না। প্রক্রিয়া নাম ফাঁকা হতে পারে?
স্টাফেন চেজেলাস

সম্ভবত শীর্ষ পিতামাতার নিজস্ব প্রক্রিয়া গ্রুপে থাকতে পারে? ( en.wikedia.org/wiki/Process_group )
অলিভিয়ার ডুলাক

2
আমি ভেবেছিলাম সম্ভবত আপনার প্রোগ্রামটি একটি নির্দিষ্ট পাত্রে চালিত করুন, যদি এটি আপনার জন্য একটি বিকল্প হয়। যদি আমি এই বাগ থ্রেডটি সঠিকভাবে বুঝতে পারি তবে এটি কার্নেল -3.13 এর সাথে কাজ করা উচিত। তা ছাড়া, আমি সেলইনাক্স এবং অডিট ইউআইডি ছাড়া অন্য কোনও পদ্ধতি দেখতে পাচ্ছি না । আপনার ব্যবহারের ক্ষেত্রে এইউইডি প্রয়োগযোগ্য হবে?
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

উত্তর:


1

এই মুহুর্তে চেষ্টা করার কোনও উপায় ছাড়াই কেবল কোনও কিছুর প্রস্তাব দেওয়া হচ্ছে ... তবে কেবল পোস্ট থেকেই অনুমান করা

সমাধানের প্রস্তাব এখানে দেওয়া হল:

শীর্ষস্থানীয় প্রক্রিয়া আইডি $ পিডের মধ্যে রয়েছে এবং লিনাক্সের পাশাপাশি ps -Tপ্রক্রিয়াগুলির গাছটি বের করে দেয় (এই মুহুর্তে আমার কাছে লিনাক্সের অ্যাক্সেস থাকতে পারে না)

for eachpid in $(ps -T "$pid" | awk '{print $1}' | grep -v 'PID')
do
   auditctl -a always,exit -S all -F pid=$eachpid  >somelog_${eachpid}.log 2>&1
done

অবশ্যই, ps -T "$pid"লিনাক্সের সমতুল্য সাথে প্রতিস্থাপন করুন , যদি সে লিনাক্সে কাজ না করে (বা "pstree -p" আউটপুটটি অজানা করে খুঁজে পান, পিডটি প্রথম বন্ধনীতে থাকবে)


2
ধন্যবাদ, তবে এটি "ভবিষ্যতের" বাচ্চাদের coverেকে রাখে না এবং প্রায়শই একটি লুপে চালানো স্বল্প-কালীন প্রক্রিয়াগুলি আবরণ করে না। এবং পিডের পুনরায় ব্যবহারের ফলে সমস্যাও দেখা দিতে পারে।
স্টাফেন চেজেলাস

সমস্ত বৈধ পয়েন্ট ... তারপরে আমি বিশ্বাস করি যে আপনি যা চান সম্ভবত এটি একটি "মোস্ট ওয়ান্টেড" বৈশিষ্ট্য এবং সুতরাং ইতিমধ্যে নিরীক্ষা স্তরে উপস্থিত থাকতে পারে (তবে এটি অবশ্যই ম্যানপেইজে এখনই উপস্থিত হবে না): এটি থাকতে পারে ভবিষ্যতের সংস্করণের জন্য প্রস্তাবিত (বা ... লিখিত) হতে হবে। প্রক্রিয়াগুলির "একটি গাছ অনুসরণ" করার কোনও উপায় আমি মনে করি না ... তবে আপনি সম্ভবত 1 টি প্রয়োগ করতে পারেন) কিছু স্ক্রিপ্ট নিয়মিত "পিএস-টি" সমতুল্য করায়, 2) অন্য স্ক্রিপ্টটি যত তাড়াতাড়ি সম্ভব প্রথমটিকে মেরে ফেলে পিড মারা যায় 3) প্রতিবার 1 থেকে পিডের তালিকা পরিবর্তন করে) those পিডগুলির জন্য অডিটেলটি যুক্ত / সরান? (করা খুব বেশি কঠিন নয়)
অলিভিয়ার ডুলাক

1
(আমার শেষ মন্তব্যটি খুব স্বল্পকালীন প্রক্রিয়াগুলির জন্য পিবি সমাধান করে না ... এটির জন্য কার্নেল স্তরে নিজেই কিছু প্রয়োজন হতে পারে এবং এর জন্য কিছু বিদ্যমান কিনা তা আপনাকে জানাতে আমি যথেষ্ট জানি না on কার্নেল মেলিং তালিকাগুলি)
অলিভিয়ার ডুলাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.