Zde se tedy ptáme, jak určíme, který uživatel nebo systémový proces odpojuje nebo připojuje konkrétní bod připojení. Montáž a demontáž montážního bodu lze monitorovat pomocí auditu. 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í pro konfiguraci pravidel a výstrah pro funkci auditu v systému Linux.
Jednou z nejlepších věcí na auditu 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. Ve výchozím nastavení nejsou konfigurována žádná pravidla. Naše pravidla musíme zapsat do /etc/audit/rules.d/audit.rules konfigurační soubor, který bude načten a budou použity odpovídající akce auditu.
Instalace auditována
1. Auditované balíčky jsou součástí výchozích instalačních systémů RHEL/CentOS 7. Můžeme to ověřit pomocí následujícího příkazu:
# rpm -qa | grep audit audit-libs-2.8.1-3.el7.x86_64 audit-libs-python-2.8.1-3.el7.x86_64 audit-2.8.1-3.el7.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 Sun 2018-06-17 06:56:06 UTC; 2min 37s ago Docs: man:auditd(8) https://github.com/linux-audit/audit-documentation Process: 657 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS) Process: 652 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS) Main PID: 653 (auditd) Tasks: 2 CGroup: /system.slice/auditd.service └─653 /sbin/auditd
V případě CentOS/RHEL 6 můžete ke kontrole stavu auditované služby použít příkaz service:
# service auditd status
Konfigurace auditovaných pravidel pro monitorování připojování/odpojování souborových systémů
Nyní nakonfigurujeme auditovaná pravidla požadovaná pro monitorování připojování/odpojování souborových systémů.
1. Přidejte následující pravidlo do souboru /etc/audit/rules.d/audit.rules audit mount a umount operace. Všimněte si, že název umount SYCALL je umount2.
# vi /etc/audit/rules.d/audit.rules -a always,exit -F arch=b64 -S mount,umount2 -k mount_umountNa CentOS/RHEL 6 je konfigurační soubor /etc/audit/audit.rules místo /etc/audit/rules.d/audit.rules.
Zde,
-a – Připojí pravidlo na konec seznamu s akcí.
vždy, konec – jsou akce určené volbou -a.
-S – znamená SYSCALL (In uor case mount a umount2)
arch=b64 – určuje pravidlo pro 64bitovou architekturu.
2. Restartujte auditovanou službu příkazem „service“:
# service auditd restart Stopping logging: [ OK ] Redirecting start to /bin/systemctl start auditd.service
Ověřit
1. Vezměme si jako příklad přípojný bod /data a uvidíme, zda získáme protokoly auditu vygenerované při připojení/odpojení tohoto přípojného bodu.
# df -hP /data Filesystem Size Used Avail Use% Mounted on /dev/xvdf 976M 2.6M 907M 1% /data
2. Odpojte tento přípojný bod ručně.
# umount /data
Sledujte /var/log/audit/audit.log, hledejte zprávy podobné těm níže. uid= a gid= sekce a také pid= část protokolů auditu může pomoci určit proces nebo uživatele zadávajícího příkaz:
# tailf /var/log/audit/audit.log ... type=SYSCALL msg=audit(1529223527.639:881): arch=c000003e syscall=166 success=yes exit=0 a0=55a5863d3880 a1=0 a2=1 a3=7ffe52c22320 items=1 ppid=2930 pid=3335 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2 comm="umount" exe="/usr/bin/umount" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="mount_umount" type=CWD msg=audit(1529223527.639:881): cwd="/root"
Procházení /var/log/audit/audit.log může být zdrcující, pokud máte na svém serveru mnoho věcí, které jsou auditovány. Místo toho můžete použít příkaz „ausearch“ s klíčem definovaným v pravidle k odfiltrování protokolů souvisejících pouze s připojením a odpojením. Například:
# ausearch -k mount_umount ---- time->Sun Jun 17 08:18:47 2018 type=PROCTITLE msg=audit(1529223527.639:881): proctitle=756D6F756E74002F64617461 type=PATH msg=audit(1529223527.639:881): item=0 name="/data" inode=2 dev=ca:50 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:unlabeled_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=CWD msg=audit(1529223527.639:881): cwd="/root" type=SYSCALL msg=audit(1529223527.639:881): arch=c000003e syscall=166 success=yes exit=0 a0=55a5863d3880 a1=0 a2=1 a3=7ffe52c22320 items=1 ppid=2930 pid=3335 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2 comm="umount" exe="/usr/bin/umount" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="mount_umount"Jak monitorovat změny v souborech /etc/shadow a /etc/passwd pomocí Auditd?
Jak používat auditd ke sledování mazání souborů v Linuxu
Pochopení auditování systému pomocí auditd