AIDE detecta cambios en los archivos y directorios, así que permite detectar actividades no autorizadas, y cambios provocados por virus y malware. No es un sustituto de soluciones antivirus, pero ayuda a conocer si el sistema ha sido afectado.
En este artículo:
AIDE funciona con una base de datos, en la que guarda una instantánea (Snapshot) del estado de los archivos del sistema; así, cuando un archivo cambia, AIDE lo detecta.
–> Instalar en Red Hat/CentOS
yum install aide
–> Instalar en Debian/Ubuntu
apt install aide
Después de instalar AIDE, hemos de compilarlo, con:
aide -v
El fichero de configuración de AIDE es
/etc/aide.conf
El fichero de configuración de AIDE contiene directivas predeterminadas y permite también definir directivas específicas para ciertos ficheros y directorios.
Por ejemplo,
# Access control only.
PERMS = p+u+g+acl+selinux+xattrs
# Content + file type.
CONTENT = sha256+ftype
# Extended content + file type + access.
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
# Some files get updated automatically, so the inode/ctime/mtime change
# but we want to know when the data inside them changes.
DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
aide --init
Al inicializar la base de datos, esta contendrá la información de todos los ficheros que se han definido en el fichero de configuración.
El archivo de base de datos está definido en el archivo de configuración de AIDE:
# The location of the database to be read.
database=file:@@{DBDIR}/aide.db.gz
# The location of the database to be written.
#database_out=sql:host:port:database:login_name:passwd:table
#database_out=file:aide.db.new
database_out=file:@@{DBDIR}/aide.db.new.gz
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
aide --check
AIDE leerá la instantánea (snapshot) en la base de datos y la comparará con los ficheros y directorios del sistema. Si encuentra modificaciones no esperadas, generará un reporte.
En este caso hemos modificado un archivo de sistema, concretamente el archivo /etc/hosts, y al ejecutar el chequeo de AIDE vemos que nos informa de ello:
aide –update
* Tras una actualización de la base de datos, para usar la nueva base de datos para futuros escaneos, la renombraremos:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
El fichero de log de aide es
/var/log/aide/aide.log
–> Vamos a configurar AIDE para realizar un reporte diario, que creará el reporte todos los días a las 01:00 am, y lo guardará con la fecha y hora, dentro del directorio /tmp/aide.
Crearemos una tarea cron (crontab) con el siguiente contenido:
0 1 * * * nice -19 /usr/sbin/aide --config=/etc/aide.conf >> /tmp/aide/"$(date +"%Y_%m_%d_%I_%M_%p").log"
–> Si lo que queremos es enviar el informe por email (presuponiendo que tenemos correctamente configurado un servidor de correo, en este caso usando mail ), configuraremos este crontab, que primero ejecutará AIDE y enviará el resultado por mail a tu buzón de correo, y después realizará el renombrado de la base de datos.
0 1 * * * nice -19 /usr/local/bin/aide --config=/etc/aide.conf -C| mail tu@correo-s asunto
02 1 * * * mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
–> O este otro cron, que realizará una update en AIDE, enviará el mail con el reporte, y después realizará el renombrado de la base de datos:
0 1 * * * nice -19 /usr/sbin/aide --update | /bin/mail -s "AIDE reporte diario" yo@mail
02 1 * * * mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz