Zastanawiam się, czy istnieje sposób na rejestrowanie poleceń otrzymanych przez serwer. Mogą to być wszystkie polecenia SSH, o ile zawierają informacje na temat poleceń związanych z przesyłaniem plików.
Mam problemy z klientem SFTP, a twórca prosi o dzienniki, ale nie mogę znaleźć żadnych istniejących dzienników.
Chcę zalogować się do obu systemów CentOS lub OS X (choć podejrzewam, że jest to możliwe, w obu przypadkach będzie podobnie).
Odpowiedzi:
Wersje OpenSSH 4.4p1 i nowsze (które powinny obejmować najnowszą wersję z CentOS 5) mają wbudowaną funkcję rejestrowania SFTP - wystarczy ją skonfigurować.
Znajdź to w swoim sshd_config (w centos, plik / etc / ssh / sshd_config ):
i zmień na:
INFO to tylko jeden poziom szczegółowości w stosunku do tego, co widzisz domyślnie - zapewnia szczegółowe informacje dotyczące przesyłania plików, zmian uprawnień itp. Jeśli potrzebujesz więcej informacji, możesz odpowiednio dostosować poziom dziennika. Różne poziomy (w kolejności szczegółów) to:
Wszystko poza VERBOSE to prawdopodobnie więcej informacji niż szukasz, ale może być przydatne.
Na koniec uruchom ponownie usługę SSH, aby zaktualizować zmiany (centos):
źródło
/var/log/auth.log
. Dodaj-f USER
do tejSubsystem
linii konfiguracji, aby wysłać je do/var/log/syslog
.Te same przełączniki wokół rejestrowania dla serwera sftp działają również dla wewnętrznego sftp. Oto przykład z mojego / etc / ssh / sshd_config:
Po włączeniu rejestrowania na poziomie INFO komunikaty zaczną pojawiać się w / var / log / messages (przynajmniej w Distrosach opartych na Red Hat):
źródło
/dev/log
w obszarze chroot. Coś podobnegosudo 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
. Użytkownicy nadal będą mieli dostęp do zapisu do tego / dev / log, ale ponieważ jest to gniazdo, nie mogą wyrządzić wiele szkody, jeśli wszystko, co mają dostęp, tosftp
.Aby wyjaśnić powyższe komentarze:
Jeśli masz skonfigurowany sftp za pomocą więzienia (środowisko chroot), nie możesz zalogować się bez dodatkowego przerwania konfiguracji. Logu nie można zapisać w środowisku chroot, musisz utworzyć powiązanie montowania lub gniazdo. Polecam korzystanie z gniazda, ponieważ jest to funkcja dostarczana przez syslog-ng oraz rsyslog (i może wiele innych).
Dla tych, którzy używają syslog-ng, spójrz na https://wiki.archlinux.org/index.php/SFTP_chroot#Logging . Dla tych, którzy korzystają z rsyslog, twoim przyjacielem jest https://wiki.kairaven.de/open/os/linux/sftpssh .
Mam nadzieję, że to pomaga.
źródło