ChrootDirectory ile OpenSSH loglama

Bir önceki yazıda eksik kalan OpenSSH loglama kısmına bu yazıda değineceğim. Bir önceki yazıya buradan ulaşabilirsiniz.

Chroot içinde syslog kullanılabilir kılmak

Basitçe herbir seçilen chroot dizinleri içerisinde bir dev dizini oluşturalım.

# mkdir /home/user/dev

Yeni loglama kaynağında rsyslog ayarlanması

/etc/rsyslog.d/sshd.conf de aşağıda gördüğünüz içerikleri çıkarınız:

# Create an additional socket for some of the sshd chrooted users.
$AddUnixListenSocket /var/fileserv/dev/log

# Log internal-sftp in a separate file
:programname, isequal, "internal-sftp" -/var/log/sftp.log
:programname, isequal, "internal-sftp" ~

Loglama için openssh ayarlanması

Bir önceki yazıya göre , /etc/sshd_config değiştirilmelidir. Subsystem sftp satırı aşağıdaki satırı okumalıdır :

Subsystem sftp internal-sftp -l VERBOSE

Match bölümü aşağıdaki gibi görünmelidir.

Match group sftponly
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp -l VERBOSE

Yeni log dosyası için Log rotation

/etc/logrotate.d de bulunan aşağıdaki satırı çıkarınız:

/var/log/sftp.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}