GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer AIDE sur CentOS 7

AIDE autrement appelé environnement de détection d'intrusion avancée. AIDE est l'un des outils les plus populaires pour surveiller les changements de serveur dans un système basé sur LINUX. Il est utilisé comme vérificateur d'intégrité de fichiers/dossiers. L'installation de ce logiciel est très simple. Ceci a été écrit à l'origine par Rami Lehti et Pablo Virolainen en 1999. La vérification du système est initialisée par la base de données. Cette base de données est créée à partir d'une règle d'expression régulière dans les fichiers de configuration. Une fois la base de données initialisée, elle peut être utilisée pour vérifier l'intégrité du serveur. Plusieurs algorithmes de résumé sont incorporés à cette fin. Il peut également être utilisé pour vérifier les attributs de fichier pour les incohérences.

Caractéristiques PRINCIPALES :

  • Prend en charge plusieurs algorithmes de résumé comme md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool et plusieurs autres
  • Prise en charge des attributs de fichier tels que le type de fichier, les autorisations, l'inode, l'UID, le Gid, le nom du lien, la taille, le nombre de blocs, le nombre de liens, Mtime, Ctime et Atime
  • Prend en charge Posix ACL, SELinux, XAttrs et les attributs de système de fichiers étendus
  • Prend en charge les expressions régulières pour inclure ou exclure des fichiers/répertoires de manière sélective.
  • Prise en charge de la compression de base de données GZIP.
  • Binaire statique autonome pour faciliter les configurations de surveillance client/serveur.

Dans cet article, je parle de l'installation et de la configuration de la version stable actuelle 0.15.1 d'AIDE sur un serveur CentOS 7. Passons en revue les procédures.

Étape 1 :Installation

Nous pouvons utiliser la commande yum pour installer le logiciel AIDE.

[root@server1 ~]# yum install aide
Loaded plugins: fastestmirror

Dependencies Resolved

===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
aide x86_64 0.15.1-9.el7 base 129 k

Transaction Summary
===============================================================================================================================================
Install 1 Package

Total download size: 129 k
Installed size: 304 k

Étape 2 :Vérifiez et vérifiez la version AIDE

Nous pouvons exécuter cette commande pour confirmer la version d'AIDE et localiser le fichier de configuration.

[root@server1 ~]# aide -v
Aide 0.15.1

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Étape 3 :Créer la base de données

Une fois l'installation de l'AIDE terminée, nous devons créer la base de données primaire qui est initialisée à partir de l'ensemble des règles/expressions dans les fichiers de configuration.

[root@[root@server1 ~]# aide --init

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
server1 ~]# aide --init

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

Une fois la base de données créée, vous pouvez la déplacer vers celle d'origine en la renommant pour que l'AIDE fonctionne.

root@server1 ~]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
[root@server1 ~]# cd /var/lib/aide
[root@server1 aide]# ls
aide.db.gz
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# ls -lt
total 2136
-rw------- 1 root root 2186673 Apr 1 04:09 aide.db.gz

Étape 4 :Exécutez la vérification AIDE

[root@server1 aide]# aide --check

AIDE, version 0.15.1

### All files match AIDE database. Looks okay!

Étape 5 :Confirmez sa fonctionnalité et créez une base de données AIDE mise à jour

Créez un fichier binaire manuellement et vérifiez si AIDE le détecte.

root@server1 aide]# touch /usr/sbin/testbinary
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 04:14:10

Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
---------------------------------------------------
Added files:
---------------------------------------------------

added: /usr/sbin/testbinary

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /usr/sbin

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
Directory: /usr/sbin
Mtime : 2016-04-01 03:42:47 , 2016-04-01 04:14:03
Ctime : 2016-04-01 03:42:47 , 2016-04-01 04:14:03

Nous pouvons vérifier la présence du nouveau fichier à partir des rapports de contrôle AIDE. Nous pouvons même identifier tout changement d'attribut de fichier à partir de ces vérifications.
Une fois que nous avons examiné ces modifications, il est toujours préférable de mettre à jour la base de données de l'aide afin qu'elle ne soit plus signalée lors de la prochaine vérification AIDE.

[root@server1 aide]# aide --update
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 04:15:21

Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
---------------------------------------------------
Added files:
---------------------------------------------------

added: /usr/sbin/testbinary

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /usr/sbin

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------

Il est toujours conseillé de conserver l'ancienne base de données AIDE intacte et de renommer la base de données mise à jour sur les bases quotidiennes pour garder une trace.

[root@server1 tmp]# cd /var/lib/aide/
root@server1 aide]# ls
aide.db.gz aide.db.new.gz
[root@server1 aide]# mv aide.db.gz aide.db.gz-Apr012016
[root@server1 aide]# mv aide.db.new.gz aide.db.gz

Ces processus sont plutôt fastidieux à vérifier à chaque fois et à renommer la base de données, on peut utiliser certains scripts pour mettre à jour ces paramètres.

Étape 6 :Configurez cronjob pour qu'il exécute automatiquement la vérification et le rapport AIDE

Je crée un cron pour lancer automatiquement la vérification AIDE afin de confirmer l'intégrité de mon serveur et me signaler quotidiennement. Veuillez consulter les détails de mon script ci-dessous :

[root@server1 cron]# crontab -l
00 01 * * 0-6 /var/log/aide/aidechk.sh

[root@server1 cron]# systemctl restart crond.service
[root@server1 cron]#
[root@server1 cron]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Fri 2016-04-01 04:28:22 UTC; 8s ago
Main PID: 12378 (crond)
CGroup: /system.slice/crond.service
└─12378 /usr/sbin/crond -n

Apr 01 04:28:22 server1.centos7-test.com systemd[1]: Started Command Scheduler.
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 98% if used.)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (running with inotify support)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
[root@server1 cron]#

root@server1 tmp]# cat /var/log/aide/aidechk.sh

#!/bin/sh
#aide check - SShameer
DATE=`date +%Y-%m-%d`
echo $DATE
REPORT="Aide-"$DATE.txt
echo $REPORT
echo "System check !! `date`" > /tmp/$REPORT
aide --check > /tmp/aidecheck.txt
cat /tmp/aidecheck.txt|/bin/grep -v failed >> /tmp/$REPORT
echo "**************************************" >> /tmp/$REPORT
tail -20 /tmp/aidecheck.txt >> /tmp/$REPORT
echo "****************DONE******************" >> /tmp/$REPORT
mail -s "$REPORT `date`" [email protected] < /tmp/$REPORT

Installez la commande mailx ou les utilitaires de messagerie pour améliorer l'envoi par courrier électronique, s'il n'est pas présent. Selon notre script, le rapport sera régénéré sur /tmp avec l'horodatage et nous sera envoyé par e-mail quotidiennement. Veuillez consulter l'un de mes exemples de format de rapport ci-dessous :

root@server1 tmp]# cat Aide-2016-04-01.txt
System check !! Fri Apr 1 05:04:40 UTC 2016
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 05:04:40

Summary:
Total number of files: 23043
Added files: 15
Removed files: 0
Changed files: 4
---------------------------------------------------
Added files:
---------------------------------------------------

added: /etc/mail.rc
added: /usr/bin/Mail
added: /usr/bin/mail
added: /usr/bin/mailx
added: /usr/bin/nail
added: /usr/share/doc/mailx-12.5
added: /usr/share/doc/mailx-12.5/AUTHORS
added: /usr/share/doc/mailx-12.5/COPYING
added: /usr/share/doc/mailx-12.5/README
added: /usr/share/man/man1/Mail.1.gz
added: /usr/share/man/man1/mail.1.gz
added: /usr/share/man/man1/mailx.1.gz
added: /usr/share/man/man1/nail.1.gz
added: /var/log/aide/aidechk.sh
added: /var/spool/cron/root

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /root
changed: /usr/bin
changed: /usr/share/doc
changed: /usr/share/man/man1

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57

Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29

Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241

Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
**************************************
Detailed information about changes:
---------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57

Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29

Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241

Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
****************DONE******************

Nous pouvons également modifier le fichier de configuration AIDE /etc/aide.conf pour les paramètres avancés. Mais la configuration par défaut vaut presque la peine et est bonne à utiliser.

C'est ainsi que nous pouvons utiliser AIDE pour comprendre les changements de serveur et identifier l'accès non autorisé à notre serveur qui peut être soit par des contenus malveillants, soit par une intervention humaine. J'espère que cet article vous sera utile ! Je recommanderais vos précieuses suggestions et recommandations à ce sujet.

Merci! Bonne journée :)


Cent OS
  1. Comment installer wordpress sur CentOS 6

  2. Comment installer le serveur de base de données MySQL 8 sur CentOS 8

  3. Comment installer SpaceWalk sur CentOS 6 / RHEL 6

  4. Comment installer PostgreSQL sur CentOS 7 / RHEL 7

  5. Comment installer SpaceWalk sur CentOS 7 / RHEL 7

Comment installer Cacti sur CentOS 8 / RHEL 8

Comment installer PostgreSQL dans CentOS 8

Comment installer le serveur de base de données PostgreSQL CentOS 8

Comment installer Oracle Database 21C sur CentOS 8

Comment installer Moodle sur CentOS 8

Comment installer MariaDB sur le flux CentOS 9