লিনাক্স অডিটিং সাহায্য করতে পারে। এটি ডেটাগ্রাম নেটওয়ার্ক সংযোগ তৈরির ক্ষেত্রে ব্যবহারকারী এবং প্রক্রিয়াগুলি অন্তত সনাক্ত করবে। ইউডিপি প্যাকেটগুলি ডেটাগ্রাম।
প্রথমে auditd
আপনার প্ল্যাটফর্মের কাঠামোটি ইনস্টল করুন এবং নিশ্চিত করুন auditctl -l
যে কোনও নিয়ম সংজ্ঞায়িত না করা সত্ত্বেও কিছু প্রত্যাবর্তন করবে।
তারপরে, সিস্টেম কলটি দেখতে একটি নিয়ম যুক্ত করুন socket()
এবং পরে ( -k
) সহজে খুঁজে পাওয়ার জন্য এটি ট্যাগ করুন । আমার ধরে নেওয়া দরকার যে আপনি একটি -৪-বিট আর্কিটেকচারে আছেন, তবে আপনি যদি না হন তবে আপনি তার b32
জায়গায় প্রতিস্থাপন করতে পারেন b64
।
auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET
এটি তৈরি করতে আপনাকে ম্যান পৃষ্ঠাগুলি এবং শিরোনামের ফাইলগুলি বেছে নিতে হবে, তবে এটি যা ক্যাপচার করে তা মূলত এই সিস্টেম কল: socket(PF_INET, SOCK_DGRAM|X, Y)
যেখানে তৃতীয় প্যারামিটারটি অনির্ধারিত তবে প্রায়শই শূন্য থাকে। PF_INET
2 এবং SOCK_DGRAM
2। টিসিপি সংযোগগুলি SOCK_STREAM
সেট করবে যা ব্যবহার করবে a1=1
। ( SOCK_DGRAM
দ্বিতীয় প্যারামিটারটি সঙ্গে ORed হতে পারে SOCK_NONBLOCK
বা SOCK_CLOEXEC
, অত &=
তুলনা।) -k SOCKET
আমাদের শব্দ আমরা যখন নিরীক্ষা গ্রামাঞ্চলে ভ্রমণ পরে অনুসন্ধানের ব্যবহার করতে চান হয়। এটি যে কোনও কিছু হতে পারে তবে আমি এটি সহজ রাখতে চাই।
কয়েক মুহুর্ত এগিয়ে যান এবং নিরীক্ষণের পথচিহ্ন পর্যালোচনা করুন। বৈকল্পিকভাবে, আপনি নেটটিতে হোস্টকে পিন করে কয়েক প্যাকেট জোর করতে পারেন, যা একটি ডিএনএস লুকআপ ঘটায়, যা ইউডিপি ব্যবহার করে, যা আমাদের নিরীক্ষণের সতর্কতাটি ভ্রমণ করবে।
ausearch -i -ts today -k SOCKET
এবং নীচের অংশে অনুরূপ আউটপুট প্রদর্শিত হবে। আমি গুরুত্বপূর্ণ অংশটি হাইলাইট করার জন্য এটি সংক্ষেপে দিচ্ছি
type=SYSCALL ... arch=x86_64 syscall=socket success=yes exit=1 a0=2 a1=2 ... pid=14510 ... auid=zlagtime uid=zlagtime ... euid=zlagtime ... comm=ping exe=/usr/bin/ping key=SOCKET
উপরের আউটপুটে, আমরা দেখতে পাচ্ছি যে ping
কমান্ডটি সকেটটি খোলার কারণ হয়েছিল। আমি strace -p 14510
এখনও প্রক্রিয়া চালাতে পারে , যদি এটি এখনও চলমান ছিল। ppid
(পিতা বা মাতা প্রক্রিয়া আইডি) এছাড়াও ক্ষেত্রে তালিকাভুক্ত করা হয় এটা একটি স্ক্রিপ্ট যে spawns সমস্যা ছেলে অনেক।
এখন, যদি আপনার কাছে প্রচুর ইউডিপি ট্র্যাফিক থাকে, তবে এটি যথেষ্ট ভাল হবে না এবং আপনাকে ওপি্রোফাইল বা সিস্টেমট্যাপের অবলম্বন করতে হবে , উভয়ই বর্তমানে আমার দক্ষতার বাইরে।
এটি সাধারণ ক্ষেত্রে সরু জিনিসগুলিকে সাহায্য করবে।
আপনি যখন কাজটি সম্পন্ন করেন, আপনি এটি তৈরি করতে ব্যবহৃত একই লাইনটি ব্যবহার করে নিরীক্ষণের নিয়মটি সরিয়ে ফেলুন, কেবল বিকল্পের -a
সাথে বিকল্প করুন -d
।
auditctl -d exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET