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

Tvrdí se, že soubor mizí – Jak sledovat soubor pro smazání v Linuxu

Otázka :Zdá se, že soubor mizí a nelze najít žádný přímý důvod pro jeho zmizení. Jak můžeme monitorovat přístup k souboru, zejména smazání konkrétního souboru v systému CentOS/RHEL?

Soubor lze monitorovat v průběhu jeho životního cyklu pomocí Linux auditd službu.

Postup

1. Chcete-li jej nainstalovat na CentOS nebo RHEL, spusťte:

# yum install audit

2. Chcete-li službu povolit při spouštění, spusťte:

# chkconfig auditd on        # For CentOS/RHEL 6
# systemctl enable auditd        # For CentOS/RHEL 7

nebo jej spusťte dočasně, do příštího restartu:

# service auditd start        # For CentOS/RHEL 6
# systemctl start auditd        # For CentOS/RHEL 7
Poznámka :systemctl restart auditd nebude fungovat v RHEL7, protože jádro zpracovává auditované zvláštním způsobem. Budete muset zastavit a spustit službu.

3. Chcete-li sledovat konkrétní soubor a zjistit, zda se souboru něco dotýká, spusťte:

# auditctl -w [filename] -p rwxa  -k [filter key]

kde:
-w [název souboru] :podívejte se na konkrétní soubor.
-p war :filtr oprávnění pro zápis, připojení, čtení.
-k [klíč filtru] :klíč filtru pro jednoznačnou identifikaci protokolů auditu.

Například:

# auditctl -w /var/opt/sun/comms/messaging64/log/mail.log_yesterday -p rwxa -k mail.log_yesterday

4. Chcete-li zobrazit aktuální sadu pravidel, spusťte:

# auditctl -l

Například:

# auditctl -l
LIST_RULES: exit,always watch=/var/opt/sun/comms/messaging64/log/mail.log_yesterday perm=rwxa key=mail.log_yesterday

Ověřit

Chcete-li zjistit, kdo změnil sledovaný soubor nebo k němu přistupoval:

# ausearch -i -k [filter key]

Například:

# ausearch -i -k mail.log_yesterday
...
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6209) : item=0 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6209) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6209) : arch=x86_64 syscall=open success=yes exit=5 a0=7fff62973b1d a1=0 a2=7fff62973870 a3=2 items=1 ppid=16442 pid=16450 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=cat exe=/bin/cat key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6210) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=1 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6211) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6211) : arch=x86_64 syscall=unlink success=yes exit=0 a0=7ffff94beb1f a1=7ffff94beb1f a2=2 a3=2 items=2 ppid=16442 pid=16452 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=rm exe=/bin/rm key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6212) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=3 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=2 name=/opt/sun/comms/messaging64/data/log/mail.log_current inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=1 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6213) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6213) : arch=x86_64 syscall=rename success=yes exit=0 a0=7fff81d5caea a1=7fff81d5cb1f a2=0 a3=0 items=4 ppid=16442 pid=16453 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=mv exe=/bin/mv key=mail.log_yesterday 
...

Zde vidíme rotaci souborů mail.log, kterou provádí „return_job ‘, která se ve výchozím nastavení odehrává v 00:30 a kterou spouští uživatel „mailsrv “. Můžete vidět, že soubor mail.log_yesterday je cat (do mail.log), je odstraňován a mail.log_current se přejmenovává na mail.log_yesterday.

Porozumění systémovému auditování pomocí auditd


Cent OS
  1. Jak najít soubor v Linuxu

  2. Jak přejmenovat soubor v Linuxu?

  3. Jak používat auditd ke sledování mazání souborů v Linuxu

  1. Jak spravovat možnosti souborů Linux

  2. Jak auditovat změny souborů a spouštění souborů v Linuxu

  3. Jak mohu sledovat data na sériovém portu v Linuxu?

  1. Jak přesunout soubor v Linuxu

  2. Jak odstranit soubor na Ubuntu Linux

  3. Jak monitorovat kompletní strom adresářů pro změny v Linuxu?