GNU/Linux >> Znalost Linux >  >> Cent OS

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

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. Většina systémových administrátorů si může být vědoma základních funkcí auditování, jako je například hledání pokusů o přihlášení do souboru /var/log/secure, ale pokud jde o nízkoúrovňové auditování, je třeba tu práci udělat.

Některé z případů, kdy systémový audit pomáhá, jsou:

  • Sledování přístupu k souboru :Chceme mít zprávu o tom, které soubory nebo adresáře na vašem serveru byly zpřístupněny nebo změněny a kdy a kterým uživatelem. Toto je důležitý aspekt, zejména pokud chceme zjistit přístup k důležitým souborům na našich serverech nebo chceme zjistit, kdo provedl změnu, která ovlivnila produkční prostředí.
  • Sledování systémových volání :Každý příkaz, který napíšeme na zadní straně, provede systémové volání jádra.

Sledování změn v /etc/shadow a /etc/passwd

1. Chcete-li monitorovat soubory /etc/shadow a /etc/passwd, přidejte níže 2 pravidla do souboru auditovaných pravidel /etc/audit/rules.d/audit.rule.

# vi /etc/audit/rules.d/audit.rule
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd
Na CentOS/RHEL 6 je konfigurační soubor /etc/audit/audit.rules místo /etc/audit/rules.d/audit.rules.

Výše uvedený příkaz představuje následující:

-w path-to-file -p permissions -k keyname

kde oprávnění jsou jedno z následujících:
r – čtení souboru
w – zápis do souboru
x – spustit soubor
a – změna atributu souboru (vlastnictví/oprávnění)

2. Po definování 2 výše uvedených pravidel restartujte auditovanou službu.

# service auditd restart
Poznámka :Nepoužívejte příkaz „systemctl“ ke správě služby auditované v CentOS/RHEL. Místo toho použijte starší příkaz „service“. Důvodem tohoto omezení je, že démon auditu musí zaznamenat jakékoli změny v auditní stopě, včetně spuštění a zastavení samotného démona auditu. Systemctl používá dbus ke komunikaci se systémem, který skrývá, kdo vydal příkaz, a vypadá, že to udělal root.

3. Pomocí příkazu „auditctl -l“ ověřte pravidla, která jste nastavili.

# auditctl -l
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd

Ověřit

Soubor protokolu /var/log/audit/audit.log zaznamenává všechny auditované související zprávy protokolu. V tomto souboru protokolu můžete zkontrolovat, zda někdo nezměnil soubory shadow a passwd. Tento soubor může být dlouhý a systém může v tomto souboru generovat mnoho protokolů. K odfiltrování pravidel, která nás zajímají, můžeme použít příkaz „ausearch“ s klíčem, který jsme zadali při definování pravidel. Například:

# ausearch -k shadow
----
time->Sat Jun 16 06:23:07 2018
type=PROCTITLE msg=audit(1529130187.897:595): proctitle=7061737377640074657374
type=PATH msg=audit(1529130187.897:595): item=4 name="/etc/shadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=3 name="/etc/shadow" inode=636309 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=2 name="/etc/nshadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130187.897:595):  cwd="/root"
type=SYSCALL msg=audit(1529130187.897:595): arch=c000003e syscall=82 success=yes exit=0 a0=7f443258a332 a1=7f443258a2bc a2=7f443a3517b8 a3=0 items=5 ppid=4320 pid=4486 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="passwd" exe="/usr/bin/passwd" subj=unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 key="shadow"

Podobně pro soubor /etc/passwd můžeme odfiltrovat protokoly pomocí:

# ausearch -k passwd
time->Sat Jun 16 06:22:56 2018
type=PROCTITLE msg=audit(1529130176.633:589): proctitle=757365726164640074657374
type=PATH msg=audit(1529130176.633:589): item=4 name="/etc/passwd" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=3 name="/etc/passwd" inode=636309 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=2 name="/etc/passwd+" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130176.633:589):  cwd="/root"
type=SYSCALL msg=audit(1529130176.633:589): arch=c000003e syscall=82 success=yes exit=0 a0=7ffc0729ae70 a1=55f815c79ce0 a2=7ffc0729ade0 a3=55f815ce21a0 items=5 ppid=4320 pid=4481 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="useradd" exe="/usr/sbin/useradd" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="passwd"
Porozumění systémovému auditování pomocí auditd


Cent OS
  1. Jak se obnovit ze smazaného kořenového záznamu v souborech /etc/shadow a/nebo /etc/passwd v CentOS / RHEL 6

  2. Jak odstranit nežádoucí položky v souboru /etc/shadow

  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. Jaké je spojení mezi adresáři /etc/init.d a /etc/rcX.d v Linuxu?

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

  1. Ruční změny provedené v /etc/hosts nebo /etc/sysconfig/network-scripts/ifcfg-* jsou ztraceny

  2. Jak zakázat „sudo su“ pro uživatele v konfiguračním souboru sudoers

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