Zaawansowane środowisko wykrywania intruzów
AIDE & CENTOS

  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 , groav2xIzg5vXsM2dqp7MpHbTuflsCTi
  • są 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:

  1. 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.:-)

  2. 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





Zmiana domyślnego portu (22) usługi SSH na inny (X)
Centos 7 & SSHD & SELinux & hosts & firewall & Fail2ban