Monitoreo de VSFTPD

Marco Escobar escobarm en terra.cl
Mar Oct 18 17:00:37 CLST 2005


Gracias ya solucione el problema con un script si les sirev se los envio

------------------------------------------------------------------------
#!/bin/sh

# Analiza y hace un sumario a el log del ftp osea xferlog
#   -------Marco Escobar------

stdxferlog="/var/log/xferlog"
temp="/tmp/$(basename $0).$$"
nicenum="$HOME/bin/nicenumber"

trap "/bin/rm -f $temp" 0

extract()
{
  # llamamos con $1 = acceso modo deseado, $2 = nombre seccion para la
salida

  if [ ! -z "$(echo $accessmode | grep $1)" ] ; then

    echo "" ; echo "$2"

    if [ "$1" = "a" -o "$1" = "g" ] ; then
      echo "  Cuentas Comunes (Password Ingresadas) Valores:"
    else
      echo "  Cuentas de Usuarios Accesando al Servidor: "
    fi
    awk "\$13 == \"$1\" { print \$14 }" $log | sort | \
        uniq -c | sort -rn | head -10 | sed 's/^/    /'

    awk "\$13 == \"$1\" && \$12 == \"o\" { print \$9 }" $log | sort | \
      uniq -c | sort -rn | head -10 | sed 's/^/    /' > $temp
    if [ -s $temp ] ; then
      echo "  Archivos Bajados desde Nuestro Servidor:" ; cat $temp
    fi

    awk "\$13 == \"$1\" && \$12 == \"i\" { print \$9 }" $log | sort | \
      uniq -c | sort -rn | head -10000000000 | sed 's/^/    /' > $temp

    if [ -s $temp ] ; then
      echo "  Archivos Enviados a Nuestro Servidor :" ; cat $temp
    fi
  fi
}

##### main !! xD
case $# in
  0 ) log=$stdxferlog           ;;
  1 ) log="$1"                  ;;
  * ) echo "Usage: $(basename $0) {xferlog name}" >&2
      exit 1
esac

if [ ! -r $log ] ; then
  echo "$(basename $0): No se Puede Accesa o Leer $log." >&2
  exit 1
fi



if [ ! -z $(awk '$6 == "get" { short=1 } END{ print short }' $log) ] ;
then
  bytesin="$(awk 'BEGIN{sum=0} $6 == "get" {sum += $9} END{ print sum }'
$log )"  bytesout="$(awk 'BEGIN{sum=0} $6 == "put" {sum += $9} END
{ print sum }' $log )"

  echo -n "Log de Ftp Abreviado "
  echo -n $(head -1 $log | awk '{print $1, $2, $3 }')
  echo    " to $(tail -1 $log | awk '{print $1, $2, $3}')"
  echo "       Bytes Ingresados: $($nicenum $bytesin)"
  echo "      Bytes Enviados: $($nicenum $bytesout)"
  exit 0
fi

bytesin="$(awk 'BEGIN{sum=0}   $12 == "i" {sum += $8} END{ print sum }'
$log )"
bytesout="$(awk 'BEGIN{sum=0} $12 == "o" {sum += $8} END{ print sum }'
$log )"
time="$(awk 'BEGIN{sum=0} {sum += $6} END{ print sum }' $log)"

echo -n "Sumario del Log de Ftp "
echo -n $(head -1 $log | awk '{print $1, $2, $3, $4, $5 }')
echo    " to $(tail -1 $log | awk '{print $1, $2, $3, $4, $5}')"
echo "       Bytes Ingresados: $($nicenum $bytesin)"
echo "      Bytes Enviados: $($nicenum $bytesout)"
echo "  Tiempo de Transferencia: $time seconds"

accessmode="$(awk '{print $13}' $log | sort -u)"

extract "a" "Acceso Anonimo"
extract "g" "Acceso de Invitados"
extract "r" "Acceso Usuarios Reales"

exit 0
------------------------------------------------------------------------

esto despliega algo asi

------------------------------------------------------------------------
Sumario del Log de Ftp Tue Oct 18 13:12:52 2005 to Tue Oct 18 13:13:18
2005
       Bytes Ingresados:
      Bytes Enviados:
  Tiempo de Transferencia: 40 seconds

Acceso Usuarios Reales
  Cuentas de Usuarios Accesando al Servidor:
         4 terreno
         5 administrador
  Archivos Enviados a Nuestro Servidor :
          1 /thesis.pdf
          1 /TAGSI03-TareaTecnSI-grupo10.pdf
          1 /SuperDAT.log
          1 /RHN-reference-400-es.pdf
          1 /portfolio.pdf
          1 /phpmysqlap.pdf
          1 /manualpHPNUKE.pdf
          1 /Manual_Acceso_Hidra.pdf
          1 /IntroFedora.pdf
------------------------------------------------------------------------

ojala les sirva 

Gracias

El mar, 18-10-2005 a las 14:10 -0300, Cristian Madrid escribió:
> El Martes, 18 de Octubre de 2005 12:03, Francisco Collao Garate escribió:
> > Marco Escobar wrote:
> > > hola, consulta,
> > >
> > > habra algun programa para poder monitorear el vsftpd osea ver los
> > > usuarios conectados , lo que suben o bajan del ftp por que he buscado y
> > > no he encontrado nada
> > >
> Yo	lo monitoreo con logwatch cada cierto tiempo asignado por mi en 
> logwatch.conf
> > > si me pueden ayudar please
> > >
> > >
> > > gracias
> >
> > Configuras el vsftp para que te entrege un log:
> > en /etc/vsftpd/vsftpd.conf
> >
> > xferlog_file=/var/log/vsftpd.log
> >
> > reinicias el servicio y luego en consola o terminal te aplicas con un:
> >
> > # tail -f /var/log/vsftpd.log
> >
> > algo mas amistoso que eso no hay :-D
> >
> > salu2
> 



Más información sobre la lista de distribución Linux