OSSEC 學習教程一
簡介
寫在前面的話,網上能夠找到一些關於ossec方面的資料,雖然很少,但是總比沒有強,不過在實際的使用過程中還是會碰到許多稀奇古怪的問題。整理整理我的使用過程,就當做一篇筆記吧。
PS:本文填了很多坑。
OSSEC是一款開源的基於主機的入侵檢測系統,可以簡稱為HIDS。它具備日誌分析,檔案完整性檢查,策略監控,rootkit檢測,實時報警以及聯動響應等功能。它支援多種作業系統:Linux、Windows、MacOS、Solaris、HP-UX、AIX。屬於企業安全之利器。
詳細的介紹和文件可以參考官網網站:
環境
本文中的環境極其簡單,兩臺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]) 發郵件.
- 系統型別: Linux ossec 2.6.32-358.el6.x86_64
- 使用者: root
主機: ossec
-- 按 ENTER 繼續或 Ctrl-C 退出. --
1- 您希望哪一種安裝 (server, agent, local or help)? server
- 選擇了 Server 型別的安裝.
2- 正在初始化安裝環境.
請選擇 OSSEC HIDS 的安裝路徑 [/var/ossec]: /opt/ossec
- OSSEC HIDS 將安裝在 /opt/ossec .
3- 正在配置 OSSEC HIDS.
3.1- 您希望收到e-mail告警嗎? (y/n) [y]: - 請輸入您的 e-mail 地址? [email protected]
- 我們找到您的 SMTP 伺服器為: alt1.gmail-smtp-in.l.google.com.
您希望使用它嗎? (y/n) [y]: n
請輸入您的 SMTP 伺服器IP或主機名 ? 127.0.0.1
3.2- 您希望執行系統完整性檢測模組嗎? (y/n) [y]:
系統完整性檢測模組將被部署.
3.3- 您希望執行 rootkit檢測嗎? (y/n) [y]:
rootkit檢測將被部署.
3.4- 關聯響應允許您在分析已接收事件的基礎上執行一個 已定義的命令. 例如,你可以阻止某個IP地址的訪問或禁止某個使用者的訪問許可權. 更多的資訊,您可以訪問: http://www.ossec.net/en/manual.html#active-response
您希望開啟聯動(active response)功能嗎? (y/n) [y]:
- 關聯響應已開啟
預設情況下, 我們開啟了主機拒絕和防火牆拒絕兩種響應. 第一種情況將新增一個主機到 /etc/hosts.deny. 第二種情況將在iptables(linux)或ipfilter(Solaris, FreeBSD 或 NetBSD)中拒絕該主機的訪問.
該功能可以用以阻止 SSHD 暴力攻擊, 埠掃描和其他 一些形式的攻擊. 同樣你也可以將他們新增到其他地方, 例如將他們新增為 snort 的事件.
您希望開啟防火牆聯動(firewall-drop)功能嗎? (y/n) [y]:
- 防火牆聯動(firewall-drop)當事件級別 >= 6 時被啟動
聯動功能預設的白名單是:
- 8.8.8.8
您希望新增更多的IP到白名單嗎? (y/n)? [n]: y
請輸入IP (用空格進行分隔): 192.168.100.103
3.5- 您希望接收遠端機器syslog嗎 (port 514 udp)? (y/n) [y]:
遠端機器syslog將被接收.
3.6- 設定配置檔案以分析一下日誌: -- /var/log/messages -- /var/log/secure -- /var/log/maillog
-如果你希望監控其他檔案, 只需要在配置檔案ossec.conf中 新增新的一項. 任何關於配置的疑問您都可以在 http://www.ossec.net 找到答案.
--- 按 ENTER 以繼續 ---
5- 正在安裝系統 - 正在執行Makefile INFO: Little endian set. …………省略編譯輸出…………
系統型別是 Redhat Linux.
修改啟動指令碼使 OSSEC HIDS 在系統啟動時自動執行
已正確完成系統配置.
要啟動 OSSEC HIDS: /opt/ossec/bin/ossec-control start
要停止 OSSEC HIDS: /opt/ossec/bin/ossec-control stop
要檢視或修改系統配置,請編輯 /opt/ossec/etc/ossec.conf
感謝使用 OSSEC HIDS. 如果您有任何疑問,建議或您找到任何bug, [email protected] 或郵件列表 [email protected] 聯絡我們.
( http://www.ossec.net/en/mailing_lists.html ).您可以在 http://www.ossec.net 獲得更多資訊
--- 請按 ENTER 結束安裝 (下面可能有更多資訊). ---
直到碰到上面內容,說明安裝完成。
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
Adding a new agent (use '\q' to return to the main menu). Please provide the following:
- A name for the new agent: ossec-agent
- The IP Address of the new agent: 192.168.100.104
- An ID for the new agent[001]: Agent information: ID:001 Name:ossec-agent IP Address:192.168.100.104
Confirm adding it?(y/n): y Agent added.
然後程式會重新進入到第一次的介面,如下,我們匯出剛才新增的那個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]) 發郵件.
- 系統型別: Linux ossec-agent 2.6.18-164.el5
- 使用者: root
主機: ossec-agent
-- 按 ENTER 繼續或 Ctrl-C 退出. --
1- 您希望哪一種安裝 (server, agent, local or help)? agent
- 選擇了 Agent(client) 型別的安裝.
2- 正在初始化安裝環境.
請選擇 OSSEC HIDS 的安裝路徑 [/var/ossec]: /opt/ossec
- OSSEC HIDS 將安裝在 /opt/ossec .
3- 正在配置 OSSEC HIDS.
3.1- 請輸入 OSSEC HIDS 伺服器的IP地址或主機名: 192.168.100.103
新增伺服器IP 192.168.100.103
3.2- 您希望執行系統完整性檢測模組嗎? (y/n) [y]:
系統完整性檢測模組將被部署.
3.3- 您希望執行 rootkit檢測嗎? (y/n) [y]:
rootkit檢測將被部署.
3.4 - 您希望開啟聯動(active response)功能嗎? (y/n) [y]:
3.5- 設定配置檔案以分析一下日誌: -- /var/log/messages -- /var/log/secure -- /var/log/xferlog -- /var/log/maillog -- /var/log/httpd/error_log (apache log) -- /var/log/httpd/access_log (apache log)
-如果你希望監控其他檔案, 只需要在配置檔案ossec.conf中 新增新的一項. 任何關於配置的疑問您都可以在 http://www.ossec.net 找到答案.
--- 按 ENTER 以繼續 ---
5- 正在安裝系統 - 正在執行Makefile INFO: Little endian set.
…………省略編譯輸出…………
- 系統型別是 Redhat Linux.
修改啟動指令碼使 OSSEC HIDS 在系統啟動時自動執行
已正確完成系統配置.
要啟動 OSSEC HIDS: /opt/ossec/bin/ossec-control start
要停止 OSSEC HIDS: /opt/ossec/bin/ossec-control stop
要檢視或修改系統配置,請編輯 /opt/ossec/etc/ossec.conf
感謝使用 OSSEC HIDS. 如果您有任何疑問,建議或您找到任何bug, [email protected] 或郵件列表 [email protected] 聯絡我們.
( http://www.ossec.net/en/mailing_lists.html ).您可以在 http://www.ossec.net 獲得更多資訊
--- 請按 ENTER 結束安裝 (下面可能有更多資訊). ---
您必須首先將該代理新增到伺服器端以使他們能夠相互通訊. 這樣做了以後,您可以執行'manage_agents'工具匯入 伺服器端產生的認證密匙. /opt/ossec/bin/manage_agents
詳細資訊請參考: http://www.ossec.net/en/manual.html#ma
配置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
- 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): 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/ 
最後
上面是整個安裝和配置步驟,要想讓ossec發揮更大的作用,還需要針對實際的環境進行配置修改和規則的調整和編寫。在以後的我們會更多關注OSSEC在實際應用中的經驗。
相關文章
- kitten 學習教程(一) 學習筆記2021-04-11筆記
- 小白學習Vue(一)Vue教程2020-09-25Vue
- 小白學習Golang(一)Go語言教程2020-09-18Golang
- Mysql學習教程2018-11-12MySql
- 學習react教程2019-01-14React
- PG 學習教程2024-01-15
- 學習Shell 教程2019-11-03
- Gradle 教程學習2019-06-24Gradle
- gitee 教程學習2024-08-03Gitee
- 教程:JS學習2020-12-20JS
- (一)《SQL進階教程》學習記錄--CASE2021-11-07SQL
- 最全SpringBoot學習教程,程式設計師必學之一2021-09-24Spring Boot程式設計師
- 入門教程的一些學習體會2018-03-29
- python菜鳥教程學習1:背景性學習2020-11-15Python
- 物聯網學習教程—檔案的讀寫一2019-08-27
- 物聯網學習教程——一維陣列的引用2019-09-04陣列
- Nestjs入門學習教程2021-02-09JS
- odoo ORM API學習總結兼orm學習教程2023-03-11OdooORMAPI
- MLFlow機器學習管理平臺入門教程一覽2018-12-26機器學習
- 學習Python快速教程 尾聲2018-08-15Python
- Linux學習教程-Linux下命令的一些異常情況2019-11-06Linux
- Linux雲端計算學習教程,一個全新的世界—Linux2019-07-02Linux
- 學Python需要學資料庫嗎?Python學習教程!2021-04-06Python資料庫
- Golang 學習——interface 介面學習(一)2020-05-05Golang
- ES5基礎學習教程2018-10-12
- 物聯網學習教程——if語句2019-09-09
- Python基礎教程該如何學習?2020-01-14Python
- 菜鳥教程python 學習進度2020-10-13Python
- [譯] TensorFlow 教程 #08 – 遷移學習2019-03-04遷移學習
- 快應用學習教程-入門2018-03-23
- gtest學習教程(從0到1)2022-12-15
- iOS-零基礎學習OpenGL-ES入門教程(一)2018-07-04iOS
- go語言從新手到就業,學習路徑圖!(附帶學習教程),一步到位!2019-09-14Go就業
- OSSEC服務端配置客戶端批次部署方案2020-08-19服務端客戶端
- 物聯網學習教程—c++學習應該注意的點2019-08-21C++
- 【深度學習】大牛的《深度學習》筆記,Deep Learning速成教程2018-04-07深度學習筆記
- 深度學習與CV教程(8) | 常見深度學習框架介紹2022-06-03深度學習框架
- 【Linux學習教程】學Linux到底是學的什麼?2021-11-11Linux