----=
MORMOLD A VARÁZSIGÉKET =----
A
következő progik kellenek az AIDE telepítéséhez:
- aide http://www.cs.tut.fi/~rammer/aide.html
- flex http://www.gnu.org/software/flex/flex.html
- make http://www.gnu.org/software/make/make.html
- bison http://www.gnu.org/software/bison/bison.html
- gcc http://www.gnu.org/software/gcc/gcc.html
- mhash library (opcionális) http://mhash.sourceforge.net
Mielőtt
nagyon belebonyolódnál a letöltésekbe, nézd meg, hátha
a disztribúciód csomagjai közt megtalálod a megfelelőt.
Nagyon valószínű, hogy így lesz...
Ha a fenti programok mind megvannak - az aide-t kivéve
telepítve -, akkor root-ként pötyögjük be az alábbi
parancsokat:
Egy lehetséges telepítést írok le - az AIDE jelenleg
legfrissebb (0.7) verziójával. Nem térek ki az egyes
fordítási paraméterekre, ezeket a forrásban található
INSTALL fájl részletesen taglalja. Tehát az általam
használt telepítési lépések a követekezők:
kitömörítés:
# tar xzvf aide-0.7.tar.gz
Makefile létrehozása:
# cd aide-0.7
# ./configure --prefix=/usr --sysconfdir=/etc --with-config-file=/etc/aide.conf
Az előző sorhoz
opcionálisan hozzáadhatuk egy "--with-mhash" paraméter
is, ha több fajta ellenőrzőösszeget szeretnénk kalkulálni.
(kell az mhash könyvtár!) A progi lefordítása és egyes
fájlok másolása:
# make
# make install
A
parancsok hatására létrejön maga a program (/usr/bin/aide),
a man page (lásd: # man aide), valamint egy kis extra
dokumentáció a "doc" könyvtárban.
----=
KONFIGURÁLÁS =----
Ez lesz az a fájl, ahol beállíthatjuk melyik fájlok/könytárak
milyen jellemzőit mentsük el az adatbázisba. Leírok
egy példa konfig-fájlt magyarázatokkal kiegészítve,
de a teljes leíráshoz nézd meg a man page-et (#man
aide.conf).
Ebben a fejezetben ezentúl a #-jel a megjegyzést jelenti,
ugyanúgy, mint az AIDE config-fájljában:
--
Kezdet /etc/aide_base.conf --
#
Ez az a hely, ahol tárolni fogjuk az adatbázist. Ennek
akkor van szerepe,
# amikor több adatbázisunk is van, így ha pontosan
megadjuk az
# adatbázis-fájl nevét, akkor nincs kavarodás. database=file:/var/log/aide/aide_base.db
# Itt és ilyen néven hozzuk létre az új adatbázist.
Fontos, hogy
# lehetőségünk van nem automatikusan felülírni a régit.
database_out=file:/var/log/aide/aide_base.db.new #
Mennyire legyen részletes a válozásokról hírt adó
fájl [0-255].
# Csak 20 felett készít fájlt a változásokról. verbose=20
# Hova készüljön a jelentés? [stdin, stdout, file:/útvonal/fájlnév]
report_url=file:/var/log/aide/base_changed.log
# Ezeket az információkat tárolhatjuk minden egyes
adatállományról, nyilván
# egyszerre többet is, valójában ezek bármilyen kombinációját.
#p: permissions => hozzáférési jogok
#i: inode => a saját inode-ja
#n: number of links => a rá mutató linkek száma
#u: user => melyik felhasználóé
#g: group => melyik csoportba tartozik
#s: size => mérete
#b: block count
#m: mtime => utolsó módosítás ideje
#a: atime => utolsó elérés ideje
#c: ctime => valami hasonló
#S: check for growing size => a mérete csak növekedhet
#md5: md5 checksum => MD5 ellenőrzőösszeg
#sha1: sha1 checksum => sha1 ellenőrzőösszeg
#rmd160: rmd160 checksum => rmd160 eö.
#tiger: tiger checksum=> => tiger eö.
# A kényelmesebb használat érdekében vannak előre
definiált kombinációk
#R: p+i+n+u+g+s+m+c+md5
#L: p+i+n+u+g
#E: Empty group
#>: Growing logfile p+u+g+i+n+S
# Az alábbiak csak mhash-sel működnek
#rmd128: rmd128 checksum
#haval: haval checksum
#gost: gost checksum
#snefru: snefru checksum
#crc32: crc32 checksum
# Mi is készíthetünk magunknak kényelmes hozzárendeléseket
All=R+a+sha1+rmd160+tiger
Fontos=R+S+tiger Kozep=R
Gyoker=p+i+u+g+c Log=p+u+g+n
Mask_csak_pinug=s+m+c+md5+a+sha1+rmd160+tiger
#
Akkor lássuk a konkrét szabályokat!
# Szintaxis: 'prefix' - 'könyvtár' -
'vizsgálandó paraméterek'
#
# - "/" A 'könyvtár'-ra illeszkedő
adatállományokat bevesszük
# - "!" A 'könyvtár'-ra illeszkedő adatállományokat
kihagyjuk
# - "=" Csak a 'könyvtár' adatállomány bevesszük
#
# 'könyvtár' - Reguláris kifejezés (regexp)
#
# - a vizsgálandó paraméterek összege
(pl.: Gyoker+sha1)
# - ha "!"-lel kezdődött, akkor a nem vizsgálandó
param-et
# kell megadni # # Példák.:
# Az egész fájlrendszert beveszi az adatbázisba, és
ezeket a paraméterekt
# vizsgálja: p+i+n+u+g+s+m+c+md5
# / R
#
# A /valami, /valami/mas, /valami/kiskacsa -t is mind-mind
beveszi:
#
/valami R
#
# Csak a "/valami" nevű könyvtárat veszi be, semmi
alatta lévőt
# =/valami R
#
# A "/dev"-et és az alatta lévőket kizárja mindenre
nézve:
# !/dev All
#
# Itt egy lehetséges összeállítás - néhol kicsit redundáns:
!//.*aide\.db.* All
!/var/log/* All
!/etc/motd Mask_csak_pinug
!/etc/passwd Mask_csak_pinug
!/etc/group Mask_csak_pinug
!/root/.mc/* Mask_csak_pinug
!/etc/ntp.drift Mask_csak_pinug
!/etc/ssh_random_seed
!/etc/sendmail.st
!/root/.mc All
!/usr/local/ftp/ls-lR.gz
!/etc/rmtab All
!/usr/local/man Mask_csak_pinug
!/usr/local/man/whatis Mask_csak_pinug
!/root/.cedit/cooledit.error Mask_csak_pinug
!/root/.cedit/cooledit.block Mask_csak_pinug
!/root/.cedit/cooledit.temp Mask_csak_pinug
/bin/*
Fontos
/boot/* Fontos
/etc/* Fontos
/lib/* Fontos
/sbin/* Fontos
/usr/sbin/* Fontos
/root/* Fontos
/opt/* Kozep
/usr/bin/* Kozep
/usr/lib/* Kozep
/usr/local/* Kozep
/usr/share/* Kozep
/usr/local/ftp/* Kozep
/var/log/* Log
-- Vég /etc/aide_base.conf --
Érdemes
az elején csak egy-egy könyvtárral kísérletezgetni,
amíg az ember rá nem érez az ízére - és meg nem tanulja
rendesen a reguláris kifejezéseket -, ugyanis egy
rosszul eltalált konfiggal marha sokáig tud futni,
és közben zabálja a procit és a memóriát is. Minden
konfing-fájl-változtatás után nézzük meg, hogy ténylegesen
milyen fájlok kerültek be az adatbázisba (# less /var/log/aide_base.db.new)
Ne felejtsük el létrehozni a még nem létező könyvtárakat,
és állítsuk be a megfelelő jogokat is: # mkdir /var/log/aide
# chmod 700 /var/log/aide # chmod 600 /etc/aide_base.conf
----=
HASZNÁLJUK MÁR! =----
Az első alkalommal létre kell hozni az adatbázist
# aide -i -c /etc/aide_base.conf Ha a változásokra
vagyunk kíváncsiak, de nem akarjuk frissíteni az adatbázist
# aide -C -c /etc/aide_base.conf Ha egyben frissíteni
is szeretnénk. # aide -u -c /etc/aide_base.conf Ha
a frissített adatbázist akarjuk a továbbiakban használni,
akkor töröljük a régit # rm /var/log/aide/aide_base.db
és másoljuk helyére az újat # mv /var/log/aide/aide_base.db.new
/var/log/aide/aide_base.db
----=
TIPPEK && TRÜKKÖK =----
Az AIDE-t minden nap lefuttatjuk a cron-ból, és az
eredményt postázhatjuk magunknak, így az egész biztonságossá
és nagyon kényelmessé válik. (Az igazi rendszergazda
nagyon kényelmes!!!)
----=
GYENGÉK =----
Ha a hacker tudja, hogy a rendszert AIDE védi, letörölheti
az adatbázist. Ezzel nyilvánvalóvá teszi a betörés
tényét, de jelentősen megnehezíti a nagytakarítást.
----=
SZÓMAGYARÁZAT =----
backdoor: olyan biztonsági rés, mely segítségével
a telepítő bármikor könnyen root jogojat szerezhet.
rootkit: azon segédprogramok összessége, mely
segíti a hackert abban, hogy eltüntesse a behatolás
nyomait, és a rendszerben észrevétlenül tevékenykedjen.
trójai faló: egy olyan progi, ami nem azt,
vagy nem csak azt csinálja, ami a feladata lenne.
Például egy jelszóellenőrző program az ellenőrzés
közben egy fájlba menti az érvényes jelszavakat.
----=
FIGYELEM =---
-
* A fentiek csak példák, jó hatékonyság csak személyreszabott
konfigurációval érhető el! * Nincs hibamentes program!
Rendszeresen nézd a frissítéseket! * Soha ne érezd
magad biztonságban! A biztonság csak fokozható, soha
nem érhető el! A fokozás érdekében alkalmazz más progikat
is!
Észrevételek,
javaslatok:
P0maT0
ful_s@fazekas.hu