Saya bertanya-tanya apakah ada cara untuk mencatat perintah yang diterima oleh server. Itu bisa semua perintah SSH, asalkan itu mencakup informasi tentang perintah yang terkait dengan transfer file.
Saya mengalami masalah dengan klien SFTP dan pembuatnya meminta log, tetapi saya tidak dapat menemukan log yang ada.
Saya mencari untuk masuk ke keduanya atau CentOS atau OS X (walaupun saya curiga kalau itu mungkin, itu akan serupa pada keduanya).
Jawaban:
OpenSSH versi 4.4p1 dan yang lebih tinggi (yang seharusnya termasuk versi terbaru dengan CentOS 5) memiliki kemampuan logging SFTP bawaan - Anda hanya perlu mengkonfigurasinya.
Temukan ini di sshd_config Anda (dalam centos, file / etc / ssh / sshd_config ):
dan ubah ke:
INFO hanyalah satu tingkat perincian tentang apa yang Anda lihat secara default - ini memberikan informasi terperinci tentang transfer file, perubahan izin, dll. Jika Anda memerlukan lebih banyak info, Anda dapat menyesuaikan tingkat log sesuai dengan itu. Berbagai tingkatan (dalam urutan detail) adalah:
Apa pun yang melebihi VERBOSE mungkin lebih banyak informasi daripada yang Anda cari, tetapi mungkin bermanfaat.
Terakhir restart layanan SSH untuk memperbarui perubahan (centos):
sumber
/var/log/auth.log
. Tambahkan-f USER
keSubsystem
baris konfigurasi untuk mengirimnya/var/log/syslog
.Switch yang sama di sekitar logging untuk sftp-server juga berfungsi untuk internal-sftp. Inilah contoh dari / etc / ssh / sshd_config saya:
Dengan INFO level logging pesan yang diaktifkan akan mulai muncul di bawah / var / log / messages (setidaknya di bawah Distro berbasis Red Hat):
sumber
/dev/log
di area chroot Anda. Sesuatu sepertisudo 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
. Pengguna masih akan memiliki akses tulis ke / dev / log tersebut, tetapi karena ini adalah soket, mereka tidak dapat melakukan banyak kerusakan jika semua yang mereka miliki hanyalah aksessftp
.Untuk menjernihkan komentar di atas:
Jika Anda memiliki sftp yang dikonfigurasikan menggunakan jail (lingkungan chroot), Anda tidak dapat masuk tanpa campur tangan konfigurasi tambahan. Log tidak dapat ditulis dalam lingkungan chroot, Anda harus membuat ikatan mount atau soket. Saya akan merekomendasikan menggunakan soket, karena ini adalah fitur yang disampaikan oleh syslog-ng serta rsyslog (dan mungkin banyak lagi).
Bagi mereka yang menggunakan syslog-ng, lihat di https://wiki.archlinux.org/index.php/SFTP_chroot#Logging . Bagi mereka yang menggunakan rsyslog, https://wiki.kairaven.de/open/os/linux/sftpssh adalah teman Anda.
Semoga itu bisa membantu.
sumber