scp: mantém logs de transação?

1

Suponha que scp seja um arquivo para o servidor remoto.

scp /file root@<ip>:/file

no servidor remoto, o SCP vê um arquivo chamado /file

que deve ser categorizado como "entrada"

esta informação pode ser ecoada para um arquivo

 echo "incoming:/file" >> /scp_logs

?

ATUALIZAÇÃO:

ou talvez .. pode scp ser configurado para executar um comando também após transferir um arquivo para o servidor remoto (antes de desconectar do servidor)?

dessa forma eu posso anexar o

 echo "incoming:/file" >> /scp_logs

para ele enquanto transfere o arquivo.

    
por Jakuje 28.02.2017 / 19:33

1 resposta

3

Não e sim. O scp emite sessões ssh normais com algum comando remoto (também scp ), mas é codificado nos binários. Portanto, existe a possibilidade de modificar o binário do lado do cliente para enviar também o comando echo .

Ou force essa política no servidor usando o script ForceCommand , que inspecionaria a variável de ambiente SSH_ORIGINAL_COMMAND e, no caso de scp , armazenaria os argumentos no log.

Mas isso não resolveria o caso quando você executa o comando scp, como scp file1 file2 server:/path/ , porque o servidor verá apenas o caminho remoto. Para obter também o caminho real de quais arquivos são realmente carregados, você precisaria modificar scp binary no servidor para fazer o logging para você (em algum lugar no open() chamada).

Então, se você estiver procurando por alguma forma de uploads de arquivos auditáveis, scp não é um caminho a percorrer. Você ficaria muito melhor com sftp , que registra todos os comandos fora da caixa (depois de ativar LogLevel VERBOSE ).

    
por 28.02.2017 / 21:14

Tags