Zaawansowane środowisko wykrywania intruzów (AIDE - Advanced Intrusion Detection Environment) jest usługą stanowiącą kolejną warstwę ochronną na poziomie integralności systemu plików i folderów przed nieproszonymi gośćmi . Należy pamiętać jednak, że jest to narzędzie, które by spełniało swoją funkcję wymaga stałego nadzoru oraz dodatkowo indywidualnego podejścia co do archiwizacji plików aide.db.gz oraz aide.db.new.gz zawartych standardowo w katalogu /var/lib/aide. Wynika to z samej zasady działania tego demona, który bazuje na porównaniu (aide --check) sygnatur plików i katalogów wykonanych wcześniej (aide.db.gz) z wykonanymi później (aide.db.new.gz), np teraz (aide --update). W związku z powyższym musimy aktualizować na bieżąco plik bazy danych aide.db.gz, np. po wszelkich zmianach, uaktualnieniu systemu, czy też instalacji nowego oprogramowania (check --update oraz mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz) oraz wykonać w następnym kroku kopię aide.db.gz na zewnętrzny nośnik pamięci masowej by móc go niezależnie porównać z bieżącym (aide --compare ... ...) w sytuacji stwierdzenia włamania.
Instalacja tak samo, jak zasada działania AIDE jest prosta i sprowadza się do wykonania:
yum install aide
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Inspekcja automatyczna sprowadza się do zmodyfikowania crontab:
0 1 * * * nice -19 /usr/local/bin/aide --config=/home/username/aide.conf -C| mail you@domain -saide\ domain
0 2 * * 0 nice -19 /usr/local/bin/aide --config=/home/username/aide.conf --init;mv -f /home/username/aide.db.out /home/username/aide.db.in
Inspekcja ręczna natomiast polega na wykonaniu:
aide --update
aide --check
i jeśli wykazane zmiany:
[root@serwer pupa]# aide --check AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2018-06-03 19:10:58
Summary:
Total number of files: 122348
Added files: 0
Removed files: 0
Changed files: 12
---------------------------------------------------
Changed files:
---------------------------------------------------
changed: /root/.bash_history
changed: /root/.cache/abrt/lastnotification
changed: /root/.config/mc/ini
changed: /root/.local/share/mc/history
changed: /var/log/audit/audit.log
changed: /var/log/cron
changed: /var/log/lastlog
changed: /var/log/maillog
changed: /var/log/messages
changed: /var/log/secure
changed: /var/log/wtmp
changed: /var/run/utmp
---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /root/.bash_history
SHA512 : 93lZRdFZVmXlX+sXenrev//GTT9MXOHw , gUTZ9oc67kTAnDffOt33ZwpQ3lx4dXQj
File: /root/.cache/abrt/lastnotification
SHA512 : apQ0g8P+rlKHnmfuzy+aEtMTLl15LD+S , FM9L5W6JSFyuj2mQfQHjiTY4SSoCOBb0
File: /root/.config/mc/ini
SHA512 : HUHCKOmIf9CXUjypCaGOCVgebxHLVuIc , hCPXJr72eN4SgS0pg66CIzkfOKzBPFT/
File: /root/.local/share/mc/history
SHA512 : 6B/RX88BYtLhUSmOyOqz5VAibJt8jeVl , 1nH6bKNGwRCUsT3KTnMDOE6nlx+nk9PM
File: /var/log/audit/audit.log
SHA512 : wR9SF63vsHGsNgvfeHiwEXLXO5+UKW4L , SxVDssNEw08dbuyeepgXrBl/8O7qIJcF
File: /var/log/cron
SHA512 : SYTJLZiNu4Bs03hblPoONOiLphgZ2A52 , zshBVSPKJEFHWqAvBRk58Ez7Cev0RNmU
File: /var/log/lastlog
SHA512 : VLQrO15PgK+VQTS/jgx5LFZ7Pg7VQ3iR , XOflrzsqgIVeR+3jViXkm1qzG+YnrPZf
File: /var/log/maillog
SHA512 : OkN+IpTE7OFNSBc6jJ3NbQpwqtcuhiM1 , JZe16/cnKnvlONQRgk1ihkQaVPEzT1iN
File: /var/log/messages
SHA512 : W6KU16CVhMXoS63+9W91iBzdQ5pncWfa , 0Kje8PLYMMEvP7oCDjKVXCvcbVxfwtn3
File: /var/log/secure
SHA512 : L9ucp+RuDo2bxAp0iQ8ZGdwgkqHAk7LI , GxlpqsGiI7MFZwS1nvjt1Ehmsu+pYaSN
File: /var/log/wtmp
SHA512 : rdEovd5pmjFfHvA/VJpQlAFNXpQhkUci , kMbKJZ8tX0S4zOBHEnPVnnFLNembK+YL
File: /var/run/utmp mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
SHA512 : n48dUtVrRqzZJagkRPg6/T+P0cBSaDVN , groav2xIzg5vXsM2dqp7MpHbTuflsCTisą nieistotne, albo zrozumiałe to dla przejrzystości informacji przy następnej kontroli plików i folderów wykonujemy polecenie:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Opracowanie własne na postawie: https://www.vultr.com/docs/setting-up-aide-advanced-intrusion-detection-on-centos-6
Uwagi z życia wzięte:
Jeśli usuniemy zbyt wiele namieszamy w plikach lub ich położeniu możemy otrzymać następujący komunikat:
File database must have one db_spec specification
znaczy to tyle, że albo plik aide.db.gz jest pusty (rozmiar 0) lub go nie ma w lokalizacji, która jest zapisana w pliku /etc/aide.conf. Sytuacja taka zaistnieje, gdy użyjemy powyższej instrukcji od końca zamiast od początku, np po usunięciu plików bazy danych w katalogu /var/lib/aide/. Polak to potrafi.:-)
Jeśli będziemy aktualizować system to dobrze najpierw wykonać przed nim komendę:
aide --check
w celu zorientowania się w zaistniałych zmianach przed ich nawarstwieniem powstałym w wyniku wykonania polecenia, np.:
yum update
Z kolei po tych zmianach by uciec przed zaśmieceniem sobie kolejnego raportu AIDE sugeruje wykonać:
aide --update
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz