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

Monitoraggio e rilevamento di file modificati utilizzando Tripwire su CentOS 7

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. Puoi usarlo per monitorare i file di sistema, inclusi i file del sito Web, quindi quando si verifica una modifica indesiderata di file, Tripwire controllerà il tuo sistema e, se impostato correttamente, ti avviserà via e-mail.

In questo tutorial, ti mostreremo come monitorare e rilevare eventuali modifiche nei file di sistema utilizzando Tripwire sul sistema CentOS 7. Ti mostreremo come installare e configurare Tripwire su CentOS 7, come generare file chiave di Tripwire, configurare e aggiungere criteri di tripwire, controllare il sistema e abilitare le notifiche e-mail per la configurazione di tripwire e cron.

Cosa faremo

  1. Installa Tripwire su CentOS 7
  2. Configura i criteri di Tripwire per CentOS 7
  3. Verifica della configurazione di Tripwire
  4. Aggiungi una nuova regola alla politica di Tripwire
  5. Imposta la notifica e-mail di Tripwire e Cron

Prerequisiti

  • Sistema CentOS 7
  • privilegi radice

Passaggio 1:installa Tripwire su CentOS 7

Il primo passo che dobbiamo fare è installare Tripwire sul sistema. Per impostazione predefinita, tripwire è disponibile nel repository CentOS 7.

Accedi al tuo server e aggiorna tutti i pacchetti.

ssh [email protected]
sudo yum update -y

Ora installa Tripwire usando yum.

yum -y install tripwire

Dopo l'installazione, dobbiamo generare nuovi file chiave.

Tripwire funziona con 2 file chiave.

  1. chiave del sito:viene utilizzata per proteggere la configurazione di Tripwire. Pertanto, qualsiasi modifica alla configurazione di tripwire non verrà applicata fino a quando non avremo generato nuovamente la configurazione e per questo ci verrà richiesta la passphrase 'site-key'.
  2. chiave locale:viene utilizzata per verificare il binario di tripwire. Quando vogliamo aggiornare il database del sistema tripwire, dobbiamo eseguire il comando tripwire e ci verrà richiesta la passphrase per 'local-key'.

Generiamo nuovi file di chiavi tripwire (chiavi sito e locali) utilizzando il comando seguente.

sudo tripwire-setup-keyfiles

Il comando genererà due file chiave 'site-key' e 'local-key' e ti verrà richiesta la passphrase per ciascuno di essi.

Digita la tua 'chiave del sito ' passphrase e premi Invio.

Digita la tua 'chiave locale ' passphrase e premi nuovamente Invio.

Quindi, firma la configurazione di tripwire utilizzando la 'site-key'.

Digita la tua 'chiave del sito ' passphrase.

E ora per firmare per la politica di Tripwire, digita la tua 'chiave locale ' passphrase.

Tripwire è stato installato su CentOS 7 e la nuova configurazione e le chiavi di tripwire si trovano nella directory '/etc/tripwire'.

Passaggio 2:configurazione dei criteri di Tripwire per CentOS 7

Dopo l'installazione di tripwire di cui abbiamo parlato nel primo passaggio, dobbiamo inizializzare il database di tripwire e assicurarci che non ci siano errori.

Inizializza il database di tripwire usando il comando tripwire di seguito.

sudo tripwire --init

Ti verrà chiesto della passphrase "chiave locale" e probabilmente riceverai il messaggio di errore "nessuna directory del genere" come di seguito.

Otteniamo l'errore perché il sistema non ha una directory e file che sono già definiti nella configurazione di tripwire. Per risolvere questo errore, dobbiamo modificare la configurazione di tripwire 'twpol.txt' e firmare nuovamente la configurazione di tripwire.

Ora genera l'errore di registro da tripwire usando il comando seguente.

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

Tutte le directory e i file che non esistono sul sistema CentOS 7 sono elencati nel file 'mo-directory.txt'

cat no-directory.txt

Modifica la configurazione di tripwire 'twpol.txt' utilizzando il seguente script bash:esegui questo script sul tuo terminale.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

Dopo tutto questo, dobbiamo rigenerare e firmare nuovamente la configurazione di tripwire usando il comando twadmin come mostrato di seguito.

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

Digita la passphrase "chiave del sito".

Reinizializza nuovamente il database di tripwire e assicurati di non ricevere errori.

sudo tripwire --init

Reinizializza il database di tripwire senza alcun errore.

Fase 3 - Verifica della configurazione di Tripwire e verifica del sistema

Per verificare la configurazione di tripwire, possiamo eseguire il comando di verifica del sistema come di seguito.

sudo tripwire --check

E dovresti ottenere un risultato simile al seguente.

Ciò significa che non sono stati rilevati errori e violazioni di sistema nel nostro sistema.

Ora proveremo ad aggiungere un nuovo file nella home directory principale e ricontrolleremo usando tripwire.

Vai alla home directory principale e crea un nuovo file 'hakase-labs.txt'.

cd ~/
touch hakase-labs.txt

Ora ricontrolla il sistema usando il comando tripwire.

sudo tripwire --check

E otterrai il risultato della nuova violazione sul sistema con gravità 100 come di seguito.

A questo punto, Tripwire è installato e configurato per il sistema CentOS 7.

Passaggio 4:aggiungi una nuova regola alla politica di Tripwire

In questo passaggio, ti mostreremo come aggiungere una nuova regola alla configurazione della politica di tripwire 'twpol.txt'.

Per eseguire questo lavoro, è necessario definire il nome della regola, la gravità, la directory per il monitoraggio e il tipo di file. In questo passaggio, creeremo una nuova regola denominata 'Dati WordPress' per la nostra installazione di WordPress nella directory '/var/www/', con gravità 'HIGH/SIG_HI', e tutti i file in quella directory sono critici (entrambi di proprietà così come il codice sorgente non può essere modificato).

Vai alla directory di configurazione di tripwire '/etc/tripwire' e modifica il file di configurazione 'twpol.txt' usando vim.

cd /etc/tripwire/
vim twpol.txt

Vai alla fine della riga e incolla lì la seguente regola di WordPress.

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

Salva ed esci.

Rigenera e firma nuovamente la configurazione utilizzando il comando twadmin come di seguito.

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

Digita la passphrase "chiave del sito".

Ora dobbiamo rigenerare nuovamente il database di tripwire.

sudo tripwire --init

Digita la passphrase "chiave locale".

Un nuovo set di regole è stato aggiunto e applicato alla configurazione dei criteri di Tripwire.

Controlla il tuo sistema usando il comando tripwire qui sotto.

sudo tripwire --check

E dovresti ottenere il risultato dicendo senza errori e violazioni.

Ora vai nella directory '/var/www/' e crea un nuovo file al suo interno.

cd /var/www/
touch hakase-labs.php

Esegui nuovamente il controllo del sistema utilizzando tripwire.

sudo tripwire --check

E otterrai il risultato che dice violazione del sistema nella directory '/var/www/' con livello di sicurezza Alto 100.

Una nuova regola è stata aggiunta e applicata alla configurazione della politica di Tripwire.

Passaggio 5 - Impostazione della notifica e-mail di Tripwire e Cron

In questo passaggio, configureremo le notifiche per specifici criteri di set di regole di tripwire e configureremo un cronjob per il controllo automatico del sistema. Invieremo una segnalazione per qualsiasi violazione della regola "Dati WordPress" all'indirizzo email "[email protected]".

Per la notifica via e-mail, tripwire fornisce una funzione 'e-mailto' nella configurazione. E per impostazione predefinita, tripwire utilizza Postfix o Sendmail per inviare il rapporto via e-mail.

Prima di configurare le notifiche e-mail, testare la funzionalità di notifica di tripwire utilizzando il comando seguente.

sudo tripwire --test --email [email protected]

Controlla la tua e-mail e dovresti ricevere il rapporto e-mail dal tuo server come di seguito.

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

cd /etc/tripwire/
vim twpol.txt

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

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto = [email protected]
)
{
        /var/www        -> $(SEC_CRIT);
}

Salva ed esci.

Rigenera e firma la configurazione utilizzando il comando twadmin.

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

Digita la passphrase "chiave del sito".

E rigenera il database di tripwire.

sudo tripwire --init

Digita la passphrase "chiave locale" di Tripwire.

La configurazione per la notifica e-mail di Tripwire è stata completata.

Ora fai qualche prova creando di nuovo un nuovo file nella directory '/var/www/'.

cd /var/www/
touch hakase.txt

Controlla di nuovo il tuo sistema usando il comando qui sotto.

sudo tripwire --check --email-report

Nota:

  • --email-report: Invia report del sistema all'indirizzo email definito in ciascuna regola.

Controlla la tua e-mail e dovresti ottenere il risultato come di seguito sulla tua e-mail.

La notifica e-mail per Tripwire è stata abilitata e applicata.

Successivamente, abiliteremo il controllo automatico del sistema Tripwire utilizzando l'impostazione cron. Per questo, crea un nuovo script cron sotto l'utente root usando il comando crontab di seguito.

sudo crontab -e -u root

Incolla la seguente configurazione cron.

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

Salva ed esci.

Nota:

  • - Lo script cron eseguirà il controllo del sistema tripwire su base giornaliera.

Ora riavvia il servizio crond su CentOS 7.

systemctl restart crond

Ora riceverai quotidianamente la notifica del rapporto di tripwire sulla tua e-mail.

Tripwire è stato installato e configurato per il sistema CentOS 7.


Cent OS
  1. Utilizzo di ATA Over Ethernet (AoE) su CentOS 7 (iniziatore e destinazione)

  2. Installa lo strumento Fsniper (Directory Monitoring) in CentOS, RHEL e Fedora

  3. Come installare e configurare Fail2ban su CentOS 8?

  4. Come inviare e scaricare file utilizzando Rsync

  5. tcpdump – ruota i file catturati usando -G, -W e -C

Monitoraggio del server con Munin e Monit su CentOS 7.2

Come installare e gestire i pacchetti su CentOS utilizzando RPM

Installazione e utilizzo di Perf in Ubuntu e CentOS

Come installare Webmin su CentOS 8 e Rocky Linux 8

Come visualizzare e monitorare i file di registro in CentOS 8

Come installare Seafile per sincronizzare e condividere file su CentOS 8