GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come monitorare e rilevare i file modificati utilizzando Tripwire IDS su Ubuntu 16.04

Tripwire è un sistema di rilevamento delle intrusioni (IDS) gratuito e open source. È uno strumento di sicurezza per il monitoraggio e l'avviso di modifiche ai file nel sistema. Tripwire è un potente IDS che protegge il tuo sistema da modifiche indesiderate. È possibile monitorare i file di sistema, inclusi i file del sito Web. Quindi, quando si verificano modifiche indesiderate di file in uno qualsiasi dei file che vengono monitorati, tripwire controllerà il tuo sistema e ti avviserà (se tale configurazione è in atto).

In questo tutorial, ti mostreremo come installare e configurare Tripwire Host Based IDS su Ubuntu 16.04. Ti mostreremo anche come configurare tripwire per monitorare e rilevare i file modificati sul sistema.

Cosa faremo

  1. Installa Tripwire
  2. Configura la politica di Tripwire per il sistema Ubuntu
  3. Verifica la configurazione di Tripwire
  4. Aggiungi un nuovo set di regole alla politica di Tripwire
  5. Imposta notifica e cron di Tripwire

Prerequisiti

  • Server Ubuntu 16.04
  • Privilegi di root

Fase 1:installa Tripwire

Il primo passo è installare tripwire nel sistema. Lo strumento è disponibile nel repository ufficiale di Ubuntu:basta aggiornare il repository di Ubuntu e installare Tripwire utilizzando i seguenti comandi.

sudo apt update
sudo apt install -y tripwire

Durante l'installazione, ti verrà chiesto della configurazione SMTP di Postfix. Scegli 'Sito Internet ' e fai clic su 'OK ' per continuare con l'installazione.

Per il nome del sistema di posta, lascia il valore predefinito (come mostrato di seguito) e scegli 'OK ' per continuare.

Successivamente, ti verrà chiesto della configurazione di Tripwire.

Crea una nuova "chiave del sito ' per Tripwire - scegli ' ' e premi Invio per continuare.

Ora per la 'chiave locale ', scegli ' ' e premi di nuovo Invio.

Per l'opzione Ricostruisci configurazione Tripwire, scegli ' '.

Lo stesso per l'opzione Ricostruisci la politica di Tripwire:scegli ' '.

Ora ti verrà chiesto di inserire la "chiave del sito ' frase d'accesso. Digita una password e scegli 'OK '.

Ripeti la "chiave del sito ' passphrase.

Quindi per la 'chiave locale ' passphrase, digita una password e scegli 'OK '.

Ripeti la "chiave locale ' passphrase.

E ora l'installazione di tripwire su Ubuntu 16.04 è stata completata.

Passaggio 2:configura la politica di Tripwire per il sistema Ubuntu

In questo passaggio, configureremo Tripwire per il nostro sistema Ubuntu. Tutta la configurazione relativa a Tripwire si trova nella directory '/etc/tripwire'.

Dopo l'installazione di Tripwire, è necessario inizializzare il sistema di database. Esegui il seguente comando.

sudo tripwire --init

Ti verrà chiesto della passphrase della chiave locale:digita la passphrase della chiave locale e premi Invio.

E probabilmente riceverai l'errore "Nessuna directory di questo tipo ', come mostrato di seguito.

Per risolvere questo errore, dobbiamo modificare il file di configurazione di Tripwire e rigenerare la configurazione.

Prima di modificare la configurazione di Tripwire, dobbiamo verificare quale directory non esiste, cosa che puoi fare usando il seguente comando.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Ora puoi vedere tutte le directory e i file che non esistono nel modo seguente.

cat no-directory.txt

Quindi, vai alla directory di configurazione di Tripwire e modifica il file di configurazione twpol.txt.

cd /etc/tripwire/
vim twpol.txt

Nella regola "Script di avvio", commenta la riga come di seguito.

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

Sulla regola "Modifiche all'avvio del sistema", commenta come di seguito.

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

Nella regola "File di configurazione radice", apporta la seguente modifica.

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

Nella regola "Informazioni sul dispositivo e sul kernel", modifica la riga come di seguito.

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

Questo è tutto. Salva le modifiche ed esci dall'editor.

Dopo aver modificato il file di configurazione, implementa tutte le modifiche ricreando il file della politica crittografato utilizzando il comando twadmin come mostrato di seguito.

sudo twadmin -m P /etc/tripwire/twpol.txt

Digita la passphrase 'site-key' e premi Invio.

Con questo, verrà creata una nuova polizza Tripwire. Ora, reinizializza il database di Tripwire.

sudo tripwire --init

Digita la passphrase della chiave locale e assicurati di non ricevere errori questa volta.

La politica di Tripwire è stata configurata per il sistema Ubuntu

Passaggio 3:verifica dell'integrità dei file di sistema

Tripwire è stato installato e la politica di tripwire è stata aggiornata e reinizializzata. In questo passaggio, verificheremo manualmente il sistema utilizzando Tripwire.

Verifica tutti i file di sistema utilizzando il comando seguente.

sudo tripwire --check

E dovresti ottenere "Nessuna violazione" e "Nessun errore" nel risultato/output.

Quindi, aggiungi un nuovo file nella directory principale e quindi controlla di nuovo il sistema utilizzando Tripwire.

cd ~/
touch hakase-labs.txt
sudo tripwire --check

E nell'output, l'aggiunta del file e la modifica della directory in cui risiede il file dovrebbero apparire come violazioni.

Vedi il risultato qui sotto.

Fase 4:aggiungi una nuova regola a Tripwire

In questo passaggio, vogliamo aggiungere una nuova regola Tripwire alla configurazione. Per creare una nuova politica di tripwire, è necessario definire il nome della regola, la gravità e il tipo di file. In questo passaggio, proveremo ad aggiungere una nuova regola denominata "Dati WordPress" con gravità "Alta/SIG_HI" e tutti i file in quella directory critica non possono essere modificati.

Vai alla directory di configurazione di tripwire e modifica il file di configurazione 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Vai alla fine della riga e incolla l'esempio della regola Tripwire di seguito.

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Salva ed esci.

Ora rigenera il file di configurazione di tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt

Digita la passphrase della chiave del sito.

E reinizializza il database di Tripwire.

sudo tripwire --init

Digita la passphrase della chiave locale.

Se tutte queste configurazioni sono complete, possiamo provare a creare un nuovo file o modificare il file nella directory '/var/www/'.

Vai alla directory '/var/www/', crea un nuovo file e modifica il file di indice.

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html

Controllare il sistema utilizzando il comando tripwire di seguito.

sudo tripwire --check

E riceverai una notifica sulle violazioni del sistema con livello di sicurezza 100 come di seguito.

È stata aggiunta una nuova regola Tripwire.

Fase 5 - Imposta la notifica Tripwire e cron

In questo passaggio, configureremo le notifiche per specifici criteri di set di regole di Tripwire e configureremo un cron per il controllo automatico del sistema.

Per le notifiche e-mail, Tripwire fornisce una funzione 'emailto' nella configurazione. Tripwire utilizza Postfix per le notifiche e-mail e viene installato automaticamente durante l'installazione dello strumento.

Prima di configurare le notifiche e-mail, prova la notifica di Tripwire utilizzando il comando seguente.

tripwire --test --email [email protected]

E assicurati di avere un'e-mail dal tuo server, come mostrato di seguito.

Ora vai nella directory '/etc/tripwire' e modifica la configurazione 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Aggiungi una nuova riga all'interno della regola "Dati WordPress", come mostrato di seguito.

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

Questo è tutto. Salva ed esci.

Quindi, rigenera la configurazione e reinizializza il database Tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

Digita la passphrase della chiave del sito per rigenerare la configurazione e la passphrase della chiave locale per reinizializzare.

Ora, crea di nuovo un nuovo file nella directory '/var/www/', controlla manualmente il sistema utilizzando Tripwire e invia il rapporto via e-mail.

sudo tripwire --check --email-report

E dovresti ricevere un rapporto e-mail nella tua casella di posta.

Andando avanti, per la configurazione di cron, dobbiamo solo definire l'ora in cui verrà eseguito il comando tripwire. Configureremo il controllo del sistema Tripwire su base giornaliera.

Crea un nuovo cron usando il comando crontab di seguito.

sudo crontab -e -u root

E incolla la configurazione di cron qui sotto.

0 0 * * * tripwire --check --email-report

Salva ed esci, quindi ricarica il cron.

systemctl restart cron

Ora il sistema eseguirà il controllo ogni giorno e invierà una notifica per una violazione della regola "Wordpress" alla tua e-mail.

Tripwire IDS è stato installato e configurato su Ubuntu 16.04 e tutti i file e le directory del sistema sono stati monitorati. Puoi aggiungere il tuo set di regole seguendo le istruzioni nel passaggio 4.


Ubuntu
  1. Come monitorare Nginx usando Netdata su Ubuntu 16.04

  2. Monitoraggio e rilevamento di file modificati utilizzando Tripwire su CentOS 7

  3. Come monitorare i file di registro del server con Logwatch su Debian e Ubuntu

  4. Come installare Stacer System Monitor su Ubuntu 18.04 LTS

  5. Monitora i file di registro Nginx usando ngxtop su Ubuntu 20.04

Come installare e utilizzare SSHGuard su Ubuntu 20.04

Come pulire il tuo sistema Ubuntu usando lo strumento Bleachbit

Come installare Systemback su Ubuntu 18.04 e Ubuntu 19.10, 20.04

Utilizzo di file e cartelle sullo schermo del desktop in Ubuntu

Come monitorare le prestazioni di Apache usando mod_status in Ubuntu

Come monitorare le prestazioni di Ubuntu utilizzando Netdata