-
OSSEC- dobry, darmowy IDS dla CentOS i nietylko
Dzisiaj po raz kolejny chciałbym poruszyć kwestie związane z bezpieczeństwem systemów. Niezwykle istotne jest szybkie wykrywanie i reagowanie na wszelkie incydenty związane z naszymi zasobami. Nie jesteśmy jednak w stanie non stop przeglądać / śledzić logów w poszukiwaniu zagrożenia. Od tego jest oprogramowanie takie jak OSSEC, które potrafi na bieżąco monitorować logi systemowe, informować administratora o możliwych nieprawidłowościach, a nawet podjąć działania zmierzające do unieszkodliwienia intruza.
Przystąpmy do instalacji. Niezbędne pakiety zainstalowałem z repozytorium ATOMIC. Najszybszym sposobem „podpięcia” się do tego repozytorium jest skorzystanie z gotowego skryptu i wykonanie poniższego polecenia:
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
Postępujemy zgodnie z instrukcjami. Kolejnym krokiem jest instalacja pakietów:
yum install ossec-hids ossec-wui ossec-hids-server
Następnie przystępujemy do edycji głównego pliku konfiguracyjnego „/var/ossec/etc/ossec.conf”, gdzie znajdujemy poniższe sekcje i modyfikujemy wg przykładu:
<global>
<email_notification>yes</email_notification>
<email_to>adres_email@do-admina</email_to>
<smtp_server>smtp.server.pl</smtp_server>
<email_from>ossec@dobryserver.pl</email_from>
</global><global>
<white_list>127.0.0.1</white_list>
<white_list>192.168.2.1</white_list>
<white_list>192.168.2.190</white_list>
<white_list>192.168.2.32</white_list>
<white_list>192.168.2.10</white_list>
</global><syscheck>
<frequency>72000</frequency>
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>
<ignore>/etc/mtab</ignore>
<ignore>/etc/hosts.deny</ignore>
<ignore>/etc/mail/statistics</ignore>
<ignore>/etc/random-seed</ignore>
<ignore>/etc/adjtime</ignore>
<ignore>/var/log/httpd</ignore>
<ignore>/etc/openvpn/openvpn-status.log</ignore>
<ignore>/etc/openvpn/openvpn-status.log2</ignore>
</syscheck>
Kolejnym krokiem jest podpięcie tzw. agentów, których zadaniem jest m.in. przysyłanie logów do serwera./var/ossec/bin/manage_agents
Powinniśmy zobaczyć poniższe „menu”:
****************************************
* OSSEC HIDS v2.7.1 Agent manager. *
* The following options are available: *
****************************************
(A)dd an agent (A).
(E)xtract key for an agent (E).
(L)ist already added agents (L).
(R)emove an agent (R).
(Q)uit.
Choose your action: A,E,L,R or Q:Wybieramy „A”, a następnie podajemy nazwę i adres IP agenta:
- Adding a new agent (use '\q' to return to the main menu).
Please provide the following:
* A name for the new agent: test
* The IP Address of the new agent: 77.25.11.2
* An ID for the new agent[002]:
Agent information:
ID:002
Name:test
IP Address:77.25.11.2Confirm adding it?(y/n): y
Agent added.następnie:
****************************************
* OSSEC HIDS v2.7.1 Agent manager. *
* The following options are available: *
****************************************
(A)dd an agent (A).
(E)xtract key for an agent (E).
(L)ist already added agents (L).
(R)emove an agent (R).
(Q)uit.
Choose your action: A,E,L,R or Q: EAvailable agents:
ID: 001, Name: wdc, IP: 62.171.8.118
ID: 002, Name: test, IP: 77.25.11.2
Provide the ID of the agent to extract the key (or '\q' to quit): 002Agent key information for '002' is:
MDAyIHRlc3QgNzcuMjUuMTEuMiAyNzdjZDk4N2M2YmZiZjRmYzA3YWU1MDhhZjRhOTBlZmFlODQ1ZmRkZGJiZjhlMjRjNzg3YTQwZTYyN2I4NTQyPowyższy klucz trzeba będzie zaimportować na komputerze pełniącym rolę agenta, ale o tym za chwilę. Najpierw instalacja. Pominę instalację repozytorium ATOMIC.
W konsoli wydajemy polecenie:
yum install ossec-hids-client
a następnie:
/var/ossec/bin/manage_client
****************************************
* OSSEC HIDS v2.7.1 Agent manager. *
* The following options are available: *
****************************************
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q: I* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.Paste it here (or '\q' to quit): MDAyIHRlc3QgNzcuMjUuMTEuMiAyNzdjZDk4N2M2YmZiZjRmYzA3YWU1MDhhZjRhOTBlZmFlODQ1ZmRkZGJiZjhlMjRjNzg3YTQwZTYyN2I4NTQy
Następnie edytujemy plik „/var/ossec/etc/ossec.conf”, modyfikując poniższe sekcje:
<ossec_config>
<client>
<server-ip>ADRES_IP_SERWERA</server-ip>
</client><syscheck>
<frequency>7200</frequency>
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>
<ignore>/etc/mtab</ignore>
<ignore>/etc/mnttab</ignore>
<ignore>/etc/hosts.deny</ignore>
<ignore>/etc/mail/statistics</ignore>
<ignore>/etc/random-seed</ignore>
<ignore>/etc/adjtime</ignore>
<ignore>/etc/httpd/logs</ignore>
<ignore>/etc/utmpx</ignore>
<ignore>/etc/wtmpx</ignore>
<ignore>/etc/cups/certs</ignore>
</syscheck>
Na koniec restartujemy serwer i klienta/ów wykonując poniższe polecenie na każdym z nich:/var/ossec/bin/ossec-control restart
Na serwerze trzeba zrestartować serwer www (np. Apache), aby konfiguracja z pliku „/etc/httpd/conf.d/ossec.conf” została zaczytana. Po wpisaniu w przeglądarce urla np. http://ip_naszeg_serwera/ossec, powinniśmy zobaczyć prośbę o zalogowanie (domyślne dane ossec/ossec). Logowanie oparte jest na pliku „/usr/share/ossec-wui/.htpasswd”, który modyfikujemy przy pomocy narzędzia „htpasswd”. W razie problemów, proszę pisać, może uda mi się pomóc.