Quem é o sftp-ing para mim? Existe alguma maneira de descobrir?

1

Eu tive que assumir a responsabilidade por uma máquina Linux Ubuntu que estamos usando como servidor de arquivos. Eu quase não tenho experiência anterior com o Linux. Uma das coisas que estou tentando entender é um monte de arquivos muito grandes que alguém está transferindo para esse servidor e ocupando qualquer espaço disponível. Eu perguntei por aí e ninguém está usando esses arquivos ou sabe de onde eles estão vindo. Não quero continuar a fazer login todos os dias para continuar excluindo esses arquivos, mas não tenho ideia de quem rastrear de onde eles vêm. Tudo o que sei é que os arquivos estão sendo enviados para o nosso servidor, provavelmente através do sftp, e que não estamos puxando os arquivos de algum lugar (não encontrei nenhuma tarefa do cron que faça isso). Existe alguma maneira de eu descobrir de onde esses arquivos estão vindo e talvez bloqueá-los?

    
por superfahd 07.08.2017 / 21:52

3 respostas

4

Algumas ideias:

Existe um nome de usuário e senha de SFTP comuns que todos usam para se conectar ao servidor, ou todos têm seu próprio nome de usuário? Se cada um deles tiver seu próprio nome de usuário, você poderá consultar o proprietário dos arquivos usando ls -l path/to/file .

Como o SFTP é executado sobre o SSH, você pode verificar o log de autenticação em /var/log/auth.log para ver quem efetuou login e quando. Você pode verificar o tempo de criação nos arquivos grandes e ver se é possível correlacionar os tempos de criação / login. O arquivo auth.log tem o endereço IP e os nomes de usuário de cada tentativa de login na máquina. Depois de ter o endereço IP, você pode fazer uma pesquisa reversa de DNS (por exemplo, com dig @your_nameserver -x offending_ip +short ou fazer qualquer outro reconhecimento de rede que você possa imaginar).

Em relação ao que fazer quando você descobre quem está usando todo o espaço, isso depende de quem está usando o servidor de arquivos. Se for um servidor de arquivos público, proibir o IP pode parecer razoável, mas se alguém tiver a intenção de abusar do seu serviço, ele poderá simplesmente fazer proxy através de outro IP e fazer tudo de novo. Se for um servidor de arquivos interno para sua organização, provavelmente você desejará falar com o ofensor, se puder encontrá-los. Pode valer a pena elaborar um conjunto simples de regras para usar o servidor de arquivos (ou seja, não fazer upload de arquivos grandes) e publicá-lo em algum lugar onde as pessoas possam vê-lo.

    
por 07.08.2017 / 22:29
0

Em geral:

  • Os arquivos sempre terão detalhes de propriedade, um nome de usuário e um grupo, procurando os dois que já podem fornecer informações sobre um usuário de negócios real, um processo de negócios específico ou um processo de servidor responsável
  • O caminho do local / diretório de arquivos geralmente também indica um serviço específico. Ou seja Arquivos sob /var/www dica em um processo de servidor da web, um formulário de upload on-line ou DAV da web, etc.
  • Além disso, a maioria dos daemons (incluindo sftp) registra eventos como autenticação de usuário e / ou uploads em /var/log , o que também permite determinar de quais sistemas esses uploads se originaram
por 07.08.2017 / 22:41
0

Você pode usar o systemtap para descobrir qual PID está criando o arquivo. Veja como excluir: link Para criar, você precisa assistir creat(2) e open(2) syscalls.

O script do systemtap seria:

probe syscall.creat, syscall.open
{
    printf ("%s(%d) open (%s) userID(%d)\n", execname(), pid(), argstr, uid())
}
    
por 07.08.2017 / 23:26