سؤال تسجيل SFTP: هل هناك طريقة؟


أنا أتساءل عما إذا كان هناك طريقة لتسجيل الأوامر التي يتلقاها الخادم. يمكن أن تكون جميع أوامر SSH ، طالما أنها تتضمن معلومات حول الأوامر المتعلقة بنقل الملفات.

أواجه مشكلات مع عميل SFTP ويطلب منشئ المحتوى سجلات ، لكنني غير قادر على العثور على أي سجلات موجودة.

أنا أتطلع لتسجيل الدخول على حد سواء أو CentOS أو OS X (على الرغم من أنني أشك إذا كان من الممكن ، فإنه سيكون مماثلا على حد سواء).


82
2017-10-11 01:42


الأصل




الأجوبة:


إصدارات OpenSSH 4.4p1 وأعلى (والتي يجب أن تتضمن الإصدار الأحدث مع CentOS 5) لديها إمكانية تسجيل SFTP مضمنة - تحتاج فقط إلى تهيئتها.

تجد هذا في sshd_config الخاص بك (في centos ، الملف / الخ / سه / sshd_config):

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

وتغييره إلى:

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

يمثل INFO مستوى واحدًا من التفاصيل حول ما تراه افتراضيًا - فهو يوفر معلومات تفصيلية بخصوص نقل الملفات وتغيير الأذونات وما إلى ذلك. إذا كنت بحاجة إلى مزيد من المعلومات ، فيمكنك ضبط مستوى السجل وفقًا لذلك. المستويات المختلفة (بترتيب التفاصيل) هي:

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

أي شيء على VERBOSE هو على الأرجح معلومات أكثر مما تبحث عنه ، ولكنه قد يكون مفيدًا.

أخيرًا ، أعد تشغيل خدمة SSH لتحديث التغييرات (centos):

systemctl restart sshd

87
2017-10-13 23:21



لم أكن أعلم أنه بإمكانك تسجيل SFTP هكذا ، وهذا ما أحتاجه. أين تخزين السجلات؟ /var/log/auth.log؟ - Rory
يعتمد ذلك على تكوين سجل النظام الخاص بك. باستخدام INFO loglevel ، فإن معظم ملفات syslog.conf الافتراضية تضع تلك الإدخالات في / var / log / messages. - rvf
هل من الممكن القيام بذلك باستخدام خادم sftp الداخلي؟ - Cian
هذا يعمل بشكل مثالي لـ SFTP ، ولكن ماذا عن SCP؟ لم أجد أي إدخالات في السجل لملف تم نسخه باستخدام الأمر scp ، على الرغم من أن السجل كان ناجحًا لـ sftp - Ale
على أوبونتو ، هذه السجلات الافتراضية ل /var/log/auth.log. إضافة -f USER إلى ذلك Subsystem خط التكوين لإرسالها إلى /var/log/syslog. - Throwaway Account 3 Million


نفس التبديل حول تسجيل لملقم sftp تعمل أيضا ل sftp الداخلية. في ما يلي مثال من my / etc / ssh / sshd_config:

Subsystem   sftp    internal-sftp -f AUTH -l INFO

مع ظهور رسائل تمكين تسجيل الدخول إلى مستوى INFO سيظهر تحت / var / log / messages (على الأقل تحت Redros based Distros):

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

39
2018-05-29 12:42



اكتشفت ، أنه في حالتي يسجل فقط جلسات sftp للجذر ولكن ليس لاختبار المستخدم جذري. لا أفهم لماذا ، هل لديك أي أفكار؟ - JohnnyFromBF
يبدو أنك بحاجة /dev/log في منطقة chroot الخاصة بك. شيء مثل 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. سيظل المستخدمون يمتلكون حق الوصول للكتابة إلى ذلك / dev / log ، ولكن نظرًا لأنه مأخذ ، فلا يمكنهم إلحاق الأذى كثيرًا إذا كان كل ما يمكنهم الوصول إليه sftp. - sch
شكرا للتلميح. لا أستطيع أن يبدو أن نجعلها تعمل ، ولكن. هل يمكن أن يكون قليلا أكثر تحديدا؟ - user1092608
FWIW: في ArchLinux Wiki هناك وصف جيد حول كيفية تمكين التسجيل في بيئة chroot: wiki.archlinux.org/index.php/SFTP_chroot#Logging - Kaii