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í1Výš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 ubuntuVygenerujte souhrnnou zprávu o událostech spustitelných souborů:
# aureport -x --summaryVygenerujte 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.068Vygenerovat 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:00Vygenerujte přehled z ausearch výstup
# ausearch -k audit-temp | aureport -f -iJak smazat všechna pravidla auditu?
# auditctl -DPozná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í.
Porozumění loutkovým zdrojům, manifestům, modulům a třídám s příklady Zde je vše, co můžete dělat s Nmap – Příklady příkazůLinux