AIDE, also called “Advanced Intrusion Detection Environment,” is a free and open-source file integrity monitoring tool for Linux-based systems. It monitors changes in your Linux system and notifies you of them via email. It uses several algorithms, including md5, sha1, rmd160, and tiger, to check file integrity. Generally, AIDE checks file permissions, inodes, modification time, file contents, user, group, file size, and more.

In this post, we will explain how to install and use AIDE on Oracle Linux 8.

Step 1 – Install AIDE

By default, the AIDE package is included in the Oracle Linux 8 default repository. You can install it by just running the following command:

dnf install aide -y

After the successful installation, you can see the AIDE package information using the following command:

rpm -qi aide

You should see the AIDE package information in the following output:

Name        : aide
Version     : 0.16
Release     : 14.el8_5.1
Architecture: x86_64
Install Date: Thursday 01 September 2022 08:39:20 AM EDT
Group       : Unspecified
Size        : 374719
License     : GPLv2+
Signature   : RSA/SHA256, Monday 07 February 2022 05:50:45 AM EST, Key ID 82562ea9ad986da3
Source RPM  : aide-0.16-14.el8_5.1.src.rpm
Build Date  : Monday 07 February 2022 05:14:29 AM EST
Build Host  : build-ol8-x86_64.oracle.com
Relocations : (not relocatable)
Vendor      : Oracle America
URL         : http://sourceforge.net/projects/aide
Summary     : Intrusion detection environment
Description :
AIDE (Advanced Intrusion Detection Environment) is a file integrity
checker and intrusion detection program.

Step 2 – Initialize the AIDE Database

After installing AIDE, you will need to create a database for your current system state. You can create it with the following command:

aide --init

Once the AIDE database is created, you will get the following output:

Start timestamp: 2022-09-01 08:41:55 -0400 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	120136

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : HrRHisua7lg4j9+Age/DDA==
  SHA1     : E96LC//yREmtEYUbjhI3Q5I//r8=
  RMD160   : bxdClGATptUZyMcmMOk/yiOWAbY=
  TIGER    : YPZ5DlnYs1b1rlAfL9XXou7d4VwxsNyJ
  SHA256   : Ys9VwAjaNQweueE8q8K276T16o/y9GY/
             jUhvHS68IOg=
  SHA512   : Ra6uKNRCCvXc3NRQvPcARkaGaEvF6qr9
             1qOZtJUsw24ksp416FX1FYVgN3r6Yo+3
             52IebFgabo6s7pDuJvv2Fg==


End timestamp: 2022-09-01 08:42:25 -0400 (run time: 0m 30s)

Next, copy your newly created database to the master database with the following command:

cp -p /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Next, verify the AIDE configuration using the following command:

aide -D

Next, check the database against your system baseline with the following command:

aide --check

You will get the following output:

Start timestamp: 2022-09-01 08:44:04 -0400 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Number of entries:	120136

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.gz
  MD5      : HrRHisua7lg4j9+Age/DDA==
  SHA1     : E96LC//yREmtEYUbjhI3Q5I//r8=
  RMD160   : bxdClGATptUZyMcmMOk/yiOWAbY=
  TIGER    : YPZ5DlnYs1b1rlAfL9XXou7d4VwxsNyJ
  SHA256   : Ys9VwAjaNQweueE8q8K276T16o/y9GY/
             jUhvHS68IOg=
  SHA512   : Ra6uKNRCCvXc3NRQvPcARkaGaEvF6qr9
             1qOZtJUsw24ksp416FX1FYVgN3r6Yo+3
             52IebFgabo6s7pDuJvv2Fg==


End timestamp: 2022-09-01 08:44:27 -0400 (run time: 0m 23s)

Step 3 – Verify AIDE

At this point, AIDE is installed and initialized. Next, create some files and directories for your system, then check whether AIDE detects your changes or not.

First, create some files and a directory:

touch file1.txt file2.txt
mkdir test
aide --check

You should get detailed information about changes in the following output:

---------------------------------------------------

Directory: /root
  Linkcount: 3                                | 4


---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /etc/file1.txt
f++++++++++++++++: /etc/fil2.txt
f++++++++++++++++: /etc/test

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.gz
  MD5      : HrRHisua7lg4j9+Age/DDA==
  SHA1     : E96LC//yREmtEYUbjhI3Q5I//r8=
  RMD160   : bxdClGATptUZyMcmMOk/yiOWAbY=
  TIGER    : YPZ5DlnYs1b1rlAfL9XXou7d4VwxsNyJ
  SHA256   : Ys9VwAjaNQweueE8q8K276T16o/y9GY/
             jUhvHS68IOg=
  SHA512   : Ra6uKNRCCvXc3NRQvPcARkaGaEvF6qr9
             1qOZtJUsw24ksp416FX1FYVgN3r6Yo+3
             52IebFgabo6s7pDuJvv2Fg==

/var/lib/aide/aide.db.new.gz
  MD5      : 5wuA8hCUYqQCrMwlx6/nYg==
  SHA1     : JTt9qJDtIG6/qHa3eVuB1nXz6Kw=
  RMD160   : 4GFuJ9U31dq5dXX9v4L6AhhrJMk=
  TIGER    : mZY55DEZQ5QnIhf7g8U4CimJ+uv/CmOT
  SHA256   : VNySUFAutZ1+PADn7gWjdogwo2vsAbb2
             Xw5Q/9lvU2A=
  SHA512   : u2KrVpQjk0YNg1uUcnzvqyhpX30UwyOH
             Vq6oIFAaLfs6trdwSp/ZymoVIsw4U+d7
             VLnngfdYUcihoDMLPsj5qA==


End timestamp: 2022-09-01 08:45:56 -0400 (run time: 0m 26s)

You can then update your AIDE database using the following command:

aide --update

Step 4 – Setup AIDE Cron and Email Notification

AIDE also provides a pre-configured script that notifies you via email whenever any changes occur in your system. You can download the AIDE script with the following command:

wget https://rfxn.com/downloads/cron.aide -O  aide_cron.sh

Next, set execution permissions on the downloaded script with the following command:

chmod +x aide_cron.sh

Next, edit the downloaded script file and define your email address to receive the email notification:

nano aide_cron.sh

Change the following line:

email="root@localhost,[email protected]"

Save and close the file, then edit the Cron file:

crontab -e

Define your script path to create a new Cron job:

00 01 * * * /root/aide_cron.sh

Save and close the file when you finish.

Conclusion

In this post, we explained how to install AIDE on Oracle Linux 8. We also showed you how to use AIDE to monitor system changes and receive an email notification. You can now try AIDE on dedicated hosting from Atlantic.Net!