Frage :Eine Datei scheint zu verschwinden und es kann kein direkter Grund für ihr Verschwinden gefunden werden. Wie können wir den Dateizugriff überwachen, insbesondere das Löschen einer bestimmten Datei im CentOS/RHEL-System?
Eine Datei kann während ihres gesamten Lebenszyklus überwacht werden, indem der auditd von Linux verwendet wird Dienst.
Die Stufen
1. Um es unter CentOS oder RHEL zu installieren, führen Sie Folgendes aus:
# yum install audit
2. Um den Dienst beim Booten zu aktivieren, führen Sie Folgendes aus:
# chkconfig auditd on # For CentOS/RHEL 6 # systemctl enable auditd # For CentOS/RHEL 7
oder temporär starten, bis zum nächsten Neustart:
# service auditd start # For CentOS/RHEL 6 # systemctl start auditd # For CentOS/RHEL 7Hinweis :systemctl restart auditd funktioniert in RHEL7 nicht, da der Kernel auditd auf besondere Weise handhabt. Sie müssen den Dienst beenden und erneut starten.
3. Um eine bestimmte Datei zu beobachten, um zu sehen, ob etwas die Datei berührt, führen Sie Folgendes aus:
# auditctl -w [filename] -p rwxa -k [filter key]
wobei:
-w [Dateiname] :Sehen Sie sich die spezifische Datei an.
-p war :Berechtigungsfilter für Schreiben, Anhängen, Lesen.
-k [Filterschlüssel] :ein Filterschlüssel zur eindeutigen Identifizierung der Prüfprotokolle.
Zum Beispiel:
# auditctl -w /var/opt/sun/comms/messaging64/log/mail.log_yesterday -p rwxa -k mail.log_yesterday
4. Um den aktuellen Regelsatz aufzulisten, führen Sie Folgendes aus:
# auditctl -l
Zum Beispiel:
# auditctl -l LIST_RULES: exit,always watch=/var/opt/sun/comms/messaging64/log/mail.log_yesterday perm=rwxa key=mail.log_yesterday
Bestätigen
So finden Sie heraus, wer die beobachtete Datei geändert oder darauf zugegriffen hat:
# ausearch -i -k [filter key]
Zum Beispiel:
# 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 ...
Hier sehen wir die Rotation der mail.log-Dateien, die durch den ‘return_job durchgeführt wird ‘, was standardmäßig um 00:30 Uhr passiert und vom Benutzer „mailsrv“ ausgeführt wird “. Sie können sehen, wie die mail.log_yesterday-Datei kategorisiert (in die mail.log) wird, entfernt wird und die mail.log_current in mail.log_yesterday umbenannt wird.
Verstehen der Systemüberwachung mit auditd