এসএফটিপি লগিং: উপায় আছে?


91

আমি ভাবছি সার্ভারের দ্বারা প্রাপ্ত কমান্ডগুলি লগ করার কোনও উপায় আছে কিনা। এটি সমস্ত এসএসএইচ কমান্ড হতে পারে, যতক্ষণ না এতে ফাইল স্থানান্তর সম্পর্কিত কমান্ডের তথ্য অন্তর্ভুক্ত থাকে।

আমার একটি এসএফটিপি ক্লায়েন্টের সাথে সমস্যা রয়েছে এবং স্রষ্টা লগগুলির জন্য জিজ্ঞাসা করছেন, তবে আমি বিদ্যমান লগগুলি খুঁজে পেতে অক্ষম।

আমি উভয় বা সেন্টোস বা ওএস এক্স উভয় লগইন করতে খুঁজছি (যদিও আমি সন্দেহ করি এটি যদি সম্ভব হয় তবে এটি উভয়ের ক্ষেত্রে একই রকম হবে)।


উত্তর:


94

ওপেনএসএসএইচ সংস্করণ 4.4p1 এবং তারপরে (যা সেন্টোস 5 সহ সর্বশেষতম সংস্করণ অন্তর্ভুক্ত করা উচিত) এতে এসএফটিপি লগিংয়ের ক্ষমতা অন্তর্নির্মিত রয়েছে - আপনাকে কেবল এটি কনফিগার করতে হবে।

আপনার sshd_config এ এটি সন্ধান করুন (সেন্টো, ফাইল / ইত্যাদি / এসএসএস / এসএসডি_কনফিগে ):

Subsystem       sftp    /usr/libexec/openssh/sftp-server

এবং এটিকে পরিবর্তন করুন:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -l INFO

আপনি ডিফল্টরূপে যা দেখছেন সে সম্পর্কে আইএনএফও কেবল মাত্র এক স্তরের - এটি ফাইল স্থানান্তর, অনুমতি পরিবর্তন ইত্যাদি সম্পর্কিত বিস্তারিত তথ্য সরবরাহ করে যদি আপনার আরও তথ্যের প্রয়োজন হয় তবে আপনি সেই অনুযায়ী লগ স্তরটি সামঞ্জস্য করতে পারেন। বিভিন্ন স্তরের (বিশদ অনুসারে) হ'ল:

QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3

VERBOSE এর উপরে যে কোনও কিছু সম্ভবত আপনি যা চেয়েছিলেন তার চেয়ে বেশি তথ্য, তবে এটি কার্যকর হতে পারে।

পরিবর্তনগুলি (সেন্টো) আপডেট করার জন্য শেষ পর্যন্ত এসএসএইচ পরিষেবাটি পুনরায় চালু করুন:

systemctl restart sshd

1
আমি জানতাম না যে আপনি এসএফটিপি লগ করতে পারেন, এটাই আমার দরকার। এটি লগগুলি কোথায় সঞ্চয় করে? /var/log/auth.log?
ররি

4
এটি আপনার সিলেগ কনফিগারেশনের উপর নির্ভর করে। INFO লগলেভেল ব্যবহার করে, বেশিরভাগ ডিফল্ট syslog.conf তাদের / var / লগ / বার্তাগুলিতে সেগুলি প্রবেশ করে।
আরভিএফ

4
অভ্যন্তরীণ sftp সার্ভার ব্যবহার করে এটি করা কি সম্ভব?
সিয়ান

এটি এসএফটিপি-র জন্য পুরোপুরি কাজ করে, তবে এসসিপি সম্পর্কে কী হবে? Scp কমান্ডের সাথে অনুলিপি করা কোনও ফাইলের জন্য আমি লগটিতে কোনও এন্ট্রি পাইনি, যদিও লগটি sftp- এর জন্য সফল হয়েছিল
আলে

2
উবুন্টুতে, এই লগগুলি ডিফল্ট হয় /var/log/auth.log। যোগ -f USERযে Subsystemকনফিগ লাইন তাদের পাঠাতে /var/log/syslog
অ্যাকাউন্টটি

43

Sftp- সার্ভারের জন্য লগিংয়ের আশেপাশে একই স্যুইচগুলি অভ্যন্তরীণ-এসফটিপি-র জন্যও কাজ করে। আমার / etc / ssh / sshd_config এর একটি উদাহরণ এখানে:

Subsystem   sftp    internal-sftp -f AUTH -l INFO

INFO স্তরের লগিং সক্ষম সক্ষম বার্তাগুলি / var / লগ / বার্তাগুলির (কমপক্ষে Red Hat ভিত্তিক ডিস্ট্রোসের অধীনে) প্রদর্শিত হতে শুরু করবে:

May 27 05:58:16 test-server sshd[20044]: User child is on pid 20049
May 27 05:58:16 test-server sshd[20049]: subsystem request for sftp by user test-user
May 27 05:58:16 test-server internal-sftp[20050]: session opened for local user test-user from [192.168.1.1]
May 27 05:58:16 test-server internal-sftp[20050]: received client version 3
May 27 05:58:16 test-server internal-sftp[20050]: realpath "."
May 27 05:58:21 test-server internal-sftp[20050]: opendir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: closedir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: lstat name "/home/test-user/upload"
May 27 05:58:21 test-server internal-sftp[20050]: realpath "/home/test-user/upload/"
May 27 05:58:21 test-server internal-sftp[20050]: stat name "/home/test-user/upload"
May 27 05:58:24 test-server internal-sftp[20050]: open "/home/test-user/upload/test-file.pdf" flags WRITE,CREATE,TRUNCATE mode 0664
May 27 05:58:25 test-server internal-sftp[20050]: close "/home/test-user/upload/test-file.pdf" bytes read 0 written 1282941

2
আমি আবিষ্কার করেছি যে আমার ক্ষেত্রে এটি মূলের জন্য কেবল এসএফটিপি সেশনগুলিতে লগ করে তবে আমার ক্রোয়েটেড ব্যবহারকারী পরীক্ষার জন্য নয়। আমি বুঝতে পারছি না কেন, আপনার কোনও ধারণা আছে?
জনিফ্রমবিএফ

4
দেখে মনে হচ্ছে /dev/logআপনার ক্রুট অঞ্চলে আপনার প্রয়োজন । ভালো কিছু sudo mkdir /chrooted/area/dev, sudo touch /chrooted/area/dev/log, sudo chmod 511 /chrooted/area/dev, sudo chattr +i /chrooted/area/dev, sudo mount --bind /dev/log /chrooted/area/dev/log। ব্যবহারকারীদের এখনও সেই / ডেভ / লগটিতে লেখার অ্যাক্সেস থাকবে, তবে এটি একটি সকেট হিসাবে, যদি তাদের অ্যাক্সেস থাকে তবে তারা খুব বেশি ক্ষতি করতে পারে না sftp
sch

1
ইঙ্গিতটির জন্য ধন্যবাদ। আমি এটি কাজ করে না বলে মনে হয় না। আপনি কি আরও কিছু নির্দিষ্ট হতে পারেন?
ব্যবহারকারী 1092608


0

উপরের মন্তব্যগুলি পরিষ্কার করার জন্য:

যদি আপনি কারাগারের (chroot এনভায়রনমেন্ট) ব্যবহার করে sftp কনফিগার করেছেন তবে আপনি অতিরিক্ত কনফিগারেশন অ্যাফোর্ট ছাড়াই লগ করতে পারবেন না। লগটি ক্রুট পরিবেশে লেখা যায় না, আপনাকে একটি মাউন্ট বাইন্ড বা সকেট তৈরি করতে হবে। আমি সকেট ব্যবহার করার পরামর্শ দেব, কারণ এটি সিসলগ-এনজি পাশাপাশি আরএসস্লগ (এবং আরও অনেকগুলি) সরবরাহ করে feature

যারা সিসলগ-এনজি ব্যবহার করছেন তাদের জন্য https://wiki.archlinux.org/index.php/SFTP_chroot# লগিং দেখুন । যারা rsyslog ব্যবহার করছেন তাদের জন্য https://wiki.kairaven.de/open/os/linux/sftpssh আপনার বন্ধু।

আশা করি এইটি কাজ করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.