Jak zkontrolovat integritu souboru nebo adresáře pomocí AIDE v Linuxu

Při používání více operačních systémů je ideální mít vždy nástroje, které nám umožňují udržovat centralizovanou a přímou kontrolu nad nimi. Jedním z nejcitlivějších problémů je bezesporu bezpečnost a integrita souborů, protože to zaručuje dostupnost a spolehlivost souborů.

Dnes bude Solvetic hovořit o praktickém nástroji s názvem AIDE, pomocí kterého bude možné zkontrolovat integritu souboru nebo adresáře v různých distribucích Linuxu, a tím si být jisti úplnou spolehlivostí vybraného souboru.

Co je AIDEAIDE ((Advanced Intrusion Detection Environment) je kontrola integrity souborů a adresářů v prostředí Linuxu, která nám jako správcům umožňuje udržovat nad nimi specifickou kontrolu.
Jeho provoz spočívá ve vytvoření databáze navržené podle pravidel regulárních výrazů, která jsou k dispozici v konfiguračních souborech. Jakmile je tato databáze inicializována, lze ji použít k ověření integrity požadovaných souborů.

Atributy souboru AIDEAIDE má na starosti vytváření databáze ze souborů uvedených v aide.conf, což je konfigurační soubor AIDE. Databáze AIDE ukládá několik atributů souborů, ve kterých máme:

  • typ souboru
  • povolení
  • uživatel a skupina
  • velikost souboru
  • mtime, ctime a atime
  • velikost růstu
  • počet odkazů a název odkazu.

Kromě toho AIDE vytvoří kryptografický kontrolní součet nebo hash každého souboru pomocí jednoho nebo kombinace následujících algoritmů přehledu zpráv: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32 a také atributy acl, xattr, selinux , a e2fsattrs lze použít, pokud jsou v době kompilace výslovně povoleny.

AIDE má několik algoritmů přehledu zpráv, které se používají k ověření integrity souboru. U všech obvyklých atributů souboru lze také zkontrolovat, zda v něm nejsou nekonzistence. AIDE je schopen číst databáze starších nebo novějších verzí.

Funkce AIDEPoužitím tohoto nástroje máme následující vlastnosti:

  • Podporované algoritmy pro přehled zpráv, jako jsou: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (navíc s libmhash: gost, haval, crc32b)
  • Podporované atributy souboru: Typ souboru, Oprávnění, Inode, Uid, Gid, Název odkazu, Velikost, Číslo bloku, Počet odkazů, Mtime, Ctime a Atime
  • Má podporu pro Posix ACL, SELinux, XAttrs a rozšířené atributy souborového systému, pokud je podpora pro jednoduchost kompilována do konfiguračních souborů prostého textu a databáze
  • Má podporu regulárních výrazů pro selektivní zahrnutí nebo vyloučení souborů a adresářů za účelem monitorování
Databázi gzip můžete komprimovat, pokud je podpora zlib kompilována do samostatného statického binárního souboru pro konfigurace monitorování klient / server.

AIDE je součástí následujících distribucí UNIX

  • Debian
  • Gentoo
  • MacPorty
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

Je důležité objasnit, že AIDE nemůže poskytnout absolutní bezpečnost při změně souboru, protože jako každý jiný systémový soubor lze databázi a / nebo binární soubory AIDE také měnit pomocí příslušných nástrojů.

1. Instalace AIDE na Linux


AIDE je k dispozici v oficiálních úložištích pro nejpopulárnější distribuce Linuxu, proto jej můžeme nainstalovat pomocí správce balíčků podle zvoleného distra takto:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

V tomto případě používáme Ubuntu. Tam zadáme písmeno S, abychom přijali stahování a instalaci AIDE. Po instalaci uvidíme následující:

Jak vidíme, hlavní konfigurační soubor je /etc/aide/aide.conf. Chcete -li zobrazit nainstalovanou verzi a parametry času kompilace, můžeme provést následující:

 pobočník -v

2. Přístup ke konfiguračnímu souboru Linux AIDE


Ke konfiguračnímu souboru AIDE můžeme přistupovat spuštěním následujícího řádku s požadovaným editorem:
 nano /etc/aide/aide.conf
Uvidíme následující:

V tomto souboru najdeme směrnice, které definují umístění databáze, umístění sestavy, výchozí pravidla, adresáře nebo soubory, které mají být zahrnuty do databáze, a mnoho dalších.

3. Jak spravovat a porozumět pravidlům AIDE

AIDE spravuje pravidla jako:

pOprávnění - oprávnění
nPočet odkazů
nebo= Uživatel
GSkupiny
sVelikost (velikost)
bPočet bloků
mmtime
naDoba
Cctime
selinuxKontext zabezpečení selinuxu
xattrsZobrazí rozšířené atributy souboru

Z těchto pravidel bude možné vytvořit vlastní pravidla v konfiguračním souboru AIDE. Můžeme například vytvořit následující pravidlo:

 PERMS = p + u + g + acl + selinux + xattrs
V tomto případě je pro řízení přístupu implementováno pravidlo PERMS, které detekuje jakékoli změny souboru nebo adresářů na základě oprávnění k souboru nebo adresáři, uživatelů, skupin, oprávnění k řízení přístupu, atributů souborů a dalších.

Další pravidlo, které můžeme implementovat, je takové, které kontroluje pouze obsah souboru a vybraný typ souboru, například:

 OBSAH = sha256 + ftype
Pokud chceme ověřit rozšířený obsah, typ souboru a přístup, můžeme vytvořit pravidlo jako:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Pravidlo, které nám pomáhá detekovat změny v adresáři pouze na datové úrovni, je:
 DATAONLY = p + n + u + g + s + acl + selinux + xattrs + sha256
Tato pravidla je třeba přidat ve spodní části konfiguračního souboru AIDE:

Změny uložíme pomocí kláves Ctrl + O a ukončíme pomocí Ctrl + X.

4. Jak definovat pravidla pro prohlížení souborů a adresářů AIDE


S AIDE bude také možné vytvořit pravidla pro určité soubory nebo adresáře, které mají být analyzovány. Za tímto účelem znovu přistupujeme k cestě /etc/aide/aide.conf a můžeme vytvořit následující pravidla:
 / root / \… * PERMS (Toto pravidlo kontroluje oprávnění v kořenovém adresáři) / root / CONTENT_EX (Toto pravidlo kontroluje všechny soubory v kořenovém adresáři před jakoukoli změnou) / etc / DATAONLY (Toto pravidlo nám umožňuje detekovat jakoukoli změnu v adresáři /atd)

Změny můžeme uložit do konfiguračního souboru AIDE.

5. Jak používat AIDE k ověření integrity souborů a adresářů v Linuxu


Jakmile budou definována pravidla, která se budou používat s AIDE, dalším krokem bude vytvoření databáze proti kontrolám, které budou prováděny pomocí parametru --init.

Pomocí následujícího příkazu bude vytvořena databáze, která obsahuje všechny soubory, které definujeme v konfiguračním souboru AIDE:

 Pomocník -začněte

Jakmile to bude hotovo, pokračujte změnou názvu databáze na /var/lib/aide/aide.db.gz, než budete pokračovat, k tomu můžeme použít následující příkaz:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Doporučuje se přesunout tuto databázi na bezpečné místo, ale musíme si být jisti, že aktualizujeme konfigurační soubor, aby jej bylo možné odtud číst.

Dále musíme zkompilovat nový konfigurační soubor Aide. Provedeme následující příkaz:

 update-aide.conf
Nyní zkopírujeme tento nový soubor do adresáře / etc / aide:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Po vytvoření databáze můžeme zkontrolovat integritu souborů a adresářů pomocí příznaku -check:
 pobočník -kontrola

6. Jak hodnotit AIDE


K otestování provozu AIDE provedeme následující řádky:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
S nimi vytváříme nový adresář a soubory v systému. Později spustíme následující řádek pro jeho ověření a ověření:
 Pomocník -kontrola
Výsledkem bude následující:

Zde vidíme, že v souboru je nalezen rozdíl, a indikuje, o jaký typ akce se jednalo, přidání, odstranění nebo změnu.
Tímto způsobem je AIDE užitečným nástrojem k určování změn, ke kterým došlo v systému, v reálném čase.

wave wave wave wave wave