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 you@example.com
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? you@example.com
- 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>finid@vivaldi.net</email_to>
<smtp_server>mail.vivaldi.net.</smtp_server>
<email_from>ossecm@vultr.guest</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
OSSEC è un software molto potente e questo articolo ha appena toccato le basi. Troverai ulteriori impostazioni di personalizzazione nella documentazione ufficiale .