GNU/Linux >> Znalost Linux >  >> Linux

Jak používat systém auditování v Linuxu – Konfigurace, protokoly auditu a generování zpráv

Než začneme diskutovat o systému auditu, rád bych se zeptal na několik otázek. Jak monitorujete příkazy prováděné uživatelem? Jak sledujete, zda byl přístup k souboru nebo adresáři? Jak zaznamenáváte různé události související s bezpečností? Jak monitorujete systémová volání, přístup k síti atd...a nakonec, jak z toho vygenerujete zprávu? Systém Linux Auditing je odpovědí na všechny výše uvedené otázky.

Systém Linux Auditing umožňuje správci konfigurovat pravidla auditu pro monitorování systémových volání, přístupu k síti, souborů atd.…a generovat souhrnnou zprávu – kterou lze později analyzovat a prošetřit na podezřelou aktivitu. Od verze 2.6 přichází jádro Linuxu s auditd démona a po spuštění čte předem nakonfigurovaná pravidla z /etc/audit/audit.rules . Správce může použít auditctl příkaz k ovládání systému auditu, vytváření pravidel atd. Další dva důležité příkazy jsou:

  • ausearch – příkaz, který umožňuje dotazovat se na protokoly auditu na základě daných kritérií.
  • aureport – příkaz používaný ke generování zpráv.

Konfigurační soubory auditu jsou umístěny na adrese /etc/audit a přihlásí se na /var/log/audit.

  • /etc/audit/audit.rules – soubor, ve kterém jsou vytvořena a načtena trvalá pravidla při auditd démon je spuštěn.
  • /etc/audit/audit.conf – konfigurační soubor auditu
  • /etc/audit/rules.d/ – složka obsahující soubory vlastních pravidel.

Níže je uveden seznam informací, které audit zaznamená:

  • Časové razítko, typ a výsledek události
  • UID, GID, které spustilo událost
  • Označení citlivosti subjektu a objektu
  • Přístup ke všem ověřovacím systémům, jako je SSH, Kerberos atd…
  • Kontrola integrity souborů
  • Import a export informací.
  • Zahrnout nebo vyloučit události na základě identity uživatele, předmětu a dalších atributů.
  • Pokusy o změnu konfiguračních souborů a protokolů auditu.

Jak nakonfigurovat auditované v CentOS a Ubuntu?

V systému CentOS:

# yum instalační audit

V Ubuntu:

# apt-get install auditd::::::::::Nastavení auditd (1:2.4.5-1ubuntu2) ...update-rc.d:varování:akce start a stop již nejsou podporovány; návrat na výchozí hodnoty Zpracování spouštěčů pro libc-bin (2.23-0ubuntu3) ...Zpracování spouštěčů pro systemd (229-4ubuntu6) ...Zpracování spouštěčů pro ureadahead (0.100.0-19) ...

Po instalaci balíčku proběhne auditd démon se spustí automaticky. Pokud ne, můžete jej spustit pomocí níže uvedených příkazů:

# /etc/init.d/auditd start

Seznam aktivních pravidel auditu:

# auditctl -l Žádná pravidla

Jak vytvořit pravidla auditu?

Vytvořme pravidlo pro sledování souboru /etc/passwd

# auditctl -w /etc/passwd -p war -k audit-passwd

Výše uvedený příkaz vytvoří sledování v souboru /etc/passwd .

  • w /etc/passwd – vytvoří sledování pro soubor /etc/passwd
  • -p válka – nastaví filtr oprávnění – w pro zápis, r pro čtení, a pro změnu atributu a e pro provádění.
  • k audit-passwd – zde audit-passwd je klíč k jedinečné identifikaci pravidla z protokolů.

V zásadě výše uvedený příkaz sleduje /etc/passwd pro každého, kdo se pokouší zapisovat, číst nebo měnit atributy souboru.

Nyní je pravidlo vytvořeno, přihlaste se jako neprivilegovaný uživatel a zkuste získat přístup k /etc/passwd soubor.

$ grep "someinformation" /etc/passwd
$ vim /etc/passwd

Výše uvedené dva příkazy byly provedeny místním uživatelem s názvem „ubuntu“ a očekává se, že tyto události budou přihlášeny do /var/log/audit/audit.log soubor.

Jak zjistit, kdo změnil nebo přistupoval k /etc/passwd?

Použijeme ausearch příkaz:

# ausearch -f /etc/passwd -i
type=PROCTITLE msg=audit(08/05/2016 11:56:10.088:72) :proctitle=grep --color=auto henry /etc/passwd type=PATH msg=audit(08/05/2016 11:56:10.088:72) :item=0 name=/etc/passwd inode=56913 dev=fd:01 mode=file,644 ouid=root ogid=root rdev=00:00 nametype=NORMAL type=CWD msg=audit(08/05/2016 11:56:10.088:72) :cwd=/home/ubuntu type=SYSCALL msg=audit(08/05/2016 11:56:10.088:72) :arch=x86_64 syscall=openat success=yes exit=3 a0=0xffffffffffffff9c a1=0x88_NO2CTRD_OLYb|O3 =0x0 položek=1 ppid=14098 pid=14992 auid=ubuntu uid=ubuntu gid=ubuntu euid=ubuntu suid=ubuntu fsuid=ubuntu egid=ubuntu sgid=ubuntu fsgid=ubuntu tty=pts0 s es=1302 comm=grep exe=/bin/grep key=audit-passwd ---- type=PROCTITLE msg=audit(08/05/2016 11:56:12.028:74) :proctitle=vim /etc/passwd type=PATH msg=audit(08/05/2016 11:56:12.028:74) :item=0 name=/etc/passwd inode=56913 dev=fd:01 mode=file,644 ouid=root ogid=root rdev =00:00 nametype=NORMAL type=CWD msg=audit(08/05/2016 11:56:12.028:74) :cwd=/home/ubuntu type=SYSCALL msg=audit(08/05/2016 11:56:12.028:74) :arch=x86_64 syscall=open success=yes exit=3 a0=0x556072132500 a1=O_RDONLY a2=0x0 a3=0x556072347f50 položek =1 ppid=14098 auduunt=unt14998 auduunt=unt14998 auubunt=unt14998 auubunt=unt14998 auubunt=unt14993  euid=ubuntu suid=ubuntu fsuid=ubuntu egid=ubuntu sgid=ubuntu fsgid=ubuntu tty=pts0 ses=1302 comm=vi m exe=/usr/bin/vim.basic key=audit-passwd 

Výše uvedený výstup protokolu ukazuje, že uživatel zavolal ubuntu přistupoval k souboru /etc/passwd pomocí příkazů grep a vim . Ve výchozím nastavení bude výstup protokolu používat UID a GID, ale možnost „-i ‘ namapuje uid a gid na odpovídající názvy (lidsky čitelné uživatelské jméno a název skupiny).

Jak vytvořit hodinky pro sledování změn konkrétního uživatele?

#auditctl -w /usr/local/test -p wa -F uid=1001 -k audit-temp

Vyhledejte v protokolu události:

#ausearch -ua 1001 -i

Výše uvedený příkaz zobrazí seznam všech událostí spouštěných uživatelským ID 1001 .

Vytvoření trvalých pravidel

Poznámka :Pravidla vytvořená pomocí auditctl jsou dočasné a budou aktivní až do auditd démon je restartován. Níže uvedené příkazy vysvětlují tento scénář.

# auditctl -l -w /etc/passwd -p rwa -k audit-passwd -a always,exit -S all -F dir=/etc -F perm=wa -F uid=1001 -F key=audit -temp -a always,exit -S all -F dir=/usr/local/test -F perm=wa -F uid=1001 -F key=audit

Výše uvedený příkaz vytiskne seznam aktivních pravidel. Nyní zkusme restartovat auditd démon.

# /etc/init.d/auditd restart [ ok ] Restartování auditd (přes systemctl):auditd.service.

Znovu zkontrolujte aktivní pravidla.

# auditctl -l Žádná pravidla

Jakmile proběhne audit démon je restartován, všechna pravidla, která byla vytvořena pomocí auditctl příkaz bude odstraněn (protože byly dočasné). Pokud jste experimentovali s použitím auditctl a chcete tato pravidla vytvořit trvale, pak můžete upravit /etc/audit/audit.rules soubor nebo vytvořte nový soubor pravidel v /etc/audit/rules.d/ složka.

# echo "-D"> /etc/audit/rules.d/new.rules# auditctl -l>> /etc/audit/rules.d/new.rules

První příkaz přidá akci odstranění pravidla před přidáním nové sady pravidel.

Jak vygenerovat zprávu o auditu?

Souhrnný přehled:

# aureportSummary Report=======================Časový rozsah v protokolech:8. 5. 2016 11:45:39.464 - 8. 8. 2016 06:14:14.328Vybraný čas pro hlášení:08/05/2016 11:45:39 - 08/08/2016 06:14:14.328Počet změn v konfiguraci:7Počet změn účtů, skupin nebo rolí:5Počet přihlášení:1Počet neúspěšných přihlášení:6Počet autentizací:8Počet neúspěšných autentizací:6Počet uživatelů:3Počet terminálů:8Počet názvů hostitelů:2Počet spustitelných souborů:37Počet příkazů:39Počet souborů:13Počet AVC'počet událostí:0 0Počet neúspěšných systémových volání:12Počet událostí anomálie:0Počet odpovědí na události anomálie:0Počet událostí kryptoměny:0Počet událostí integrity:0Počet událostí virt:0Počet klíčů:2Počet ID procesů:214>137 událostí
 Výše uvedený příkaz vytiskne souhrnnou zprávu o všech zaznamenaných událostech.

Vytiskněte souhrnnou zprávu o všech neúspěšných pokusech o přihlášení

# aureport --login --summary -iLogin Souhrnná zpráva============================celkový auid==============================6 henry1 ubuntu

Vygenerujte souhrnnou zprávu o událostech spustitelných souborů:

# aureport -x --summary

Vygenerujte zprávu o všech souborech auditu, které jsou dotazovány, a časovém rozsahu událostí, které zahrnují

# aureport -tLog Zpráva o časovém rozsahu======================/var/log/audit/audit.log:08/05/2016 11:45 :39.464 - 08.08.2016 06:17:01.068

Vygenerovat přehled všech událostí zaznamenaných v časovém období:

# aureport --začátek 08.05.2016 00:00:00 --konec 8.7.2016 00:00:00

Vygenerujte přehled z ausearch výstup

# ausearch -k audit-temp | aureport -f -i

Jak smazat všechna pravidla auditu?

# auditctl -D

Poznámka :Výše ​​uvedený příkaz smaže všechna aktivní pravidla ve spuštěném auditd démon. Trvalá pravidla v souboru /etc/audit/audit.rules se však načtou vždy, když auditd je spuštěno.

Je to vše audit může udělat? Ne! Auditní systém Linux umí více a to, co je zde uvedeno, je jen malou částí tohoto výkonného systému. Podívejte se na manuálové stránky auditd , auditctl , ausearch a aureport pro více informací.


Linux
  1. Jak sledovat změny v souborech /etc/shadow a /etc/passwd pomocí Auditd?

  2. Jak připojit a odpojit souborový systém v Linuxu

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. CentOS / RHEL :Jak obnovit ze smazaného souboru /etc/passwd

  3. Jak v mém souboru /etc/hosts/ v systému Linux/OSX vytvořím subdoménu se zástupnými znaky?

  1. Linux File Command:Co dělá a jak jej používat

  2. Linux Host File:Jak jej upravit a používat?

  3. Správný způsob úpravy souborů /etc/passwd a /etc/group v Linuxu