Come installare OSSEC HIDS su un server CentOS 7

introduzione

OSSEC è un sistema di rilevamento delle intrusioni (HIDS) open-source e basato su host che esegue analisi dei log, controllo dell'integrità, monitoraggio del registro di Windows, rilevamento dei rootkit, avvisi basati sul tempo e risposta attiva. È un'applicazione di sicurezza indispensabile su qualsiasi server.

OSSEC può essere installato per monitorare solo il server su cui è installato (un'installazione locale) o essere installato come server per monitorare uno o più agenti. In questo tutorial imparerai come installare OSSEC per monitorare CentOS 7 come installazione locale.

Prerequisiti

  • Un server CentOS 7 preferibilmente configurato con chiavi SSH e personalizzato utilizzando la configurazione iniziale di un server CentOS 7 . Accedere al server utilizzando l'account utente standard. Supponiamo che username sia joe .

    ssh -l joe server-ip-address
    

Passaggio 1: installare i pacchetti richiesti

OSSEC verrà compilato dal sorgente, quindi è necessario un compilatore per renderlo possibile. Richiede anche un pacchetto aggiuntivo per le notifiche. Installali digitando:

sudo yum install -y gcc inotify-tools

Passaggio 2: scaricare e verificare OSSEC

OSSEC viene consegnato come tarball compresso che deve essere scaricato dal sito Web del progetto. È inoltre necessario scaricare il file di checksum, che verrà utilizzato per verificare che il tarball non sia stato manomesso. Al momento della presente pubblicazione, l'ultima versione di OSSEC è 2.8.2. Controlla la pagina di download del progetto e scarica qualunque sia l'ultima versione.

Per scaricare il tarball, digitare:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz

Per il file checksum, digitare:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2-checksum.txt

Con entrambi i file scaricati, il passaggio successivo è verificare i checksum MD5 e SHA1 del tarball. Per MD5sum, digitare:

md5sum -c ossec-hids-2.8.2-checksum.txt

L'output previsto è:

ossec-hids-2.8.2.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

Per verificare l'hash SHA1, digitare:

sha1sum -c ossec-hids-2.8.2-checksum.txt

E il risultato atteso è:

ossec-hids-2.8.2.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

Passaggio 3: determinare il server SMTP

Durante il processo di installazione di OSSEC, ti verrà richiesto di specificare un server SMTP per il tuo indirizzo email. Se non sai di cosa si tratta, il metodo più semplice per scoprirlo è emettere questo comando dal tuo computer locale (sostituisci l'indirizzo email falso con quello reale):

dig -t mx [email protected]

La sezione pertinente nell'output è mostrata in questo blocco di codice. In questo esempio di output, il server SMTP per l'indirizzo e-mail richiesto è alla fine della riga - mail.vivaldi.net. . Si noti che il punto alla fine è incluso.

;; ANSWER SECTION:
vivaldi.net.        300 IN  MX  10 mail.vivaldi.net.

Passaggio 4: installare OSSEC

Per installare OSSEC, devi prima decomprimere il tarball, cosa che fai digitando:

tar xf ossec-hids-2.8.2.tar.gz

Verrà decompresso in una directory che porta il nome e la versione del programma. Cambia o cdin esso. OSSEC 2.8.2, la versione installata per questo articolo, presenta un bug minore che deve essere corretto prima di iniziare l'installazione. Quando viene rilasciata la prossima versione stabile, che dovrebbe essere OSSEC 2.9, ciò non dovrebbe essere necessario, poiché la correzione è già nel ramo principale. Ripararlo per OSSEC 2.8.2 significa solo modificare un file, che si trova nella active-responsedirectory. Il file è hosts-deny.sh, quindi aprilo usando:

nano active-response/hosts-deny.sh

Verso la fine del file, cerca questo blocco di codice:

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE = `mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE = "/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

Sulle righe che iniziano con TMP_FILE , eliminare gli spazi attorno al segno = . Dopo aver rimosso gli spazi, quella parte del file dovrebbe essere come mostrato nel blocco di codice qui sotto. Salva e chiudi il file.

# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
   lock;
   TMP_FILE=`mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
   if [ "X$" = "X" ]; then
      # Cheap fake tmpfile, but should be harder then no random data
      TMP_FILE="/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
   fi

Ora che la correzione è attiva, possiamo avviare il processo di installazione, digitando:

sudo ./install.sh

Durante tutto il processo di installazione, ti verrà richiesto di fornire alcuni input. Nella maggior parte dei casi, è sufficiente premere INVIO per accettare l'impostazione predefinita. Innanzitutto, ti verrà richiesto di selezionare la lingua di installazione, che per impostazione predefinita è l'inglese (en). Quindi premi INVIO se è la tua lingua preferita. Altrimenti, inserisci le 2 lettere dall'elenco delle lingue supportate. Successivamente, premere di nuovo INVIO .

La prima domanda ti chiederà quale tipo di installazione desideri. Qui, inserisci locale .

1- What kind of installation do you want (server, agent, local, hybrid or help)? local

Per domande successive, premere INVIO per accettare l'impostazione predefinita. La domanda 3.1 ti chiederà il tuo indirizzo e-mail e quindi chiederà il tuo server SMTP. Per quella domanda, inserisci un indirizzo email valido e il server SMTP che hai determinato al passaggio 3.

3- Configuring the OSSEC HIDS.

   3.1- Do you want e-mail notification? (y/n) [y]: 
      - What's your e-mail address? [email protected]
      - What's your SMTP server ip/host?

Se l'installazione ha esito positivo, dovresti vedere questo output:

- Configuration finished properly.

...

    More information can be found at http://www.ossec.net

    ---  Press ENTER to finish (maybe more information below). ---

Premere INVIO per terminare l'installazione.

Passaggio 5: avviare OSSEC

OSSEC è stato installato, ma non avviato. Per avviarlo, passa prima all'account root.

sudo su

Quindi, avviarlo emettendo il seguente comando.

/var/ossec/bin/ossec-control start

Successivamente, controlla la Posta in arrivo. Dovrebbe esserci un avviso da OSSEC che ti informa che è stato avviato. Con ciò, ora sai che OSSEC è installato e invierà avvisi se necessario.

Passaggio 6: personalizza OSSEC

La configurazione predefinita di OSSEC funziona correttamente, ma ci sono impostazioni che puoi modificare per proteggere meglio il tuo server. Il primo file da personalizzare è il file di configurazione principale ossec.conf, che troverai nella /var/ossec/etcdirectory. Apri il file:

nano /var/ossec/etc/ossec.conf

Il primo elemento da verificare è un'impostazione di posta elettronica, che troverai nella sezione globale del file:

<global>
   <email_notification>yes</email_notification>
   <email_to>[email protected]</email_to>
   <smtp_server>mail.vivaldi.net.</smtp_server>
   <email_from>[email protected]</email_from>
</global>

Assicurati che l' indirizzo email_from sia valido. In caso contrario, alcuni server SMTP del provider di posta contrassegneranno gli avvisi di OSSEC come spam. Se il nome FQDN del server non è impostato, la parte del dominio dell'e-mail è impostata sul nome host del server, quindi questa è un'impostazione che si desidera davvero avere un indirizzo e-mail valido.

Un'altra impostazione che si desidera personalizzare, in particolare durante il test del sistema, è la frequenza con cui OSSEC esegue i propri audit. Tale impostazione è nella SysCheck sezione e, per impostazione predefinita, viene eseguito ogni 22 ore. Per testare le funzionalità di avviso di OSSEC, è possibile impostarlo su un valore inferiore, ma ripristinarlo ai valori predefiniti in seguito.

<syscheck>
   <!-- Frequency that syscheck is executed - default to every 22 hours -->
   <frequency>79200</frequency>

Per impostazione predefinita, OSSEC non avvisa quando un nuovo file viene aggiunto al server. Per cambiarlo, aggiungi un nuovo tag appena sotto il tag <frequenza> . Al termine, la sezione dovrebbe ora contenere:

<syscheck>
   <!-- Frequency that syscheck is executed - default to every 22 hours -->
   <frequency>79200</frequency>

   <alert_new_files>yes</alert_new_files>

Un'ultima impostazione che è utile modificare è nell'elenco delle directory che OSSEC dovrebbe controllare. Li troverai subito dopo l'impostazione precedente. Per impostazione predefinita, le directory sono visualizzate come:

<!-- Directories to check  (perform all possible verifications) -->
   <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
   <directories check_all="yes">/bin,/sbin</directories>

Modifica entrambe le righe per apportare modifiche al rapporto OSSEC in tempo reale. Al termine, dovrebbero leggere:

<directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>

Salva e chiudi il file.

Il prossimo file che dovremo modificare è local_rules.xmlnella /var/ossec/rulesdirectory. Quindi cdin quella directory:

cd /var/ossec/rules

Tale directory contiene i file delle regole di OSSEC, nessuno dei quali deve essere modificato, tranne il local_rules.xmlfile. In quel file, aggiungiamo regole personalizzate. La regola che dobbiamo aggiungere è quella che si attiva quando viene aggiunto un nuovo file. Tale regola, numerata 554 , non attiva un avviso per impostazione predefinita. Questo perché OSSEC non invia avvisi quando viene attivata una regola con livello impostato su zero.

Ecco come appare la regola 554 per impostazione predefinita.

 <rule id="554" level="0">
    <category>ossec</category>
    <decoded_as>syscheck_new_entry</decoded_as>
    <description>File added to the system.</description>
    <group>syscheck,</group>
 </rule>

Dobbiamo aggiungere una versione modificata di quella regola nel local_rules.xmlfile. Quella versione modificata è data nel blocco di codice qui sotto. Copia e aggiungilo in fondo al file appena prima del tag di chiusura.

 <rule id="554" level="7" overwrite="yes">
    <category>ossec</category>
    <decoded_as>syscheck_new_entry</decoded_as>
    <description>File added to the system.</description>
    <group>syscheck,</group>
 </rule>

Salvare e chiudere il file, quindi riavviare OSSEC.

/var/ossec/bin/ossec-control restart

Maggiori informazioni

OSSEC è un software molto potente e questo articolo ha appena toccato le basi. Troverai ulteriori impostazioni di personalizzazione nella documentazione ufficiale .



Leave a Comment

Come installare e configurare CyberPanel sul server CentOS 7

Come installare e configurare CyberPanel sul server CentOS 7

Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa

Come installare e configurare Sensu Monitoring su CentOS 7

Come installare e configurare Sensu Monitoring su CentOS 7

Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud

Come installare RabbitMQ su CentOS 7

Come installare RabbitMQ su CentOS 7

Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi

Installazione di Nginx-RTMP su CentOS 7

Installazione di Nginx-RTMP su CentOS 7

Usi un sistema diverso? RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr i

Come installare TaskBoard 0.3.1 su CentOS 7

Come installare TaskBoard 0.3.1 su CentOS 7

TaskBoard è unapp Web di gestione del tempo gratuita e open source. Ispirato da Kanban, TaskBoard può aiutarti a tenere traccia delle cose che devono essere fatte in a

Come installare Gradle su CentOS 7

Come installare Gradle su CentOS 7

Usi un sistema diverso? Gradle è un set di strumenti di automazione di build gratuito e open source basato sui concetti di Apache Ant e Apache Maven. Gradle fornisce

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Usi un sistema diverso? In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.

Installazione di Netdata su CentOS 7

Installazione di Netdata su CentOS 7

Usando un sistema diverso? Netdata è una stella nascente nel campo del monitoraggio delle metriche di sistema in tempo reale. Rispetto ad altri strumenti dello stesso tipo, Netdata:

Come installare Apache Cassandra 3.11.x su CentOS 7

Come installare Apache Cassandra 3.11.x su CentOS 7

Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare

Come installare Starbound Server su CentOS 7

Come installare Starbound Server su CentOS 7

Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te

Installazione e configurazione di ZNC su CentOS 7

Installazione e configurazione di ZNC su CentOS 7

ZNC è un buttafuori IRC gratuito e open source che rimane permanentemente connesso a una rete in modo che i client possano ricevere messaggi inviati mentre sono offline. Thi

Come installare Django su CentOS 7

Come installare Django su CentOS 7

Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Dopo aver modificato la porta SSH, configurato il port knocking e apportato altre modifiche per la sicurezza SSH, cè forse un altro modo per proteggerti

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord

Come installare MaraDNS su CentOS 6

Come installare MaraDNS su CentOS 6

MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.