Log in Page Discussion History Go to the site toolbox

300909/fcheck

From BluWiki

Por JP Vossen:

«fcheck es un programa que te envía correos alertándote cuando se producen cambios en directorios o archivos importantes. Es muy práctico para controlar los cambios o para detectar modificaciones no autorizadas.

La mayoría de los administradores de sistemas coincidirán en que es una buena idea tener un vigilante de la integridad de los archivos, el problema es que son difíciles de hacer funcionar y mantenerlos actualizados. Por esta razón, está permanentemente en la lista de tareas pendientes y nunca lo tienes cuando lo necesitas. (Configurarlo después de una intrusión ya es demasiado tarde.)

Prueba fcheck, fuciona desde su instalación, lo único que tienes que tener en cuenta es lo que se describe a continuación y tener un poco de cuidado.

Una vez instalado te crea un archivo de base de datos (DB) que se ejecuta desde cron cada dos horas. Cuando detecta un cambio te envía un mensaje por email (a través de cron) y actualiza el DB por él mismo, de esta forma, no volverás a recibir el mismo error la próxima vez. Eso es un potencial problema de seguridad, puesto que si pierdes ese mensaje perderás tu única alerta. Del mismo modo, recibirás avisos debidos a los archivos que cambian continuamente (como /etc/mtab, /etc/printcap y /etc/samba/smbpasswd), hasta que los excluyas. Puedes indicar en el archivo de configuración fcheck.local los archivos que quieres revisar.

Recibirás un gran mensaje de alerta después de ejecutar el comando aptitude *-upgrade, lo que es una buena forma de comprobar tu política de control de cambios (las cosas cambian cuando se supone que deben hacerlo).

El actual paquete no posee la opción de ignorar los archivos de logcheck, así que si lo estás usando (y deberías hacerlo si es un servidor) obtendrás alertas sobre la reconstrucción de DB hasta que añadas la línea para ignorarlo (ver ejemplos).

El archivo de configuración por defecto no está mal, y añadirle unos cuantos archivos y directorios para revisar es muy fácil, aunque añadir directorios es un poco delicado puesto que sólo se revisan recursivamente si el listado tiene una ruta /. Revisa los ejemplos para ver las cosas que añado generalmente.

También hay un inconveniente en lo que se refiere a lo indicado en este informe de error. Ocasiona que no haya una exclusión necesaria para /lib/udev/devices/ y la instalación se parará en Building fcheck database (may be some time)... o durante una revisión en PROGRESS: validating integrigy of /lib/ dejando una gran cantidad de procesos fcheck que cuelgan el sistema. Revisa el informa de error y los ejemplos finales para corregirlo.

Debido a la facilidad de fallos potenciales al enviar sólo un mensaje antes de la actualización de DB y a la carencia de cifrado de los archivos que lo componen, no es el programa más seguro entre los que puedes escoger. Pero es el más sencillo de los que he visto. Y no es difícil hacerlo más seguro, sólo con mantener copias inaccesibles de DB, la configuración y los scripts de Perl; y ajustando la tarea de cron a 'NOT rebuild after changes', si quieres.

Si tienes un servidor deberías estar usando fcheck y logcheck. También probablemente tmpreaper, etckeeper y monit. Resumiento:

Pros:

  • Funciona con sólo instalarlo, en contraposición a sus similares.
  • Fácil de configurar y usar.
  • Código muy estable (por lo menos no ha cambiado desde el 2001).
  • Escrito en Perl, fácil de modificar.
  • También funciona en Windows.

Contras:

Otras alternativas:

  • debsums: Verifica los archivos de los paquetes instalados con MD5.
  • integrit: Un programa de verificación de la integridad de los archivos.
  • osiris: Interfaz de control que monitoriza la integridad del sistema de red.
  • samhain: Sistema de alerta de la integridad de datos y de intrusos.
  • stealth: Un comprobador clandestino de la integridad de los archivos.
  • tripwire: Comprobador de la integridad de los archivos y directorios.

Disponibilidad:

  • Debian: Por lo menos desde Etch: 2.7.59-8.
  • Ubuntu: Por lo menos desde Dapper: 2.7.59-8.

Ejemplos:

Edita /etc/fcheck/fcheck.cfg y añade lo siguiente:

# Tweak the main file if needed, then add this near the bottom.
# In addition to the defaults in this main file, also:

CFInclude       = /etc/fcheck/fcheck.cfg.local

Crea /etc/fcheck/fcheck.cfg.local:

# In addition to the defaults in '/etc/fcheck/fcheck.cfg':

# Track changes to crontabs (may want to limit to some users on busy systems)
# Note trailing '/' for recursive check of this directory
Directory       = /var/spool/cron/

# This stuff changes too often
Exclusion      = /etc/package.list
Exclusion      = /etc/printcap
Exclusion      = /etc/motd
Exclusion      = /etc/mtab
#Exclusion      = /etc/samba/smbpasswd
# for DHCP: Exclusion      = /etc/resolv.conf

# BUGFIX, per https://bugs.launchpad.net/ubuntu/+source/fcheck/+bug/47408
# Can't hurt to have this just in case
Exclusion      = /lib/udev/devices/

Únicamente si también estás usando el paquete logcheck, crea /etc/logcheck/ignore.d.server/fcheck.local:

# Ignore fcheck rebuild notices
# Note that this should be one single line:
^\w{3} [ :0-9]{11} \w+ fcheck: “INFO: Rebuild of the fcheck database /var/lib/fcheck/fcheck\.dbf begun \ for \w+ using config ile /etc/fcheck/fcheck\.cfg”

»

Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 4 September 2009, at 09:11.
Disclaimers - About BluWiki