Configurando o registro para usuários chroot

0

Eu tentei alguns tutoriais sobre isso, mas não consigo fazê-lo funcionar. Eu gostaria de registrar a atividade do usuário (alterar diretório, upload / download do arquivo, etc) para usuários chroot que estão em uma cadeia chroot.

Minha entrada atual do arquivo 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

E minha entrada atual do /etc/rsyslog.conf (na seção RULES):

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

Eu também criei um diretório / dev no diretório inicial dos usuários (mesmo diretório do diretório chroot)

Ainda não consigo obter nenhum registro para esses usuários chrooted. Além disso, esses usuários têm o shell configurado como / sbin / noshell (não tenho certeza se isso afeta isso).

EDITAR:

Consegui fazer o registro funcionar com minha entrada sshd_config como:

Subsystem       sftp    internal-sftp -l INFO

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

Criando uma pasta dev no diretório inicial dos usuários chroot, e então criando um arquivo de configuração rsyslog /etc/rsyslog.d/sftplogging.conf com a entrada:

#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" ~

Isso me permite obter logs para /var/log/sftp.log, mas devido às limitações do rsyslog estar limitado a 50 sockets, eu tentei alterar o /etc/rsyslog.d/sftplogging.conf para:

$ AddUnixListenSocket /data/sftp/syslog.sock

e, em seguida, vinculá-lo à pasta de desenvolvimento de usuários

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

Depois de reiniciar o rsyslog, este faz todas as entradas no sftp.log

    
por cy10n 31.01.2017 / 16:57

1 resposta

0

Eu estava escrevendo sobre esse assunto há algum tempo, que menciona vários culpados que você pode encontrar ao tentar alcançar isso:

link

Eu tentaria um novo formato de configuração para rsyslog :

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

Caso contrário, alguns erros, AVCs, status do SELinux e mais informações de diagnóstico seriam necessários.

    
por 31.01.2017 / 18:16