全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)...

 

 

  不多说,直接上干货!

 

 

前言

  写在前面的话,网上能够找到一些关于ossec方面的资料,虽然很少,但是总比没有强,不过在实际的使用过程中还是会碰到许多稀奇古怪的问题。整理整理我的使用过程,就当做一篇笔记吧。

  PS:本文填了很多坑。

  OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。它支持多种操作系统:Linux、Windows、MacOS、Solaris、HP-UX、AIX。属于企业安全之利器。

 

  详细的介绍和文档可以参考官网网站:

         http://www.ossec.net/

 

 

 

环境

  本文中的环境极其简单,一台CentOS 6 / 7的虚拟机。另一台是Windows7 / 8 / 10的虚拟机(当然你可以直接是你的实体电脑)

  如果你是虚拟机里的windows的话,则在设置固定ip时,可以参考http://www.doc88.com/p-6922037281299.html (给Windows虚拟机配置固定IP)。

 

 

  关于CentOS6 / 7的安装,这里不多赘述。

CentOS 6.5的安装详解

CentOS 7的安装详解

 

 

  服务端:

  计算机名:ossec-server
  IP地址:192.168.80.31

  客户端:

  计算机名:ossec-agent
  IP地址:192.168.80.32

 

 

 

  第一步 : 前提环境准备(在ossec-server端)

  首先我们安装需要用到的关联库和软件,由于我们最终是需要把日志导入到MySQL中进行分析,以及需要通过web程序对报警结果进行展示,同时需要把本机当做SMTP,所以需要在本机安装MySQL、Apache和sendmail服务。在当前的终端中执行如下命令:

[root@ossec-server ~] yum install wget gcc make mysql mysql-server mysql-devel httpd php php-mysql sendmail

 

  

  启动httpd、mysql、sendmail服务

[root@ossec-server ~] /etc/init.d/httpd start
[root@ossec-server ~] /etc/init.d/mysqld start
[root@ossec-server ~] /etc/init.d/sendmail start

  

  或者如下这样来启动,也是可以的:

[root@ossec-server ~] for i in {httpd,mysqld,sendmail}; do service $i restart; done

 

  

  下面创建数据库以方便我们下面的安装配置,连接到本机的MySQL,然后执行如下命令:

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

 

  大概的环境已经准备的差不多了。

  上述语句的意思是新增一个用户ossec密码为空,让他只可以在localhost上登录,并可以对数据库ossec的所有表进行插入、查询、修改、插入、删除的操作

 

 

 

  第二步 : 服务器ossec-server安装

  首先通过官网的链接下载当前的最新稳定版本ossec-hids-2.8.1.tar.gz 的服务端包,同时解压。

[root@ossec-server ~] # wget http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz
[root@ossec-server ~] # tar zxf ossec-hids-2.8.1.tar.gz
[root@ossec-server ~] # cd ossec-hids-2.8.1

    

 

  为了使OSSEC支持MySQL,需要在安装前执行make setdb命令,如下

[root@ossec-server ~] # cd src; make setdb; cd ..

 

 

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

Info: Compiled with MySQL support.

 

   下面进入安装步骤,执行install.sh脚本,同时按照下面的信息进行填写,红色部分是我们需要输入的,其余部分按回车继续即可:

复制代码
[root@ossec-server  ossec-hids-2.8.1]# ./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 编译器.
  如果您有任何疑问或建议,请给发邮件.

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

  • 选择了 Server 类型的安装.

  2- 正在初始化安装环境.

  请选择 OSSEC HIDS 的安装路径 [/var/ossec]:  /var/ossec

  • OSSEC HIDS 将安装在 /var/ossec .

  

  3- 正在配置 OSSEC HIDS.

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

    请输入您的 e-mail 地址?  ****@***.com

  这里,我是输入我自己的163邮箱。大家自行去选择

  • 我们找到您的 SMTP 服务器为: alt1.gmail-smtp-in.l.google.com.
  • 您希望使用它吗? (y/n) [y]: n

  • 请输入您的 SMTP 服务器IP或主机名 ? 127.0.0.1

    3.2- 您希望运行系统完整性检测模块吗? (y/n) [y]: y

  • 系统完整性检测模块将被部署.

    3.3- 您希望运行 rootkit检测吗? (y/n) [y]: y

  • rootkit检测将被部署.

    3.4- 关联响应允许您在分析已接收事件的基础上执行一个
    已定义的命令.
    例如,你可以阻止某个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 (用空格进行分隔): 192.168.80.31

    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 找到答案.

    --- 按 ENTER 以继续 ---

5- 正在安装系统
- 正在运行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 结束安装 (下面可能有更多信息). ---

直到碰到上面内容,说明安装完成。

 

 

 

 

 

 

 

  第三步 : 服务器ossec-server配置

  上面只是安装好了OSSEC服务端,下面则是为了配置服务端,使其工作正常。执行下面命令启用数据库支持:

[root@ossec-server ossec-hids-2.8.1]# /var/ossec/bin/ossec-control enable database

 

  然后导入MySQL表结构到MySQL中:

[root@ossec-server ossec-hids-2.8.1]# mysql -uossec -p ossec < ./src/os_dbd/mysql.schema

 

  修改部分配置文件的权限,否则会启动服务失败:

[root@ossec-server ossec-hids-2.8.1]# chmod u+w /var/ossec/etc/ossec.conf

 

 

  然后我们编辑ossec.conf文件,在ossec_config中添加MySQL配置:

复制代码

    
        192.168.80.31
        ossec
        ossec
        ossec
        mysql
    
复制代码

 

 

  由于我们在前面的安装过程中支持接受远程机器的syslog,所以我们还需要对ossec.conf文件中的syslog部分进行配置,修改ossec.conf文件,按照下面的内容进行修改,把我们网段可以全添加进去:

  
    syslog
    192.168.0.0/16
  

 

 

  在实际的实验过程中启动ossec服务端必须先添加一个客户端,否则直接启动服务端是会失败的,通过如下命令查看日志会发现如下错误:

[[root@ossec-server logs]# 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.

 

 

  在服务器上添加客户端,执行如下命令,按照提示进行输入,红色部分是我们输入的

复制代码
[[root@ossec-server logs]# /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
      • The IP Address of the new agent: 192.168.80.32
      • An ID for the new agent[001]:  001
        Agent information:
        ID:001
        Name:ossec-agent
        IP Address:192.168.80.32

      Confirm adding it?(y/n): y
      Agent added.

  注意、需要将key记录到文本中,后面需要用到。

 

 

 

 

  然后程序会重新进入到第一次的界面,如下,我们导出刚才添加的那个agent的key,用于后面的客户端连接到服务端:

复制代码
****************************************
   * 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:

MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguODAuMzIgN2MyZTMyMzYwZTBhNTVmNDVhNTJlMTE5MjRjNjRiNjZjOTdhYjlmN2Q2MjVmYzY4MGFiZjNmZGJmOGIwY2JlMw

  ** Press ENTER to return to the main menu.

 

 

 

 

 

  到现在就可以启动我们的ossec服务端了。

[root@ossec-server ~] # /var/ossec/bin/ossec-control start

 

  或者执行

[root@ossec-server ~] # /etc/init.d/ossec start

 

 

 

 

 

 

 

 

  第四步 : 客户端ossec-agent安装和配置(Win下)

  这里我们配置的客户端是在windows上的,

 下载客户端exe: 

 https://bintray.com/artifact/download/ossec/ossec-hids/ossec-agent-win64-2.8.1.exe 

 或者

https://bintray.com/artifact/download/ossec/ossec-hids/ossec-agent-win32-2.8.1.exe 

   然后默认安装 
  注意:运行时要以管理员权限运行,即以Administrator运行 
  首先到安装目录下运行manage_agents.exe 
  输入你的服务器IP,我这里是:192.168.80.31 
  然后粘贴你复制下来的秘钥

  再运行win32ui.exe

 全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)..._第1张图片

 

 

 

 

  点击View config 
  在下面增加你的server ip ,上面有格式。保存关闭后 
  然后再在 

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)..._第2张图片

 

    中输入你的Server ip和 key(复制下来的秘钥),然后Save,运行。

 

 

 

 

 

  第五步 : 为ossec-server安装第三方的web界面(ossec-wui  或  analogi)

  上面我们安装了ossec的服务端,并且为ossec添加了一个客户端,非常简单的一个环境,环境是搭建好了,可是目前这个环境如果我们要分析ossec的报警信息就太麻烦了,所以我们安装第三方的 web界面用来显示报警信息。

复制代码
[root@ossec-server ~]# wget https://github.com/ECSC/analogi/archive/master.zip
[root@ossec-server ~]# unzip master
[root@ossec-server ~]# mv analogi-master/ /var/www/html/analogi
[root@ossec-server ~]# cd /var/www/html/
[root@ossec-serverhtml]# chown -R apache.apache analogi/
[root@ossec-server html]# cd analogi/
[root@ossec-server 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 配置,增加虚拟目录,

[root@ossec-server ~]# vim /etc/httpd/conf.d/analogi.conf

 

  添加如下内容

Alias /analogi /var/www/html/analogi

    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/16

 

 

 

  然后重新启动Apache

[root@ossec-server ~]# /etc/init.d/httpd restart

 

复制代码
[root@ossec-server html]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-03-06 05:47:09 CST; 23s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 3873 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 3878 (httpd)
   Status: "Total requests: 21; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─3878 /usr/sbin/httpd -DFOREGROUND
           ├─3880 /usr/sbin/httpd -DFOREGROUND
           ├─3881 /usr/sbin/httpd -DFOREGROUND
           ├─3882 /usr/sbin/httpd -DFOREGROUND
           ├─3883 /usr/sbin/httpd -DFOREGROUND
           ├─3884 /usr/sbin/httpd -DFOREGROUND
           └─3889 /usr/sbin/httpd -DFOREGROUND

Mar 06 05:47:08 ossec-server systemd[1]: Starting The Apache HTTP Server...
Mar 06 05:47:09 ossec-server httpd[3878]: AH00558: httpd: Could not reliably determin...ge
Mar 06 05:47:09 ossec-server systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@ossec-server html]# 
复制代码

 

   如果,你这里起不来,则就要把apche的问题解决就好了,很简单的。

 

 

 

  注意事项:如果访问http://192.168.80.31/analogi/时总是抛错403请尝试以下两种方法调试:

[root@localhost conf.d]# systemctl stop firewalld.service

[root@localhost httpd]# setenforce 0

  至此,OSSEC的安装与调试已全部结束。

 

 

 

  然后访问就可以了。

 

 

 

 

 

 

 

 

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)..._第3张图片

 

 

 

 

 

 

 

 

 

第七步 : 为ossec-server安装第三方的web界面(ossec-wui  )

 

 

 

https://github.com/ossec/ossec-wui/releases

 

 

 

 

 

 

 

 

 

 

 

 

 

 

复制代码
[root@ossec-server html]# pwd
/var/www/html
[root@ossec-server html]# ls
analogi  ossec-wui-0.9.zip
[root@ossec-server html]# unzip ossec-wui-master.zip
unzip:  cannot find or open ossec-wui-master.zip, ossec-wui-master.zip.zip or ossec-wui-master.zip.ZIP.
[root@ossec-server html]# ll
total 184
drwxr-xr-x 5 apache apache   4096 Mar  6 05:48 analogi
-rw-r--r-- 1 root   root   182791 Mar  6 10:40 ossec-wui-0.9.zip
[root@ossec-server html]# yum -y install unzip

[root@ossec-server html]# unzip ossec-wui-master.zip
复制代码

 

  如果你这里,也是这样的情况,则

linux下解压unzip报错“cannot find zipfile directory……”

http://www.vuln.cn/8532

 

 

 

  当然,你这里,也可以是tar.gz

 

 

 

 

 

 

 

 

 

 

 

 

[root@ossec-server html]# pwd
/var/www/html
[root@ossec-server html]# ls
analogi  ossec-wui-0.9.tar.gz
[root@ossec-server html]# tar -zxvf ossec-wui-0.9.tar.gz 

 

 

 

 

复制代码
[root@ossec-server html]# pwd
/var/www/html
[root@ossec-server html]# ls
analogi  ossec-wui-0.9  ossec-wui-0.9.tar.gz
[root@ossec-server html]# rm ossec-wui-0.9.tar.gz 
rm: remove regular file ‘ossec-wui-0.9.tar.gz’? y
[root@ossec-server html]# mv ossec-wui-0.9/ ossec
[root@ossec-server html]# ls
analogi  ossec
[root@ossec-server html]# cd ossec/
[root@ossec-server ossec]# ls
CONTRIB  htaccess_def.txt  index.php  lib      ossec_conf.php  README.search  site
css      img               js         LICENSE  README          setup.sh
[root@ossec-server ossec]# ./setup.sh 
Setting up ossec ui...

Username: ossec
New password: 
Re-type new password: 
Adding password for user ossec
Enter your web server user name (e.g. apache, www, nobody, www-data, ...)
apache
You must restart your web server after this setup is done.

Setup completed successfully.
[root@ossec-server ossec]# 
复制代码

 

 

   再

[root@ossec-server ossec]# vim /etc/httpd/conf.d/ossec.conf 

 

 

 保存退出。 
chown apache:apache * 
service httpd restart

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  最后

   上面是整个安装和配置步骤,要想让ossec发挥更大的作用,还需要针对实际的环境进行配置修改和规则的调整和编写。在以后的我们会更多关注OSSEC在实际应用中的经验。

  

 

 

   后续将进一步剖析Ossec入侵检测系统的规则、数据日志.....

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)..._第4张图片

 

 

 

 

 

 

 

 

欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑
 
 
 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

 

      对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(php,数据库,大数据)