ইউনিক্স ক্লায়েন্ট এবং সার্ভারের মধ্যে tty / pts ssh session তুলনা করুন


1

Tty / pts তথ্য এবং লগইন তারিখ এবং ক্লায়েন্টে লগআউট সহ ssh অধিবেশন তালিকাভুক্ত করা কি সম্ভব? একটি সার্ভারে শেষ কমান্ড সমতুল্য।

আমার ব্যবহারকারী একটি সার্ভারের সাথে সংযোগ করার জন্য একটি প্রক্সি ssh ব্যবহার করে, কিন্তু প্রক্সি সার্ভার থেকে তারা সার্ভারে সংযোগ করার জন্য একটি জেনেরিক অ্যাকাউন্ট ব্যবহার করে। আমি ক্লায়েন্ট এবং সার্ভারের মধ্যে tty / pts আইডি তুলনা করতে হবে। বর্তমান তথ্যের জন্য এই তথ্যটি পেতে সার্ভারে আমি এই স্ক্রিপ্টটি ব্যবহার করি:

#!/bin/bash
today="$(date '+%a %b %e')"
last | awk -v pattern="$today" '$0 ~ pattern && /pts/ {print $0 "#line#"}'
exit 0

ধন্যবাদ


আমি ভাল বুঝতে হলে মক্কেল এই ক্ষেত্রে প্রক্সি সার্ভার। এবং আপনি এটি অ্যাক্সেস আছে। আপনি এটা নিশ্চিত করতে পারেন? (যদি তাই আপনি ক্লায়েন্ট একই স্ক্রিপ্ট চালাতে পারেন)। বিটিডব্লিউটি এটি আমার মনে হয় যে আপনি আপনার ক্লায়েন্টদের কার্যকলাপটি কোনভাবে নিয়ন্ত্রণ করতে চান কারণ তারা সমস্ত প্রক্সির একই অ্যাকাউন্টে লগ ইন করে। যদি তাই হয় আপনি সরাসরি এটা জিজ্ঞাসা করা উচিত। Ps & gt; SuperUser এ স্বাগতম।
Hastur

ধন্যবাদ, হ্যাঁ আমার প্রক্সি আমার ক্লায়েন্ট এবং আমি এটি অ্যাক্সেস আছে। যদি আমি প্রক্সি (ক্লায়েন্ট) তে একই স্ক্রিপ্ট চালাই, তবে আমার কাছে প্রক্সি ব্যবহারকারীর কম্পিউটারের সংযোগের ইতিহাস রয়েছে তবে সার্ভারে প্রক্সি নয়। কিন্তু আমি কিছু মিস হতে পারে। ব্যবহারকারীদের কম্পিউটার থেকে প্রক্সি পর্যন্ত তারা তাদের নিজস্ব এসএসএইচ অ্যাকাউন্ট ব্যবহার করে কিন্তু প্রক্সি থেকে সার্ভারে, তারা একটি জেনেরিক অ্যাকাউন্ট (উদাঃ অ্যারাকাল) ব্যবহার করে।
Nicolas

আপনাকে স্বাগতম. আবার আপনার বাস্তব (চূড়ান্ত) প্রশ্ন কি? ;)? আপনি সার্ভারে একটি প্রোগ্রাম অ্যাক্সেস নিয়ন্ত্রণ করতে চান তাহলে প্রোগ্রামের জন্য বিভিন্ন ব্যবহারকারী তৈরি করুন। সম্ভব না হলে সার্ভারে বিভিন্ন ব্যবহারকারী তৈরি করুন এবং অনুমতিপ্রাপ্ত ব্যবহারকারীর পরিচয় পরিবর্তন করতে বা ব্যবহারকারীর মতো প্রোগ্রামটি চালানোর অনুমতি দিন (দেখুন পবিত্র sudo )। আপনি ইমেজ করছেন এমন পাথের জন্য আপনাকে দুটি তালিকা মিলতে হবে, অথবা ssh লগিং সক্ষম করতে এবং সেই দুটি তালিকা মিলিয়ে আরও ভাল করতে হবে। কিন্তু আপনি 100% অনন্য ম্যাচ হবে না।
Hastur

প্রসঙ্গটি হল: আমি গ্রাহকের জন্য ডিবি সার্ভারে অডিট করার জন্য কাজ করি। আমি একটি ডেটাবেস কার্যকলাপ মনিটরিং সমাধান ব্যবহার করি, তবে উপরন্তু আমি ওএস স্তরের ব্যবহারকারীর লগ ইন করতে চাই। আজ, এই গ্রাহক একটি জেনেরিক অ্যাকাউন্টের সাথে ডিবি সার্ভারের সাথে সংযোগ করার জন্য একটি ssh প্রক্সি ব্যবহার করেন। আমি তাদের কাজের প্রক্রিয়া পরিবর্তন করতে পারছি না, আমি নিরাপত্তার দিক থেকে একমত যে এটি খুব খারাপ অভ্যাস। আমার আসল প্রশ্ন হল: আমি ক্লায়েন্ট পার্শ্ব থেকে tty / pts সার্ভারের পাশ দিয়ে এবং টাইমস্ট্যাম্পের সাথে সম্পর্কযুক্ত করতে তুলব।
Nicolas

আপনার একটি উত্তর আছে ... আমি জানি না আপনি যদি চান তবে এটি একটি উত্তর :-)
Hastur

উত্তর:


0

কয়েকটি শব্দে

উভয় মেশিনে ssh এর লগ ব্যবহার করুন: এটি আপনাকে শেল তৈরির PID দেয়। এটি আপনাকে শুরুর PID সংযুক্ত করতে এবং প্রোগ্রামটির সাথে একটি নির্দিষ্ট মিল থাকতে দেয়। একটি গভীর অডিট জন্য আপনি একটি অডিট টুল ব্যবহার করতে পারেন।

আরো শব্দে

last

সহজ সঙ্গে last আপনি tty ব্যবহার সম্পর্কিত সংযোগ তালিকা থাকতে পারে।
আপনি আপনার কাছ থেকে দুটি তালিকা থাকতে পারে প্রক্সি মেশিন (আমি এটা গেটওয়ে, GW কল করতে চান), এবং আপনার কাছ থেকে অন্য সার্ভার । আদেশ last ডিফল্টরূপে আপনি ব্যবহারকারীর নাম, পিসি / tty, আইপি / হোস্টনাম দিতে। লগ ইন তারিখ সময়, প্রস্থান তারিখ সময়. আপনি বিন্যাস, ইত্যাদি ইত্যাদি পরিবর্তন করতে পারেন।

তারপর আপনি সময়ের এই overlays কাজ এবং অনুমান যারা ছিল।

যে সমস্যাটি আমি দেখি তা হচ্ছে এই পদ্ধতিতে আপনাকে এমন একটি সরঞ্জাম (স্ক্রিপ্ট) তৈরি করতে হবে যা আপনাকে সম্ভাব্য সমস্ত মিল দেয় এবং এভাবে সেগুলিকে ভাল করে খুঁজে বের করে। তবুও, আপনি অদ্ভুত পরিস্থিতিতে থাকতে পারে।

আসুন একটি কেস অধ্যয়ন করি। একটি প্রথম ব্যবহারকারী, আমরা নিকোলাস বলি, GW লগ ইন করতে পারেন। তারপর তিনি একটি কফি বা একটি কল উত্তর দিতে যায়। এদিকে দ্বিতীয় ব্যবহারকারী, আমরা হস্তুরকে বলি, জিডব্লু-তে লগ ইন করুন এবং আরও দ্রুত 1 St ব্যবহারকারী সার্ভারে লগ। শুধু এই মুহূর্তে আপনার ডবল লগ জটিল। এখন Hastur সার্ভারে একটি কফি এবং নিকোলাস লগ প্রয়োজন বোধ। কফি শেষ হবে এমন প্রথম কে হবে এবং এটি প্রোগ্রামের সাথে প্রথম সংযোগ করবে?

/var/log/auth (অথবা ssh এর অন্যান্য লগ ফাইল) [ 1 ] ..

লগ ফাইলগুলি প্রতিটি সিস্টেমে লগইন এবং লগআউট নিরীক্ষণের জন্য ব্যবহৃত হয়। সঠিক পথ এবং নাম জন্য অনুসন্ধান করুন, যারা CA সিস্টেম নির্ভর করে। সঙ্গে

sudo grep TheUsername /var/log/auth.log

আপনি অনুরূপ লাইন পাবেন

May  1 16:17:43 owl sshd[9024]: Accepted publickey for root from 192.168.0.101 port 37384 ssh2
May  1 16:17:43 owl sshd[9024]: pam_unix(sshd:session): session opened for user root by (uid=0)

যেখানে আপনার সঠিক লগইন সময় রয়েছে এবং এমনকি PID ( [9024] ), এবং আইপি। এই মুহুর্তে আপনি এই ফাইলটির সাথে একের সাথে মেলে last টিটিটি জানতে কমান্ডটি বা আপনি প্রোগ্রামের ভিতরে শেলের পিআইডি প্রোগ্রামের মাধ্যমে কোনওভাবে লগ ইন করতে পারেন যা প্রোগ্রামটিকে নিজেই বলে (শেলটিতে সিস্টেম কল করার সাথে সাথে এটি সম্ভব)।

সেসব ফাইলগুলিতে কাজ করার জন্য প্রতিটি সেশনের জন্য আপনার একটি অনন্য মিল থাকতে পারে। গেটওয়েতে সমান লগ ফাইলের জন্য আপনার আসল আইপি এবং ব্যবহারকারীর নাম থাকবে।

audit tools [ 2 ], [ 3 ]

যদি আপনার কাছে অনুমোদন থাকে এবং এটি বৈধ হয় তবে আপনি অডিট সরঞ্জামটি ব্যবহার করতে পারেন এবং হোস্ট মেশিনে শেলের সম্পূর্ণ লগ করতে পারেন।

তথ্যসূত্র

  • [ 1 ] SSH অ্যাক্সেস প্রচেষ্টা লগিং
  • [ 2 ] শেল / এসএসএস / TTY অধিবেশন লগগার
  • [ 3 ] দূরবর্তী হোস্টে BASH শেল অধিবেশন লগিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.