OS: RHEL 6.x / CentOS 6.x
Instalacja pakietów
AIDE nie jest domyślnie kompilowanym pakietem, dlatego jeśli chcemy go wykorzystywać, niezbędna będzie jego instalacja.
[root@server ~]# yum -y install aide
Konfiguracja
Przed pierwszym uruchomieniem inicjalizującym bazę danych narzędzia konieczna jest jego konfiguracja. Sprowadza się ona do zdefiniowania obiektów, które chcemy weryfikować, oraz parametrów, które mogą ulegać zmianom. Obiektami mogą być zarówno pliki jak i całe katalogi wraz z zawartością.Konfiguracji dokonujemy w pliku /etc/aide.conf, który po instalacji zawiera predefiniowane reguły, gotowe do wykorzystania.
Nic nie stoi na przeszkodzie, abyśmy utworzyli własne reguły spełniające nasze wymagania. Definicja taka ma postać NAZWA = wartosci
Nazwa definicji jest dowolna, a parametry które może przyjmować dodajemy oddzielając je znakiem +.
Możliwe wartości to:
p: permissions
i: inode:
n: number of links
u: user
g: group
s: size
b: block count
m: mtime
a: atime
c: ctime
S: check for growing size
acl: Access Control Lists
selinux SELinux security context
xattrs: Extended file attributes
oraz kilka sum kontrolnych:
md5: md5 checksum
sha1: sha1 checksum
sha256: sha256 checksum
sha512: sha512 checksum
rmd160: rmd160 checksum
tiger: tiger checksum
Dla wyjaśnienia składni przyjrzyjmy się jednej ze zdefiniowanych reguł:
PERMS = p+i+u+g+acl+selinux
W tym przypadku monitorowane będą uprawnienia do pliku, inode, użytkownik, grupa, ACL-e oraz konteksty SELinuxowe. W przypadku zmiany któregokolwiek z tych warunków, AIDE zaraportuje ten fakt przy skanowaniu.
Wskazanie pliku lub katalogu do monitorowania odbywa się poprzez przypisanie mu konkretnej reguły:
/etc/passwd PERMS
co oznacza, iż plik /etc/passwd będzie monitorowany pod kątem zniamy jego uprawnień.
W przypadku monitorowania katalogów możemy użyć trzech formatów definicji:
/etc GRUPA, który będzie monitorował katalog /etc wraz z zawartością,
=/etc GRUPA, do monitorowania samego katalogu bez podkatalogów i plików w nim umieszczonych,
!/etc, który wyłączy katalog i wszystko co w nim zawarte z jakiegokolwiek monitorowania.
Inicjalizacja bazy
Po skonfigurowaniu odpowiednich parametrów oraz katalogów i plików, które mają być monitorowane należy zainicjalizować bazę AIDE:
[root@server ~]# aide --init
AIDE, version 0.14
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
AIDE, version 0.14
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
Inicjalizacja zbiera dane z serwera zgodnie z zadaną konfiguracją i umieszcza je zgodnie ze zwracaną informacją w pliku /var/lib/aide/aide.db.new.gz. Zbieranie danych trwa dłuższą chwilę, więc nie należy się niecierpliwić.
Po poprawnym wygenerowaniu pliku z bazą konieczna jest jeszcze jedna operacja. AIDE jako podstawowej bazy używa pliku /var/lib/aide/aide.db.gz, dlatego konieczna jest zmiana nazwy utworzonego właśnie pliku.
Weryfikacja / Monitorowanie zmian
Sprawdźmy, czy nasza konfiguracja działa poprawnie.Zgodnie z konfiguracją plik /etc/fstab posiada następująco skonfigurowane parametry:
/etc/fstab NORMAL
Oznacza to, że będą monitorowane m.in. uprawnienia do pliku, user oraz grupa, rozmiar, mtime, ctime, ACL-e, konteksty SELinuxa, dodatkowe atrybuty xattr oraz sumy md5, rmd160 i sha256 tego pliku - ulegają zmianie podczas zmian w samym pliku. Dokonajmy takiej zmiany i zweryfikujmy poprawność zadziałania AIDE.
[root@server ~]# echo "##" >> /etc/fstab
Teraz należy porównać stan faktyczny serwera z bazą danych zebraną przez AIDE podczas inicjalizacji. W rezultacie otrzymamy informację o zaimprowizowanej przez nas zmianie.
[root@server ~]# aide --check
AIDE found differences between database and filesystem!!
Start timestamp: 2015-08-10 23:35:12
Summary:
Total number of files: 56609
Added files: 0
Removed files: 0
Changed files: 1
---------------------------------------------------
Changed files:
---------------------------------------------------
changed: /etc/fstab
--------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /etc/fstab
Size : 924 , 927
Mtime : 2015-07-12 17:49:52 , 2015-08-10 23:34:46
Ctime : 2015-07-12 17:49:52 , 2015-08-10 23:34:46
MD5 : x6t5hL4nV3fQ5v4b31mPbg== , jsxyXOkUTsEP5ObC0NQu7Q==
RMD160 : jE5gysjxumgzCvnqmgJI+4ig8Vc= , Pf8tiSA5u8mItw2Erz9Kk4yuA1s=
SHA256 : zWSw4e7mHi24grfHjY3ykcycOJs3Ri8E , 3es8pI9l3Nuu6n407tmCpULFhZ+fn03m
AIDE found differences between database and filesystem!!
Start timestamp: 2015-08-10 23:35:12
Summary:
Total number of files: 56609
Added files: 0
Removed files: 0
Changed files: 1
---------------------------------------------------
Changed files:
---------------------------------------------------
changed: /etc/fstab
--------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /etc/fstab
Size : 924 , 927
Mtime : 2015-07-12 17:49:52 , 2015-08-10 23:34:46
Ctime : 2015-07-12 17:49:52 , 2015-08-10 23:34:46
MD5 : x6t5hL4nV3fQ5v4b31mPbg== , jsxyXOkUTsEP5ObC0NQu7Q==
RMD160 : jE5gysjxumgzCvnqmgJI+4ig8Vc= , Pf8tiSA5u8mItw2Erz9Kk4yuA1s=
SHA256 : zWSw4e7mHi24grfHjY3ykcycOJs3Ri8E , 3es8pI9l3Nuu6n407tmCpULFhZ+fn03m
Zmiana konfiguracji domyślnej plików
Domyślnie AIDE przechowuje swoją bazę danych w pliku /var/lib/aide/aide.db.gz, a log w pliku /var/log/aide/aide.log.Zmiana tej konfiguracji polega na zmianie predefiniowanych ścieżek w pliku /etc/aide.conf:
@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide
@@define LOGDIR /var/log/aide
Brak komentarzy:
Prześlij komentarz