<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    原文地址:http://drops.wooyun.org/tips/636

    簡介


    寫在前面的話,網上能夠找到一些關于ossec方面的資料,雖然很少,但是總比沒有強,不過在實際的使用過程中還是會碰到許多稀奇古怪的問題。整理整理我的使用過程,就當做一篇筆記吧。

    PS:本文填了很多坑。

    OSSEC是一款開源的基于主機的入侵檢測系統,可以簡稱為HIDS。它具備日志分析,文件完整性檢查,策略監控,rootkit檢測,實時報警以及聯動響應等功能。它支持多種操作系統:Linux、Windows、MacOS、Solaris、HP-UX、AIX。屬于企業安全之利器。

    詳細的介紹和文檔可以參考官網網站:

    http://www.ossec.net/

    環境


    本文中的環境極其簡單,兩臺CentOS 6.4虛擬機。

    服務端

    計算機名:ossec-server
    IP地址:192.168.100.103
    

    客戶端

    計算機名:ossec-agent
    IP地址:192.168.100.104
    

    準備


    我們以一個全新的CentOS 6.2為基礎的操作系統為例實際講述如何進行安裝。

    首先我們安裝需要用到的關聯庫和軟件,由于我們最終是需要把日志導入到MySQL中進行分析,以及需要通過web程序對報警結果進行展示,同時需要把本機當做SMTP,所以需要在本機安裝MySQL、Apache和sendmail服務。在當前的終端中執行如下命令:

    [[email protected] ~]# yum install wget gcc make mysql mysql-server mysql-devel httpd php php-mysql sendmail
    

    啟動httpd、mysql、sendmail服務

    [[email protected] ~]# /etc/init.d/httpd start
    [[email protected] ~]# /etc/init.d/mysqld start
    [[email protected] ~]# /etc/init.d/sendmail start
    

    下面創建數據庫以方便我們下面的安裝配置,連接到本機的MySQL,然后執行如下命令:

    [[email protected] ~]# mysql -uroot -p
    mysql> create database ossec;
    mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to [email protected];
    mysql> set password for [email protected]=PASSWORD('ossec');
    mysql> flush privileges;
    mysql> exit
    

    大概的環境已經準備的差不多了,下面就進入到實際安裝過程。

    安裝OSSEC服務端


    首先通過官網的鏈接下載當前的最新穩定版本 2.7 的服務端包,同時解壓。

    [[email protected] ~]# wget http://www.ossec.net/files/ossec-hids-2.7.tar.gz
    [[email protected] ~]# tar zxf ossec-hids-2.7.tar.gz
    [[email protected] ~]# cd ossec-hids-2.7
    

    為了使OSSEC支持MySQL,需要在安裝前執行make setdb命令,如下

    [[email protected] ~]# cd src; make setdb; cd ..
    

    看到如下的信息說明可以正常支持MySQL:

    Info: Compiled with MySQL support.
    

    下面進入安裝步驟,執行install.sh腳本,同時按照下面的信息進行填寫,紅色部門是我們需要輸入的,其余部分按回車繼續即可:

    [[email protected] ossec-hids-2.7]# ./install.sh
    
      ** Para instala??o em português, escolha [br].
      ** 要使用中文進行安裝, 請選擇 [cn].
      ** Fur eine deutsche Installation wohlen Sie [de].
      ** Για εγκατ?σταση στα Ελληνικ?, επιλ?ξτε [el].
      ** For installation in English, choose [en].
      ** Para instalar en Espa?ol , eliga [es].
      ** Pour une installation en fran?ais, choisissez [fr]
      ** A Magyar nyelv? telepítéshez válassza [hu].
      ** Per l'installazione in Italiano, scegli [it].
      ** 日本語でインストールします.選択して下さい.[jp].
      ** Voor installatie in het Nederlands, kies [nl].
      ** Aby instalowa? w j?zyku Polskim, wybierz [pl][/pl].
      ** Для инструкций по установке на русском ,введите [ru].
      ** Za instalaciju na srpskom, izaberi [sr].
      ** Türk?e kurulum i?in se?in [tr].
      (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]: cn
     OSSEC HIDS v2.7 安裝腳本 - http://www.ossec.net
    

    您將開始 OSSEC HIDS 的安裝. 請確認在您的機器上已經正確安裝了 C 編譯器. 如果您有任何疑問或建議,請給 [email protected] (或 [email protected]) 發郵件.

    1- 您希望哪一種安裝 (server, agent, local or help)? server

    2- 正在初始化安裝環境.

    3- 正在配置 OSSEC HIDS.

    3.1- 您希望收到e-mail告警嗎? (y/n) [y]: - 請輸入您的 e-mail 地址? [email protected]

    5- 正在安裝系統 - 正在運行Makefile INFO: Little endian set. …………省略編譯輸出…………

    直到碰到上面內容,說明安裝完成。

    OSSEC服務端配置


    上面只是安裝好了OSSEC服務端,下面則是為了配置服務端,使其工作正常。執行下面命令啟用數據庫支持:

    [[email protected] ossec-hids-2.7]# /opt/ossec/bin/ossec-control enable database
    

    然后導入MySQL表結構到MySQL中:

    [[email protected] ossec-hids-2.7]# mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
    

    修改部分配置文件的權限,否則會啟動服務失敗:

    [[email protected] ossec-hids-2.7]# chmod u+w /opt/ossec/etc/ossec.conf
    

    然后我們編輯ossec.conf文件,在ossec_config中添加MySQL配置:

    <ossec_config>
        <database_output>
            <hostname>192.168.100.103</hostname>
            <username>ossec</username>
            <password>ossec</password>
            <database>ossec</database>
            <type>mysql</type>
        </database_output>
    </ossec_config>
    

    由于我們在前面的安裝過程中支持接受遠程機器的syslog,所以我們還需要對ossec.conf文件中的syslog部分進行配置,修改ossec.conf文件,按照下面的內容進行修改,把我們網段可以全添加進去:

      <remote>
        <connection>syslog</connection>
        <allowed-ips>192.168.0.0/16</allowed-ips>
      </remote>
    

    在實際的實驗過程中啟動ossec服務端必須先添加一個客戶端,否則直接啟動服務端是會失敗的,通過如下命令查看日志會發現如下錯誤:

    [[email protected] logs]# cat /opt/ossec/logs/ossec.log
    
    2013/09/23 23:43:15 ossec-analysisd(1210): ERROR: Queue '/queue/alerts/ar' not accessible: 'Connection refused'.
    2013/09/23 23:43:15 ossec-analysisd(1301): ERROR: Unable to connect to active response queue.
    

    在服務器上添加客戶端,執行如下命令,按照提示進行輸入,紅色部分是我們輸入的:

    [[email protected] logs]# /opt/ossec/bin/manage_agents
    
       ****************************************
       * OSSEC HIDS v2.7 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: A

    然后程序會重新進入到第一次的界面,如下,我們導出剛才添加的那個agent的key,用于后面的客戶端連接到服務端:

       ****************************************
       * OSSEC HIDS v2.7 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: ossec-agent, IP: 192.168.100.104 Provide the ID of the agent to extract the key (or '\q' to quit): 001

    Agent key information for '001' is: MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguMTAwLjEwNCAzZWJmZWMzZmRlYzE2ODgzZmEyMzc0NWI5MWMyZDlmNmIyNDViZDMxNjBkZGRiM2FlMTk4NDA3ODNiNDFhYzYz

    ** Press ENTER to return to the main menu.

    到現在就可以啟動我們的ossec服務端了。

    # /opt/ossec/bin/ossec-control start
    

    或者執行

    # /etc/init.d/ossec start
    


    安裝OSSEC客戶端


    由于我們本身客戶端也是Linux服務器,而ossec的服務端和客戶端是同一個安裝包,所以在客戶端上下載安裝包,并且解壓安裝,如下。

    [[email protected] ~]# wget http://www.ossec.net/files/ossec-hids-2.7.tar.gz
    [[email protected] ~]# tar zxf ossec-hids-2.7.tar.gz
    [[email protected] ~]# cd ossec-hids-2.7
    [[email protected] ~]# ./install.sh 
    

    ** Para instala??o em português, escolha [br]. ** 要使用中文進行安裝, 請選擇 [cn]. ** Fur eine deutsche Installation wohlen Sie [de]. ** Για εγκατ?σταση στα Ελληνικ?, επιλ?ξτε [el]. ** For installation in English, choose [en]. ** Para instalar en Espa?ol , eliga [es]. ** Pour une installation en fran?ais, choisissez [fr] ** A Magyar nyelv? telepítéshez válassza [hu]. ** Per l'installazione in Italiano, scegli [it]. ** 日本語でインストールします.選択して下さい.[jp]. ** Voor installatie in het Nederlands, kies [nl]. ** Aby instalowa? w j?zyku Polskim, wybierz [pl][/pl]. ** Для инструкций по установке на русском ,введите [ru]. ** Za instalaciju na srpskom, izaberi [sr]. ** Türk?e kurulum i?in se?in [tr]. (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]: cn OSSEC HIDS v2.7 安裝腳本 - http://www.ossec.net

    您將開始 OSSEC HIDS 的安裝. 請確認在您的機器上已經正確安裝了 C 編譯器. 如果您有任何疑問或建議,請給 [email protected] (或 [email protected]) 發郵件.

    1- 您希望哪一種安裝 (server, agent, local or help)? agent

    2- 正在初始化安裝環境.

    3- 正在配置 OSSEC HIDS.

    3.1- 請輸入 OSSEC HIDS 服務器的IP地址或主機名: 192.168.100.103

    5- 正在安裝系統 - 正在運行Makefile INFO: Little endian set.

    …………省略編譯輸出…………

    配置OSSEC客戶端


    其實配置ossec客戶端就是把剛才由服務端生成的key,在客戶端中導入,執行如下命令 [[email protected] ossec-hids-2.7]# /opt/ossec/bin/manage_agents

    ****************************************
    * OSSEC HIDS v2.7 Agent manager.     *
    * The following options are available: *
    ****************************************
       (I)mport key from the server (I).
       (Q)uit.
    

    Choose your action: I or Q: I

    Paste it here (or '\q' to quit): MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguMTAwLjEwNCAzZWJmZWMzZmRlYzE2ODgzZmEyMzc0NWI5MWMyZDlmNmIyNDViZDMxNjBkZGRiM2FlMTk4NDA3ODNiNDFhYzYz

    Agent information: ID:001 Name:ossec-agent IP Address:192.168.100.104

    Confirm adding it?(y/n): y Added. ** Press ENTER to return to the main menu.

    最后啟動客戶端

    [[email protected] ossec-hids-2.7]# /opt/ossec/bin/ossec-control start
    

    或者執行

    [[email protected] ossec-hids-2.7]# /etc/init.d/ossec start
    

    安裝web界面


    上面我們安裝了ossec的服務端,并且為ossec添加了一個客戶端,非常簡單的一個環境,環境是搭建好了,可是目前這個環境如果我們要分析ossec的報警信息就太麻煩了,所以我們安裝第三方的 web界面用來顯示報警信息。

    [[email protected] ~]# wget https://github.com/ECSC/analogi/archive/master.zip
    [[email protected] ~]# unzip master
    [[email protected] ~]# mv analogi-master/ /var/www/html/analogi
    [[email protected] ~]# cd /var/www/html/
    [[email protected] html]# chown -R apache.apache analogi/
    [[email protected] html]# cd analogi/
    [[email protected] analogi]# cp db_ossec.php.new db_ossec.php
    

    編輯db_ossec.php文件,修改MySQL的配置信息:

    define ('DB_USER_O', 'ossec');
    define ('DB_PASSWORD_O', 'ossec');
    define ('DB_HOST_O', '127.0.0.1');
    define ('DB_NAME_O', 'ossec');
    

    修改 apache 配置,增加虛擬目錄,

    [[email protected] ~]# vim /etc/httpd/conf.d/analogi.conf
    

    添加如下內容

    Alias /analogi /var/www/html/analogi
    <Directory /var/www/html/analogi>
        Order deny,allow
        Deny from all
        Allow from 192.168.0.0/16
    </Directory>
    

    然后重新啟動Apache

    [[email protected] ~]# /etc/init.d/httpd restart
    

    然后訪問就可以了。

    http://192.168.100.103/analogi/ ? enter image description here

    最后


    上面是整個安裝和配置步驟,要想讓ossec發揮更大的作用,還需要針對實際的環境進行配置修改和規則的調整和編寫。在以后的我們會更多關注OSSEC在實際應用中的經驗。

    97av