GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come monitorare i file /etc/shadow e /etc/passwd per le modifiche con Auditd?

Il controllo del sistema è un'attività molto importante che dovrebbe far parte di ogni server. Ci consente di controllare i minimi dettagli relativi a ciò che sta accadendo esattamente all'interno del sistema. La maggior parte degli amministratori di sistema potrebbe essere a conoscenza delle funzionalità di controllo di base come la ricerca nel file /var/log/secure per i tentativi di accesso, ma quando si tratta di controllo di basso livello, è qui che il lavoro deve essere svolto.

Alcuni dei casi in cui il controllo del sistema aiuta sono:

  • Controllo dell'accesso ai file :Vogliamo avere un rapporto su quali file o directory all'interno del tuo server sono stati consultati o modificati ea che ora e da quale utente. Questo è un aspetto importante in particolare se vogliamo rilevare l'accesso a file importanti all'interno dei nostri server o se vogliamo scoprire chi ha apportato la modifica che ha avuto un impatto sull'ambiente di produzione.
  • Monitoraggio delle chiamate di sistema :Ogni comando che scriviamo sul retro effettua una chiamata di sistema al kernel.

Monitoraggio di /etc/shadow e /etc/passwd per le modifiche

1. Per monitorare i file /etc/shadow e /etc/passwd, aggiungi le 2 regole seguenti nel file delle regole auditd /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
Su CentOS/RHEL 6, il file di configurazione è /etc/audit/audit.rules invece di /etc/audit/rules.d/audit.rules.

Il comando sopra rappresenta quanto segue:

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

dove l'autorizzazione è una delle seguenti:
r – lettura del file
w – scrivi nel file
x – esegui il file
a – modifica dell'attributo del file (proprietà/autorizzazioni)

2. Riavviare il servizio auditd dopo aver definito le 2 regole precedenti.

# service auditd restart
Nota :non utilizzare il comando "systemctl" per gestire il servizio auditd in CentOS/RHEL. Utilizzare invece il comando "servizio" legacy. Il motivo di questa limitazione è che il daemon di audit deve registrare tutte le modifiche all'audit trail incluso l'avvio e l'arresto del daemon di audit stesso. Systemctl usa dbus per parlare con il sistema che nasconde chi ha emesso il comando e sembra che l'abbia fatto root.

3. Usa il comando “auditctl -l” per verificare le regole che hai impostato.

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

Verifica

Il file di registro /var/log/audit/audit.log registra tutti i messaggi di registro relativi ad auditd. Puoi controllare questo file di registro per vedere se i file shadow e passwd sono stati modificati da qualcuno. Questo file può essere lungo e il sistema può generare molti registri in questo file. Per filtrare le regole che ci interessano, possiamo utilizzare il comando “ausearch” con la chiave che abbiamo specificato in fase di definizione delle regole. Ad esempio:

# 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"

Allo stesso modo, per il file /etc/passwd, possiamo filtrare i log usando:

# 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"
Comprensione del controllo del sistema con auditd


Cent OS
  1. Come rimuovere le voci indesiderate nel file /etc/shadow

  2. comando grpck – Rimuove le voci danneggiate o duplicate nei file /etc/group e /etc/gshadow.

  3. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  4. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

  5. /etc/passwd mostra l'utente in un gruppo, ma /etc/group no

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

CentOS / RHEL 7:come recuperare dalla voce di root eliminata nei file /etc/shadow e/o /etc/passwd

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Nel mio file /etc/hosts/ su Linux/OSX, come creo un sottodominio con caratteri jolly?

Differenza tra /etc/hosts e /etc/resolv.conf

Come configurare /etc/issues per mostrare l'indirizzo IP per eth0