• OSSEC- dobry, darmowy IDS dla CentOS i nietylko

    dodany przez Przemysław Sikora

    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.2

    Confirm 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: E

    Available 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): 002

    Agent key information for '002' is:
    MDAyIHRlc3QgNzcuMjUuMTEuMiAyNzdjZDk4N2M2YmZiZjRmYzA3YWU1MDhhZjRhOTBlZmFlODQ1ZmRkZGJiZjhlMjRjNzg3YTQwZTYyN2I4NTQy

    Powyż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.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony