chroot ユーザーのロギング設定

chroot ユーザーのロギング設定

これについていくつかのチュートリアルを試しましたが、うまく動作しないようです。 chroot刑務所にchrootユーザーのユーザーアクティビティ(ディレクトリの変更、ファイルのアップロード/ダウンロードなど)を記録したいと思います。

私の現在のsshd_configファイルエントリ:

   Subsystem       sftp    internal-sftp -l VERBOSE -f LOCAL6

   Match Group sftponly
           ChrootDirectory %h
           AllowTcpForwarding no
           X11Forwarding no
           ForceCommand internal-sftp -l VERBOSE -f LOCAL6

私の現在の/etc/rsyslog.confエントリ(ルールセクション):

   $AddUnixListenSocket /user1HomeDir/dev/log
   local6.*   /var/log/sftp.log
   :programname, isequal, "internal-sftp" -/var/log/sftp.log
   :programname, isequal, "internal-sftp" ~

また、ユーザーのホームディレクトリ(chrootディレクトリと同じ)に/ devディレクトリを作成しました。

まだchrootユーザーのログを取得できません。また、これらのユーザーのシェルは/ sbin / noshellに設定されています(これが影響するかどうかはわかりません)。

編集する:

sshd_configエントリを次のように設定すると、ロギングが機能するようにできます。

Subsystem       sftp    internal-sftp -l INFO

Match Group sftponly
        ChrootDirectory h%
        AllowTcpForwarding no
        ForceCommand internal-sftp -l INFO
        X11Forwarding no

chrootユーザーのホームディレクトリにdevフォルダを作成したら、次のエントリを使用してrsyslog設定ファイル/etc/rsyslog.d/sftplogging.confを作成します。

#create socket in chroot user's dev floder
    $AddUnixListenSocket /data/sftp/User/home/dev/log

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

これにより、ログを/var/log/sftp.logにインポートできますが、rsyslogは50個のソケットに制限されているので、/etc/rsyslog.d/sftplogging.confを次のように変更してみました。

$AddUnixListenSocket /data/sftp/syslog.sock

次に、ユーザーのdevフォルダにハードリンクします。

ln /data/sftp/syslog.sock dev/log

rsyslog を再起動した後、sftp.log にエントリは生成されません。

答え1

私はしばらく前に、このトピックについて執筆し、それを達成しようとしたときに発生する可能性があるいくつかの犯罪者に言及しました。

https://access.redhat.com/articles/1374633

新しい設定形式を試してみましょうrsyslog

input(type="imuxsock" Socket="/chroots/user/dev/log" CreatePath="on")
local3.*                                                /var/log/sftp.log

それ以外の場合は、いくつかのエラー、AVC、SELinuxのステータス、および追加の診断情報が必要です。

関連情報