Introducere
OSSEC este un sistem de detectare a intruziunilor (HIDS) de tip open-source, bazat pe gazdă, care efectuează analize de jurnal, verificare a integrității, monitorizare a registrului Windows, detectare rootkit, alertare bazată pe timp și răspuns activ. Este o aplicație de securitate obligatorie pe orice server.
OSSEC poate fi instalat pentru a monitoriza doar serverul pe care este instalat (o instalare locală) sau poate fi instalat ca un server pentru a monitoriza unul sau mai mulți agenți. În acest tutorial, veți învăța cum să instalați OSSEC pentru a monitoriza CentOS 7 ca instalare locală.
Cerințe preliminare
-
Un server CentOS 7 de preferință configurat cu taste SSH și personalizat folosind Setarea inițială a unui server CentOS 7 . Conectați-vă la server folosind contul de utilizator standard. Presupunem că numele de utilizator este joe .
ssh -l joe server-ip-address
Pasul 1: Instalează pachetele obligatorii
OSSEC va fi compilat de la sursă, deci aveți nevoie de un compilator pentru a face acest lucru posibil. De asemenea, necesită un pachet suplimentar pentru notificări. Instalați-le tastând:
sudo yum install -y gcc inotify-tools
Pasul 2 - Descărcați și verificați OSSEC
OSSEC este livrat ca un tarball comprimat care trebuie descărcat de pe site-ul web al proiectului. Fișierul checksum, care va fi utilizat pentru a verifica dacă tarballul nu a fost modificat, trebuie, de asemenea, descărcat. La data publicării, ultima versiune a OSSEC este 2.8.2. Verificați pagina de descărcare a proiectului și descărcați orice este cea mai recentă versiune.
Pentru a descărca tarball, tastați:
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz
Pentru fișierul checkum, introduceți:
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2-checksum.txt
Cu ambele fișiere descărcate, următorul pas este verificarea sumelor de control MD5 și SHA1 ale tarball-ului. Pentru suma MD5, introduceți:
md5sum -c ossec-hids-2.8.2-checksum.txt
Produsul așteptat este:
ossec-hids-2.8.2.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted
Pentru a verifica hașa SHA1, tastați:
sha1sum -c ossec-hids-2.8.2-checksum.txt
Și producția preconizată este:
ossec-hids-2.8.2.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted
Pasul 3: Determinați serverul dvs. SMTP
În timpul procesului de instalare al OSSEC, vi se va solicita să specificați un server SMTP pentru adresa dvs. de e-mail. Dacă nu știți ce este, cea mai ușoară metodă de aflat este emiterea acestei comenzi de la mașina dvs. locală (înlocuiți adresa de e-mail falsă cu cea reală):
dig -t mx [email protected]
Secțiunea relevantă din ieșire este prezentată în acest bloc de cod. În această ieșire de exemplu, serverul SMTP pentru adresa de e-mail solicitată se află la sfârșitul liniei - mail.vivaldi.net. . Rețineți că punctul de la sfârșit este inclus.
;; ANSWER SECTION:
vivaldi.net. 300 IN MX 10 mail.vivaldi.net.
Pasul 4: Instalați OSSEC
Pentru a instala OSSEC, trebuie mai întâi să despachetați tarballul, pe care îl faceți tastând:
tar xf ossec-hids-2.8.2.tar.gz
Acesta va fi ambalat într-un director care poartă numele și versiunea programului. Schimbă-te sau cdîn el. OSSEC 2.8.2, versiunea instalată pentru acest articol, are un bug minor care trebuie remediat înainte de a începe instalarea. Până la lansarea următoarei versiuni stabile, care ar trebui să fie OSSEC 2.9, aceasta nu ar trebui să fie necesară, deoarece remedierea este deja în ramura principală. Fixarea lui pentru OSSEC 2.8.2 înseamnă doar editarea unui fișier, care se găsește în active-responsedirector. Fișierul este hosts-deny.sh, deci deschideți-l folosind:
nano active-response/hosts-deny.sh
Spre sfârșitul fișierului, căutați acest bloc de cod:
# 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
Pe liniile care încep cu TMP_FILE , ștergeți spațiile din jurul semnului = . După îndepărtarea spațiilor, acea porțiune a fișierului ar trebui să fie așa cum se arată în blocul de cod de mai jos. Salvați și închideți fișierul.
# 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
Acum că soluția este terminată, putem începe procesul de instalare, pe care îl efectuați tastând:
sudo ./install.sh
Pe parcursul procesului de instalare, vi se va solicita să furnizați o anumită intrare. În cele mai multe cazuri, trebuie doar să apăsați ENTER pentru a accepta implicit. În primul rând, vi se va solicita să selectați limba de instalare, care în mod implicit este engleza (en). Așadar, apăsați ENTER dacă acesta este limba dvs. preferată. În caz contrar, introduceți cele 2 litere din lista limbilor acceptate. După aceea, apăsați din nou ENTER .
Prima întrebare vă va pune ce tip de instalare doriți. Aici, intrați în local .
1- What kind of installation do you want (server, agent, local, hybrid or help)? local
Pentru întrebări ulterioare, apăsați ENTER pentru a accepta implicit. Întrebarea 3.1 vă va solicita adresa de e-mail și vă va cere serverul SMTP. Pentru această întrebare, introduceți o adresă de e-mail validă și serverul SMTP pe care l-ați determinat la pasul 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?
Dacă instalarea este reușită, ar trebui să vedeți această ieșire:
- Configuration finished properly.
...
More information can be found at http://www.ossec.net
--- Press ENTER to finish (maybe more information below). ---
Apăsați ENTER pentru a termina instalarea.
Pasul 5: Porniți OSSEC
OSSEC a fost instalat, dar nu a început. Pentru a începe, treceți mai întâi la contul rădăcină.
sudo su
Apoi, începeți-l emitând următoarea comandă.
/var/ossec/bin/ossec-control start
După aceea, verificați Inbox. Ar trebui să existe o alertă din partea OSSEC care vă informează că a fost pornită. Cu aceasta, acum știți că OSSEC este instalat și va trimite alerte în funcție de necesități.
Pasul 6: Personalizați OSSEC
Configurația implicită a OSSEC funcționează bine, dar există setări pe care le poți modifica pentru a-l proteja mai bine pe serverul tău. Primul fișier personalizat este fișierul principal de configurare - pe ossec.confcare îl veți găsi în /var/ossec/etcdirector. Deschideți fișierul:
nano /var/ossec/etc/ossec.conf
Primul element de verificat este o setare de e-mail, pe care o veți găsi în secțiunea globală a fișierului:
<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>
Asigurați - vă că email_from adresa este un e - mail validă. În caz contrar, serverul SMTP al unui furnizor de e-mail va marca alertele de la OSSEC drept Spam. Dacă FQDN al serverului nu este setat, partea de domeniu a e-mailului este setată pe numele de gazdă al serverului, deci aceasta este o setare pe care doriți cu adevărat să o adresa de e-mail validă.
O altă setare pe care doriți să o personalizați, în special în timpul testării sistemului, este frecvența cu care OSSEC își execută auditurile. Această setare se află în secțiunea syscheck și, implicit, este rulată la fiecare 22 de ore. Pentru a testa caracteristicile de alertare ale OSSEC, poate doriți să o setați la o valoare mai mică, dar să o resetați la valoarea implicită ulterior.
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
În mod implicit, OSSEC nu avertizează când este adăugat un nou fișier la server. Pentru a schimba asta, adăugați o nouă etichetă chiar sub eticheta <frecvență> . După finalizare, secțiunea ar trebui să conțină acum:
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
<alert_new_files>yes</alert_new_files>
O ultimă setare care este bine să se schimbe este în lista cu directoarele pe care OSSEC ar trebui să le verifice. Le veți găsi imediat după setarea anterioară. Fiți implicit, directoarele sunt afișate ca:
<!-- 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ți ambele linii pentru a face modificările raportului OSSEC în timp real. Când au terminat, ar trebui să citească:
<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ți și închideți fișierul.
Următorul fișier pe care trebuie să-l modificăm este local_rules.xmlîn /var/ossec/rulesdirector. Deci cdîn acel director:
cd /var/ossec/rules
Acest director conține fișierele de regulă ale OSSEC, care nu trebuie modificate, cu excepția local_rules.xmlfișierului. În acel fișier, adăugăm reguli personalizate. Regula pe care trebuie să o adăugăm este cea care se declanșează atunci când este adăugat un nou fișier. Această regulă, cu numărul 554 , nu declanșează în mod implicit o alertă. Acest lucru se datorează faptului că OSSEC nu trimite alerte atunci când este declanșată o regulă cu nivel stabilit la zero.
Iată cum arată în mod implicit regula 554.
<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>
Trebuie să adăugăm în local_rules.xmlfișier o versiune modificată a regulii respective . Această versiune modificată este dată în blocul de cod de mai jos. Copiați și adăugați-l în partea de jos a fișierului chiar înainte de eticheta de închidere.
<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>
Salvați și închideți fișierul, apoi reporniți OSSEC.
/var/ossec/bin/ossec-control restart
OSSEC este o aplicație software foarte puternică, iar acest articol tocmai a atins elementele de bază. Veți găsi mai multe setări de personalizare în documentația oficială .