ossec入侵检测日志行为分析

上次说写的ossec连载,不幸因为工作太忙夭折了,最近缓过神来决定补上第2篇,言归正传,ossec的功能主要是为了防御及抓坏人,但因为攻防之间本来就信息不对称所以防守方需要能早知道攻击者的行为,这点有很多案例来证明,我们能不能不安装ossec客户端的情况下来对攻击者攻击的入侵行为捕获呢,这也有利于我们对攻击者的行为有进一步的了解,我比较擅长linux,于是这里还以linux安全为主,对于网络边界来说ssh绝对是保护的重点。

关于ossec的安装,这里就不在赘述,可以看看官方文档,ossec支持2种模式,第一种是安装ossec客户端,这种在大公司未必适用因为种种原因,还有一种是利用syslog来传输安全日志,我这里主要说的是这个,相信很多人对syslog比较熟,ossec本身对日志的传输也是通过syslog来完成。本着知其然然其所以然的态度,我们要做一件事,就需要3个步骤:what?how?do?,要收集日志,当然要知道收集这些能做哪些咯,下边来看日志收集的作用,最重要的是如何根据日志进行入侵行为分析。

日志的作用:

1、从安全方面来考虑主要是为了能够在出现问题时或出现安全问题后可以查询到日志,来追溯攻击者;
2、从运维层面来说,收集系统日志对于sa处理各种故障来说,可以提供很大便利性,另外可以方便运维排除故障及解决问题;
3、起到备份作用,需要对日志安全日志进行保存,避免因为黑客入侵导致的日志丢失;

如何做?

1、配置ossec server:

ossec自身支持syslog功能,在/var/ossec/etc/ossec.conf里可以配置,另外还可以配置允许访问的网段地址,首先配置本机支持syslog,把ossec-remoted开启。

<syslog_output>     
    <server>192.168.1.14</server>
    <port>514</port>
</syslog_output>

然后配置syslog允许连接到的ip地址网段,如下所示:

<remote>
  <connection>syslog</connection>
  <allowed-ips>192.168.1.1/24</allowed-ips>
</remote>

然后重启ossec,这个时候可以tail -f /var/ossec/log/ossec.log查看配置文件有无报错,如报错则无法启动ossec服务,如图已经启动。

2、配置syslog client:

客户端配置不需要很复杂,只需要配置基本的syslog策略即可,syslog本身是udp协议,可能会出现丢日志的现象,但实际使用上暂未发现,配置如下:

auth,authpriv.*    @192.168.1.14

,这句的意思是允许把安全日志传输到远程ossec sever,做安全暂时只关心安全日志。

3、接入syslog:

通过syslog将日志传输到ossec server上,通过/var/ossec/logs/ossec.log,检查到ossec已经允许接受来自192.168.1.*的syslog配置。

2013/12/25 9:11:52 ossec-remoted: Remote syslog allowed from:&#039;192.168.1.1/24&#039;;

4、触发报警:

要报警需要触发到ossec的规则,比如ssh登录异常,登录异常需要3次来触发,首先配置ossec的规则为:

<alerts>    
   <log_alert_level>10</log_alert_level>
   <email_alert_level>7</email_alert_level>
</alerts>

上边xml的意思是level = 10的日志如果触发规则,则报警,已经配置好了syslog的话,那如何来触发报警呢?见5.

5、测试报警:

a.通过登录已经接入ossec 的服务器192.168.1.*的机器;

b.随便输入几次密码;

c.操作完成可以看到已触发报警,这里需要说明下,ossec内配置的smtp需要认证的话,是不能通过认证的,所有我们可以通过把邮件先发送到gmail,然后gmail内设置过滤器来转发到你所在的邮箱;

这里是我之前测试的邮件,所以打码了,如图:

到这里就完成了发送邮件,但是为什么会触发呢?我个人觉得做技术需要对其原理也深挖下,这样才能融会贯通,于是看了下官方文档和google相关内容,通过自己的了解总结了ossec对日志分析的3点:

1、日志预解码:
目的,从日志中提取一般的信息。
例如,从系统日志头中获取主机名,程序名和时间等等。
条件,日志必须格式良好。
2、日志解码:日志解码是利用正则表达式匹配出某些关键字,包括主机名、来源ip、日志信息等;
3、日志分析:日志分析主要是拿这些解码后的日志去匹配ossec decoder.xml中的规则,如果匹配则会触发,如上边是sshd的日志触发,是触发了这些规则:

用一个图来表示就是这样的:

总结:

这里就实现了syslog传输日志的需求,其实难点不在这里传输而是在分析,对于中小企业来说,自己写入侵检测规则过于麻烦,这时候能有ossec rules来帮助我们完成这部分繁杂的工作,何乐而不为?

最后分享一句话某个前辈的话,“安全这个东西就是这样的,你遇到的我没遇到过,我遇到的你可能也没有遇到过,其实只要一说,大家就都明白了。 ” 希望此文对你有帮助,谢谢!

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2013-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网研发闲思录

实时监控系统设计

  随着系统业务复杂度的提升,系统复杂度提升,需要对整个系统的功能、性能、可用性,以及服务、 web、webservice、网页等等多个角度进行监控。     ...

87250
来自专栏aoho求索

consul配置与实战

上一篇提到,项目用的分布式服务发现与注册组件是consul,这篇文章主要来讲下consul组件在项目中的应用以及相关介绍。本文以官方文档为主要参考consul文...

89450
来自专栏优启梦

使用Referer Meta标签控制referer 来源

本文描述了一个关于 http 协议中 referer 的 metadata 参数的提议,使用这个 metadata 参数,html 文档可以控制 http 请求...

30550
来自专栏编程

Python的黑客技能:快速提取Windows密码和Wi-Fi密钥凭证!

LaZagne比较适合黑客和安全管理员,可以在Linux,Windows和MacOS上运行,而且几乎适用于每一个目标。Lazagne是后期开发模块,包含在远程访...

50270
来自专栏Dawnzhang的开发者手册

VMWare14 安装Mac OS系统(图解)

②. 网上的镜像文件有的可能不是 .cdr 格式,比如我之前安装的是 .pkg 格式报的蓝屏启动界面,此处以 .cdr 文件为操作指导。

2K20
来自专栏Albert陈凯

2018-10-14 Chrome 不自动填写密码了 autofill not work

我照着这个里面的方案试验了一次 https://www.v2ex.com/t/255542

12630
来自专栏一名叫大蕉的程序员

企业神奇中间件-RPC(总览) No.97

13810
来自专栏python学习之旅

loadrunner笔记(三):设置、运行场景和生成测试报告

17240
来自专栏架构师之路

无线APP日志上报优化实践

昨天,和大家讨论了无线APP时代如何进行DNS速度优化,今天和大家一起讨论一下无线时代的日志上报流量优化。 缘起:无线时代,APP流量敏感,为了统计APP内用户...

638160
来自专栏大前端开发

从编程小白到全栈开发:从最容易的开始

学习编程,重要的一点就是要进行思考,而更重要的一点是进行动手实践。简单的代码逻辑,我们可能想想就能在脑子里建立出这个代码的样子来,但是别以为你能永远这样人肉运行...

10330

扫码关注云+社区

领取腾讯云代金券