Audit systému s auditovaným
Audit systému je velmi důležitým úkolem, který by měl být součástí každého serveru. Umožňuje nám auditovat drobné detaily související s tím, co se přesně děje v systému. auditd je komponenta uživatelského prostoru auditovacího systému Linux. To znamená, že uživatelé systému budou moci spouštět auditování a konfigurovat pravidla a výstrahy pro funkci auditu v systému Linux.
Jednou z nejlepších věcí na auditd je to, že je těsně integrován s jádrem, takže nám dává moc monitorovat téměř vše, co opravdu chceme. Aby uživatelé mohli vidět, co se děje, může auditd zaznamenávat všechny události související s auditem na disk a k procházení souborů protokolu můžeme použít různé nástroje, jako je ausearch nebo aureport.
Ve výchozím nastavení nejsou konfigurována žádná pravidla. Musíme zapsat naše pravidla do /etc/audit/audit.rules konfigurační soubor, který bude načten a budou použity odpovídající akce auditu.
Instalace Auditd
Nyní, když trochu rozumíme, o čem auditd je, pojďme do toho a začněme pracovat s auditem s předchozím případem použití:
1. Nainstalujte auditované balíčky. Auditované balíčky jsou součástí výchozích instalačních systémů CentOS 7. Můžeme to ověřit pomocí následujícího příkazu:
# rpm -qa | grep audit audit-libs-2.6.5-3.el7_3.1.x86_64 audit-2.6.5-3.el7_3.1.x86_64 audit-libs-python-2.6.5-3.el7_3.1.x86_64
2. Pokud balíček není součástí našeho systému, můžeme pokračovat a nainstalovat jej:
# yum install audit
3. Ujistěte se, že je spuštěn démon auditu. Použijeme následující příkaz:
# systemctl status auditd auditd.service - Security Auditing Service Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min 21s ago Docs: man:auditd(8) https://people.redhat.com/sgrubb/audit/ Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS) Main PID: 424 (auditd) CGroup: /system.slice/auditd.service └─424 /sbin/auditd -n
Vzhledem k tomu, že máme spuštěného auditního démona, pojďme se podívat, jak můžeme použít auditd k dosažení všech 4 případů použití.
Pravidla auditu pro kopírování, přesouvání, mazání a zabíjení příkazů
1. Vytvořte zálohu stávajícího konfiguračního souboru (pravidel auditu):
# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp
2. Upravte soubor /etc/audit/audit.rules a připojte následující pravidla, aby byla trvalá:
# vi /etc/audit/audit.rules # Audit Copy, Move, Delete & Create file commands -a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy -a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename -a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete -a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File # Audit shutdown & Reboot command -a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot -a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot -a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot -a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot # Audit mount unmount commands -a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device -a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device # Kill Process -a exit,always -F arch=b64 -S kill -k Kill_Process
3. Restartujte auditovanou službu, aby se změny projevily.
# service auditd restart
4. Vypište přidaná pravidla, abyste si ověřili jejich správnost:
# auditctl -lPoznámka :bash (a mnoho dalších shellů) má vestavěný příkaz „kill“, který ve skutečnosti nespouští /usr/bin/kill. Pokud se tedy místo toho spustí vestavěný příkaz, comm=bash je správně. Neexistuje způsob, jak donutit systém, aby používal externí program /usr/bin/kill. comm=kill nestane se to ve všech případech, protože shelly mohou volat systémové volání přímo bez spuštění externího programu s názvem „kill“