GNU/Linux >> Linux Esercitazione >  >> Linux

Regole di controllo per il monitoraggio Copia, sposta, elimina e termina i comandi in Linux

Controllo del sistema 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. auditd è un componente dello spazio utente del sistema di auditing Linux. Ciò significa che gli utenti del sistema potranno eseguire auditd per configurare regole e avvisi per la funzionalità di controllo con il sistema Linux.

Una delle cose migliori di auditd è che è strettamente integrato con il kernel, quindi ci dà il potere di monitorare quasi tutto ciò che vogliamo, davvero. Per consentire agli utenti di vedere cosa sta succedendo, auditd può registrare tutti gli eventi relativi all'audit su un disco e possiamo utilizzare vari strumenti come ausearch o aureport per esaminare i file di registro.

Per impostazione predefinita, non ci sono regole configurate. Dobbiamo scrivere le nostre regole in /etc/audit/audit.rules file di configurazione che verrà letto e verranno applicate le azioni di controllo corrispondenti.

Installazione di Auditd

Ora che abbiamo capito in qualche modo di cosa tratta auditd, andiamo avanti e iniziamo a lavorare con auditd con il caso d'uso precedente:

1. Installare i pacchetti auditd. I pacchetti auditd fanno parte dell'installazione predefinita dei sistemi CentOS 7. Possiamo verificarlo con il seguente comando:

# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64

2. Se il pacchetto non fa parte del nostro sistema, possiamo procedere e installarlo:

# yum install audit

3. Assicurarsi che il demone di controllo sia in esecuzione. Useremo il seguente comando:

# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

Dato che abbiamo un demone di audit attivo e funzionante, vediamo come possiamo utilizzare auditd per ottenere tutti e 4 i casi d'uso.

Regole di controllo per copiare, spostare, eliminare e uccidere i comandi

1. Fai un backup del file di configurazione esistente (regole di audit):

# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp

2. Modifica il file /etc/audit/audit.rules e aggiungi le seguenti regole per renderlo persistente:

# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File

# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot

# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device

# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process

3. Riavvia il servizio auditd per applicare le modifiche.

# service auditd restart

4. Elenca le regole aggiunte, per verificare che siano corrette:

# auditctl -l
Nota :bash (e molte altre shell) ha un comando "kill" integrato che in realtà non esegue /usr/bin/kill. Quindi, se invece viene eseguito il comando integrato, comm=bash è corretta. Non c'è modo di forzare il sistema a usare il programma esterno /usr/bin/kill. comm=uccidi non accadrà in tutti i casi, perché le shell possono chiamare direttamente la syscall senza eseguire il programma esterno chiamato "kill"


Linux
  1. Comandi Linux:job, bg e fg

  2. Come aggiungere una barra di avanzamento per copiare e spostare i comandi in Linux?

  3. Comandi di gestione dei file Linux per creare, copiare, spostare ed eliminare file

  4. Come installare e configurare Monit su Linux per il monitoraggio dei processi

  5. Come copiare / spostare file e directory in Linux con i comandi "cp" e "mv".

Copia avanzata:aggiungi la barra di avanzamento ai comandi cp e mv in Linux

50 regole utili e semplici di IPtables per l'amministratore Linux

50 semplici e utili comandi dmidecode per Linux

I 40 comandi utili del server Linux per principianti e professionisti

40 utili comandi git per amministratori e sviluppatori Linux

17 migliori comandi di rete e risoluzione dei problemi di Linux per principianti