ossec 2.8.3 多臺服務器最全搭建部署

ossec是一款開源的多平臺的入侵檢測系統,可以運行於Windows, Linux, OpenBSD/FreeBSD, 以及
MacOS等操作系統中。包括了日誌分析,全面檢測,root-kit檢測,政策監控,實時報警和積極響應。
下載地址:http://www.ossec.net/downloads/
原理:
在這裏插入圖片描述



ossec基本命令:

//啓動ossec
# /var/ossec/bin/ossec-control start
//重啓ossec
# /var/ossec/bin/ossec-control restart
//停止ossec
# /var/ossec/bin/ossec-control stop
//查看狀態信息
# /var/ossec/bin/agent_control -lc //連接信息
# /var/ossec/bin/list_agents -a //是否可找到
/var/ossec/bin/ossec-control status //啓動狀態

一、ossec-server端部署

1.禁止啓用SElinux

 
# vim /etc/selinux/config 

編輯/etc/selinux/config,找到SELINUX 行修改成爲:SELINUX=disabled

2.關閉SElinux

# setenforce 0

3.我們需要開啓80端口,CentOS 7.0默認使用的是firewall作爲防火牆,這裏我們把centos7的防火牆換成iptables 。關閉firewall:

//停止firewall
# systemctl stop firewalld.service  
//禁止firewall開機啓動 
# systemctl disable firewalld.service 

4.安裝iptables防火牆

//安裝
# yum install iptables-services
//編輯防火牆配置文件 
# vi /etc/sysconfig/iptables

原文件清空,複製粘貼保存:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 1514 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

因爲ossec通信是用udp 514,1514端口(可以用命令:# netstat -unlp|grep ossec 查看)所以加了下面這兩句 :
-A INPUT -m state –state NEW -m udp -p udp –dport 514 -j ACCEPT
-A INPUT -m state –state NEW -m udp -p udp –dport 1514 -j ACCEPT

5.開啓iptables:

//最後重啓防火牆使配置生效 
# systemctl restart iptables.service
//設置防火牆開機啓動
# systemctl enable iptables.service

6.安裝一些必要的工具

# yum install wget gcc make
(1) 使用郵件服務安裝:
# yum install sendmail

(2) 使用mysql服務安裝:
# yum install mysql mysql-server mysql-devel 
mysql-server安裝找不到的話,手動安裝如下:
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server

(3) 使用web服務安裝:
# yum install httpd php php-mysql

(4)httpd、mysql、sendmail啓動服務
	# /etc/init.d/httpd start
	# /etc/init.d/mysqld start
	# /etc/init.d/sendmail start
	或者
	# for i in {httpd,mysqld,sendmail}; do service $i restart; done

7.服務器ossec-server安裝

# wget https://bintray.com/artifact/download/ossec/ossec-hids/ossec-hids-2.8.3.tar.gz
# tar zxf ossec-hids-2.8.3.tar.gz
# cd ossec-hids-2.8.3/
#cd src/
//使其支持mysql數據庫
# make setdb 
//接下來提示:
Error: PostgreSQL client libraries notinstalled.
Info: Compiled with MySQL support. //ossec支持mysql數據庫
# cd ../
# ./install.sh

下面是安裝過程:
cn #選擇語言
Enter #繼續
Server #安裝爲server
/var/ossec #安裝目錄



** 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.8.1 安裝腳本 - http://www.ossec.ne
 
 您將開始 OSSEC HIDS 的安裝.
  請確認在您的機器上已經正確安裝了 C 編譯器.
  如果您有任何疑問或建議,請給發郵件.

 您希望哪一種安裝 (server, agent, local or help)? server 
選擇了 Server 類型的安裝.
  	正在初始化安裝環境.

 請選擇 OSSEC HIDS 的安裝路徑 [/var/ossec]:  /var/ossec

	OSSEC HIDS 將安裝在 /var/ossec .
   正在配置 OSSEC HIDS.

 您希望收到e-mail告警嗎? (y/n) [y]: y

   請輸入您的 e-mail 地址?  ****@***.com
   
	我們找到您的 SMTP 服務器爲: alt1.gmail-smtp-in.l.google.com.
  	您希望使用它嗎? (y/n) [y]: n
  	
  請輸入您的 SMTP 服務器IP或主機名 ? 127.0.0.1

 您希望運行系統完整性檢測模塊嗎? (y/n) [y]: y

	系統完整性檢測模塊將被部署.

 您希望運行 rootkit檢測嗎? (y/n) [y]: y

	rootkit檢測將被部署.
 	關聯響應允許您在分析已接收事件的基礎上執行一個已定義的命令.
 	例如,你可以阻止某個IP地址的訪問或禁止某個用戶的訪問權限.
 	更多的信息,您可以訪問:
 	http://www.ossec.net/en/manual.html#active-response
 您希望開啓聯動(active response)功能嗎? (y/n) [y]: y

	關聯響應已開啓
	默認情況下, 我們開啓了主機拒絕和防火牆拒絕兩種響應.
	第一種情況將添加一個主機到 /etc/hosts.deny.
	第二種情況將在iptables(linux)或ipfilter(Solaris,
	FreeBSD 或 NetBSD)中拒絕該主機的訪問.
	該功能可以用以阻止 SSHD 暴力攻擊, 端口掃描和其他
	一些形式的攻擊. 同樣你也可以將他們添加到其他地方,
	例如將他們添加爲 snort 的事件.

 您希望開啓防火牆聯動(firewall-drop)功能嗎? (y/n) [y]:  y

	防火牆聯動(firewall-drop)當事件級別 >= 6 時被啓動
	聯動功能默認的白名單是:8.8.8.8
	
 您希望添加更多的IP到白名單嗎? (y/n)? [n]:  y

	請輸入IP (用空格進行分隔): 10.10.10.96

 您希望接收遠程機器syslog嗎 (port 514 udp)? (y/n) [y]:  y

	遠程機器syslog將被接收.
 設置配置文件以分析一下日誌:
	-- /var/log/messages
	-- /var/log/secure
	-- /var/log/maillog

	-如果你希望監控其他文件, 只需要在配置文件ossec.conf中
	添加新的一項.
	任何關於配置的疑問您都可以在 http://www.ossec.net 找到答案.
 --- 按 ENTER 以繼續 ---
- 正在運行Makefile
INFO: Little endian set.
…………省略編譯輸出…………

系統類型是 Redhat Linux.

修改啓動腳本使 OSSEC HIDS 在系統啓動時自動運行

已正確完成系統配置.

要啓動 OSSEC HIDS:
/var/ossec/bin/ossec-control start

要停止 OSSEC HIDS:
/var/ossec/bin/ossec-control stop

要查看或修改系統配置,請編輯 /var/ossec/etc/ossec.conf

感謝使用 OSSEC HIDS.
如果您有任何疑問,建議或您找到任何bug,
[email protected] 或郵件列表 [email protected] 聯繫我們.
( http://www.ossec.net/en/mailing_lists.html ).

您可以在 http://www.ossec.net 獲得更多信息

--- 請按 ENTER 結束安裝 (下面可能有更多信息). ---

直到碰到上面內容,說明安裝完成
安裝完畢,下面我們來配置
使oosec支持mysql,並建立mysql表:

//執行下面命令啓用數據庫支持:
# /var/ossec/bin/ossec-control enable database
//啓動數據庫
# service mysqld start
# /usr/bin/mysql_secure_installation
# mysql -uroot -p
mysql> create database ossec;
mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec@localhost identified by 'ossec';
mysql> flush privileges;
mysql> \q
//導入MySQL表結構到MySQL中:
# mysql -uossec -p ossec < src/os_dbd/mysql.schema 
//Enter password:*****
//修改部分配置文件的權限,否則會啓動服務失敗:
# chmod u+w /var/ossec/etc/ossec.conf
# vi /usr/local/ossec/etc/ossec.conf//在最後添加
#添加MySQL配置:
<ossec_config>
    <database_output>
        <hostname>localhost</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>10.10.10.0/16</allowed-ips>
  </remote>

啓動ossec

# /var/ossec/bin/ossec-control start

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

# cat /var/ossec/logs/ossec.log

2018/03/5 23:43:15 ossec-analysisd(1210): ERROR: Queue '/queue/alerts/ar' not accessible: 'Connection refused'.
2018/03/5 23:43:15 ossec-analysisd(1301): ERROR: Unable to connect to active response queue.

二、ossec-server端添加agent客戶端

# /var/ossec/bin/manage_agents
****************************************
   * OSSEC HIDS v2.8.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: 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-66
The IP Address of the new agent: 10.10.10.66
An ID for the new agent[001]:  066
Agent information:
ID:066
Name:ossec-agent-66
IP Address:10.10.10.66
Confirm adding it?(y/n): y
Agent added.

****************************************
   * OSSEC HIDS v2.8.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: 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: 你的key
  
** Press ENTER to return to the main menu.

保存一下密鑰key

啓動ossec

# /var/ossec/bin/ossec-control start
//或者
# /etc/init.d/ossec start

三、客戶端ossec-agent安裝

# wget https://bintray.com/artifact/download/ossec/ossec-hids/ossec-hids-2.8.3.tar.gz
# tar zxf ossec-hids-2.8.3.tar.gz
# cd ossec-hids-2.8.3/
#  ./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.8.1 安裝腳本 - http://www.ossec.net

  您將開始 OSSEC HIDS 的安裝.
  請確認在您的機器上已經正確安裝了 C 編譯器.

  如果您有任何疑問或建議,請給發郵件.

		您希望哪一種安裝 (server, agent, local or help)?  agent
		
		選擇了 Agent(client) 類型的安裝.
	
		正在初始化安裝環境.
		
		請選擇 OSSEC HIDS 的安裝路徑 [/var/ossec]:  /var/ossec
	
		正在配置 OSSEC HIDS.
		
		請輸入 OSSEC HIDS 服務器的IP地址或主機名: 10.10.10.96
		
		您希望運行系統完整性檢測模塊嗎? (y/n) [y]: y
			系統完整性檢測模塊將被部署.
		
		您希望運行 rootkit檢測嗎? (y/n) [y]: y
			rootkit檢測將被部署.
		
		您希望開啓聯動(active response)功能嗎? (y/n) [y]: y
		
		設置配置文件以分析一下日誌:
			-- /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 以繼續 ---
- 正在運行Makefile
INFO: Little endian set.

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

系統類型是 Redhat Linux.
修改啓動腳本使 OSSEC HIDS 在系統啓動時自動運行

已正確完成系統配置.

要啓動 OSSEC HIDS:
/var/ossec/bin/ossec-control start

要停止 OSSEC HIDS:
/var/ossec/bin/ossec-control stop

要查看或修改系統配置,請編輯 /var/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-agent配置

其實配置ossec客戶端就是把剛纔由服務端生成的key,在客戶端中導入,執行如下命令:

# /var/ossec/bin/manage_agents
***************************************
* OSSEC HIDS v2.8.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):你的key

  Agent information:
  ID:066
  Name:ossec-agent-66
  IP Address: 10.10.10.66

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

最後啓動ossec-agent客戶端

# /var/ossec/bin/ossec-control start
//或者
# /etc/init.d/ossec start

ossec收集的日誌在 /var/ossec/logs/alerts/alerts.log
在這裏插入圖片描述
OSSEC的alerts.log日誌文件分析例子

** Alert 1469594165.3684: - windows,
2016 Jul 27 12:36:05 (agent2) 192.168.1.0->WinEvtLog
Rule: 18149 (level 3) -> 'Windows User Logoff.'
User: lenovo
2016 Jul 26 21:57:29 WinEvtLog: Security:  
AUDIT_SUCCESS(4647): Microsoft-Windows-Security-  
Auditing: lenovo: lenovo-pc: lenovo-pc: User initiated  
logoff: Subject:  Security ID:   
S-1-5-21-253721302-2314373899-4153707874-1001  Account  
Name:  lenovo  Account Domain:  lenovo-pc  Logon ID:   
0xa0522ec  This event is generated when a logoff is  
initiated but the token reference count is not zero 
and the logon session cannot be destroyed.  No further
user-initiated activity can occur.  This event can be 
interpreted as a logoff event.

日誌格式爲:

**Alert xxxxxxxxxx.xxxx: - windows(來源)
事件產生的時間  事件產生的位置
Rule(規則):xxxxx(level x)[事件等級]->事件概述  
User(用戶):xxx  
日誌記錄時間        安全事件(事件ID):
事件來源:用戶:計算機:事件描述  
使用者:
安全ID:           賬戶名: 
賬戶域:              登陸ID:
事件描述:  

之後可以安裝第三方的web界面,我不需要所有沒試,可以找資料裝一下,例如爲ossec-server安裝第三方的web界面(analogi)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章