Gostaria de saber se existe uma maneira de registrar os comandos recebidos pelo servidor. Pode ser todos os comandos SSH, desde que inclua informações sobre comandos relacionados à transferência de arquivos.
Estou tendo problemas com um cliente SFTP e o criador está solicitando logs, mas não consigo encontrar nenhum registro existente.
Estou procurando fazer logon no CentOS ou no OS X (embora eu suspeite que seja possível, seria semelhante nos dois).
Respostas:
O OpenSSH versões 4.4p1 e posteriores (que devem incluir a versão mais recente do CentOS 5) têm capacidade de registro SFTP embutida - você só precisa configurá-lo.
Encontre isso em seu sshd_config (em centos, arquivo / etc / ssh / sshd_config ):
e mude para:
INFO é apenas um nível de detalhe sobre o que você vê por padrão - fornece informações detalhadas sobre transferências de arquivos, alterações de permissão, etc. Se você precisar de mais informações, poderá ajustar o nível de log de acordo. Os vários níveis (em ordem de detalhes) são:
Qualquer coisa em VERBOSE é provavelmente mais informações do que você procura, mas pode ser útil.
Finalmente, reinicie o serviço SSH para atualizar as alterações (centos):
fonte
/var/log/auth.log
. Adicione-f USER
a essaSubsystem
linha de configuração para enviá-los/var/log/syslog
.As mesmas opções de log para o servidor sftp também funcionam para o sftp interno. Aqui está um exemplo do meu / etc / ssh / sshd_config:
Com o registro no nível INFO, as mensagens ativadas começarão a aparecer em / var / log / messages (pelo menos em Distros baseadas no Red Hat):
fonte
/dev/log
na sua área de chroot. Algo comosudo 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
. Os usuários ainda terão acesso de gravação a esse / dev / log, mas como é um soquete, não poderão causar muito dano se tudo o que tiverem acesso forsftp
.Para esclarecer os comentários acima:
Se você tiver configurado o sftp usando uma prisão (ambiente chroot), não poderá fazer o logon sem o recurso de configuração adicional. O log não pode ser gravado no ambiente chroot, você precisa criar uma ligação de montagem ou um soquete. Eu recomendaria o uso de um soquete, pois é um recurso fornecido pelo syslog-ng e pelo rsyslog (e talvez muito mais).
Para aqueles que estão usando o syslog-ng, consulte https://wiki.archlinux.org/index.php/SFTP_chroot#Logging . Para quem está usando o rsyslog, https://wiki.kairaven.de/open/os/linux/sftpssh é seu amigo.
Espero que ajude.
fonte