1 votos

¿Quién está enviando archivos por sftp a mí? ¿Hay alguna forma de averiguarlo?

Me ha tocado asumir la responsabilidad de una máquina Ubuntu Linux que estamos usando como servidor de archivos. Casi no tengo experiencia previa con Linux. Una de las cosas en las que estoy tratando de mejorar es un montón de archivos muy grandes que alguien está transfiriendo a este servidor y ocupando todo el espacio disponible. He preguntado por ahí y nadie está usando esos archivos o sabe de dónde vienen. No quiero seguir entrando todos los días para borrar esos archivos, pero no tengo idea de cómo rastrear de dónde vienen. Todo lo que sé es que los archivos están siendo enviados a nuestro servidor, probablemente a través de sftp, y que no los estamos descargando de ningún sitio (no he encontrado ningún trabajo cron que haga esto). ¿Hay alguna forma de averiguar de dónde vienen estos archivos y tal vez bloquearlos?

5voto

Artemish Puntos 56

Un par de ideas:

¿Hay un nombre de usuario y contraseña SFTP común que todos usan para conectarse al servidor, o cada uno tiene su propio nombre de usuario? Si cada uno tiene su propio nombre de usuario, puedes ver el propietario de los archivos usando ls -l ruta/al/archivo.

Dado que SFTP se ejecuta sobre SSH, puedes verificar el registro de autenticación en /var/log/auth.log para ver quién inició sesión y cuándo. Podrías verificar la hora de creación en los archivos grandes y ver si puedes correlacionar las horas de creación/inicio de sesión. El archivo auth.log tiene la dirección IP y nombres de usuario de cada intento de inicio de sesión en la máquina. Una vez que tengas la dirección IP, podrías hacer una búsqueda DNS inversa (es decir, con dig @tun_servidordenombres -x ip_ofensiva +corto, o hacer cualquier otro reconocimiento de red que se te ocurra.

En cuanto a qué hacer una vez que descubras quién está ocupando todo el espacio, depende de quién esté usando tu servidor de archivos. Si es un servidor de archivos público, podría parecer razonable prohibir la dirección IP, pero si alguien tiene la intención de abusar de tu servicio, podría simplemente hacer un proxy a través de otra dirección IP y hacerlo todo de nuevo. Si es un servidor de archivos interno para tu organización, probablemente quieras hablar con el infractor, si puedes encontrarlo. Podría valer la pena redactar un conjunto de reglas simples para usar el servidor de archivos (es decir, no subir archivos grandes), y publicarlo en algún lugar donde la gente pueda verlo.

1 votos

Si el objetivo inmediato es simplemente averiguar de dónde vienen los archivos, entonces revisar /var/log/auth.log al menos te llevará parcialmente allí. Debería registrar la dirección IP de la máquina cliente cuando se conecta. Si es una dirección interna, puedes rastrear la PC exacta. Si es la dirección de tu firewall o puerta de enlace, entonces esperanzadamente también tiene registros que se pueden revisar.

0voto

HBruijn Puntos 16577

En general:

  • Los archivos siempre tendrán detalles de propiedad, un nombre de usuario y grupo, buscar los cuales podría dar información sobre un usuario comercial real, un proceso comercial específico o un proceso de servidor responsable.
  • La ubicación del archivo/el camino del directorio a menudo sugiere un servicio específico también. Es decir, Los archivos en /var/www sugieren un proceso del servidor web, un formulario de carga en línea o web DAV, etc.
  • Además, la mayoría de los demonios (incluido sftp) registrarán eventos como la autenticación del usuario y/o las cargas en /var/log, lo que también puede permitirle determinar desde qué sistemas se originaron tales cargas.

0voto

jcollum Puntos 10236

Puedes usar systemtap para encontrar qué PID está creando el archivo. Aquí tienes cómo ver para borrar: https://serverfault.com/a/310477/30946 Para crear, necesitas observar las llamadas al sistema creat(2) y open(2).

El script de systemtap sería:

probe syscall.creat, syscall.open
{
    printf ("%s(%d) open (%s) userID(%d)\n", execname(), pid(), argstr, uid())
}

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X