taibeihacker
Moderator
一、前言
OSSEC是一款開源的基於主機的入侵檢測系統,可以簡稱為HIDS。它具備日誌分析,文件完整性檢查,策略監控,rootkit檢測,實時報警以及聯動響應等功能。它支持多種操作系統:Linux、Windows、MacOS、Solaris、HP-UX、AIX。屬於企業安全之利器。S/C運行模式,類似於zabbix
ossec支持3種日誌, Alert logging, firewall logging and event (archiving) logging
server開通udp514(rsyslog),udp1514(ossec-remoted)端口監聽,client會把實時狀態數據發給server
集成fail2ban,iptables過濾,錯誤日誌分析
詳細的介紹和文檔可以參考官網網站:http://www.ossec.net/
二、系统环境
服務端:計算機名:ossec-server
IP地址:172.16.91.130
OS: centos7.0
客戶端1:
計算機名: agent-linux
IP地址:172.16.91.131
OS:ubunut14.04
客戶端2:
計算機名: agent-win7
IP地址:172.16.91.143
OS:win7x86
三、ossec服务器端安装
Yum源的安装和配置
1、進入到centos下yum文件夾[root@localhost]# cd /etc/yum.repos.d/

2、用wget下載repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,說明還沒有安裝wget工具,輸入yum -y install wget回車進行安裝。當前目錄是/etc/yum.repos.d/,剛剛下載的Centos-7.repo也在這個目錄上
[root@localhost]# yum -y install wget
[root@localhost]#
wget http://mirrors.aliyun.com/repo/Centos-7.repo


3、備份系統原來的repo文件
[root@localhost]# mv CentOS-Base.repoCentOS-Base.bak.repo
#即是重命名CentOs-Base.repo - CentOs-Base.repo.bak

4、替換系統原來的repo文件
mv Centos-7.repo CentOs-Base.repo
#即是重命名Centos-7.repo - CentOs-Base.repo
[root@localhost]# mv Centos-7.repo CentOS-Base.repo

5、執行yum源更新命令
[root@localhost]#
yum clean all
[root@localhost]#
yum makecache
[root@localhost]#
yum update


关闭防火墙
[root@localhost~]# cat /etc/selinux/config
#
This file controls the state of SELinux on the system.
#
SELINUX=can take one of these three values:
# enforcing - SELinux security policy is
enforced.
# permissive - SELinux prints warnings
instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
#
SELINUXTYPE=can take one of three two values:
# targeted - Targeted processes are
protected,
# minimum - Modification of targeted policy.
Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
Mysql的安装和配置
1.下載mysql的yum源的rpm包[root@localhost
~]#
wgethttp://repo.mysql.com/mysql57-community-release-el7.rpm
2.安裝rpm文件,通過命令安裝MySQL的YUM源:
[root@localhost
~]# rpm -ivh mysql57-community-release-el7.rpm
3.YUM安裝MySQL以及lib插件
[root@localhost
~]# yum install -y mysql-server
[root@localhost
~]#yum -y install mariadb-server mariadb mariadb-devel
4.啟動MySQL
[root@localhost
~]# systemctl start mysqld

5.設置開機啟動:
[root@localhost
~]#systemctl enable mysqld

6.獲取mysql的臨時密碼信息
[root@localhost
~]#grep 'temporary password' /var/log/mysqld.log

[root@localhost
~]# mysql -uroot –p
mysql
set global validate_password_policy=0;
mysqlset
global validate_password_length=1;

8.設置允許root賬號登陸
mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

7.授權其他機器登陸

8.添加mysql中用戶oseec具有插入,增加,刪除等權限
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

9、創建數據庫以方便我們下面的安裝配置,連接到本機的MySQ
[root@localhost
~]# mysql -uroot -p
mysql
create database ossec;

安装管理库以及sedmail和php软件
1.首先我們安裝需要用到的關聯庫和軟件,由於我們最終是需要把日誌導入到MySQL中進行分析,以及需要通過web程序對報警結果進行展示,同時需要把本機當做SMTP,所以需要在本機安裝MySQL、Apache和sendmail服務。在當前的終端中執行如下命令[root@localhost
~]# yum install wget gcc make httpd php php-mysql sendmail

2.啟動httpd服務並查看狀態以及設置隨機啟動
[root@localhost
~]# systemctl start httpd #啟動httpd服務
[root@localhost
~]# systemctl status httpd.service #查看httpd服務器
[root@localhost
~]#systemctl enable httpd #設置開機啟動

3.啟動sendmail服務並查看狀態以及設置隨機啟動
[root@localhost
~]# systemctl start sendmail.service #設置啟動sedmail
[root@localhost
~]# systemctl status sendmail.service #查看sedmail狀態
[root@localhost
~]# systemctl enable sendmail.service #設置開機啟動

ossec服务器端安装和配置
1.通過wget下載ossec安裝包[root@localhost
~]#
wget https://bintray.com/artifact/download/ossec/ossec-hids/ossec-hids-2.8.3.tar.gz
2.進入到ossec安裝目錄
[root@localhost ~]# cd ossec-hids-2.9.3/
3.為了使OSSEC支持MySQL,需要在安裝前執行make setdb命令,如下
[root@localhost
~]# cd src
[root@localhost
~]# make setdb
看到如下的信息說明可以正常支持MySQL:
Info:
Compiled with MySQL support.
4.安裝ossec服務端
[root@localhost
ossec-hids-2.8.3]# ./install.sh
which: no host in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/usr/local/jdk1.7.0_09//bin:/root/bin)
** 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].
** Для инструкций по установке на русском
,введите [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
which: no host in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/usr/local/jdk1.7.0_09//bin:/root/bin)
OSSEC HIDS v2.7.1 安裝腳本- http://www.ossec.net
您將開始OSSEC HIDS 的安裝.
請確認在您的機器上已經正確安裝了C 編譯器.
如果您有任何疑問或建議,請給[email protected] (或[email protected]) 發郵件.
- 系統類型: Linux ossec-server.com 2.6.32-431.el6.x86_64
- 用戶: root
- 主機: ossec-server.com
-- 按ENTER 繼續或Ctrl-C 退出.
--
1- 您希望哪一種安裝(server, agent, local or help)?
server
- 選擇了Server 類型的安裝.
2- 正在初始化安裝環境.
- 請選擇OSSEC HIDS 的安裝路徑[/usr/local/ossec]: /usr/local/ossec
- OSSEC HIDS 將安裝在/usr/local/ossec .
3- 正在配置OSSEC HIDS.
3.1- 您希望收到e-mail告警嗎? (y/n) [y]: y
- 請輸入您的e-mail 地址? [email protected]
- 請輸入您的SMTP 服務器IP或主機名? 127.0.0.1
3.2- 您希望運行系統完整性檢測模塊嗎? (y/n) [y]: y
- 系統完整性檢測模塊將被部署.
3.3- 您希望運行rootkit檢測嗎? (y/n) [y]: y
- rootkit檢測將被部署.
3.4- 關聯響應允許您在分析已接收事件的基礎上執行一個
已定義的命令.
例如,你可以阻止某個IP地址的訪問或禁止某個用戶的訪問權限.
更多的信息,您可以訪問:
- 您希望開啟聯動(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 時被啟動
- 聯動功能默認的白名單是:
-
172.16.91.130 #ossec服務端IP
- 您希望添加更多的IP到白名單嗎? (y/n)? [n]: n
3.5- 您希望接收遠程機器syslog嗎(port 514 udp)? (y/n) [y]: y
- 遠程機器syslog將被接收.
3.6- 設置配置文件以分析一下日誌:
-- /var/log/messages
-- /var/log/secure
-- /var/log/maillog
-如果你希望監控其他文件, 只需要在配置文件ossec.conf中
添加新的一項.
任何關於配置的疑問您都可以在http://www.ossec.net 找到答案.
5.為了配置服務端,使其工作正常,執行下面命令啟用數據庫支持
[root@localhost
ossec-hids-2.8.3]# /var/ossec/bin/ossec-control enable database
6.導入MySQL表結構到MySQL中
[root@localhost
ossec-hids-2.8.3]#
mysql
-uossec -p ossec src/os_dbd/mysql.schema
7.修改配置文件的權限,否則會啟動服務失敗
[root@localhost
etc]# chmod u+w/var/ossec/etc/ossec.conf
8.編輯ossec.conf文件,在ossec_config中添加MySQL配置
database_output
hostnamelocalhost/hostname
usernameossec/username
passwordossec/password
databaseossec/database
typemysql/type
/database_output
9.由於服務端安裝過程中設置了支持接受遠程機器的syslog,所以需要對ossec.conf文件中的 syslog部分進行配置,修改ossec.conf文件,將需要收集的網段全添加進去。
remote
connectionsyslog/connect