如何使用Kibana的副仪表板板与可视化功能

如何用ELK和Wazuh搭建 PCI-DSS(支付卡行业安全标准) -
| 关注黑客与极客
如何用ELK和Wazuh搭建 PCI-DSS(支付卡行业安全标准)
共254230人围观
,发现 3 个不明物体
支付卡行业数据安全标准(PCI-DSS)是一种常见的IT行业的规范,主要用于电子信用卡业务例如Visa信用卡和万事达卡。该标准的建立是为了增加对持卡人数据的控制,减少信用卡的欺骗事件。
PCI-DSS主要有二十多条规定(PDF链接:)以及以下专门针对日志管理提出的要求:
跟踪和监视所有访问网络资源和持卡人数据。日志机制和跟踪用户活动的能力可以大大预防危险事件的发生,检测并且将数据的影响降到最小化。日志中发现威胁信息的时候要告警并且分析。没有系统的活动日志的话,确定一个威胁的原因是非常困难的。
本篇文章中,我们将向大家介绍如何用ELK(Elasticsearch, Logstash, Kibana)日志管理平台搭建搭建一个符合标准的PCI标准仪表盘。
为了方便部署,我们选择使用Logz.io-hosted ELK-as-a-Service(链接:),不过要说明的是,以下所有的搭建方案都可以直接用ELK搭建。在文章末尾还有其他两种附加的方法代替ELK。分别是:使用OSSEC Docker镜像和Logstask。
部署OSSEC Wazuh
OSSEC是一个可扩展的,可移植的开源入侵检测系统(HIDS)。OSSEC负责给PCI-DSS提供的服务包括日志分析,文件完整性检查,监控策略,入侵检测,实时报警和及时响应。日常情况下,该系统作为日志分析工具,实时监控并分析网络的活跃情况,服务器和用户身份认证。OSSEC是由两部分组成,一个是中央管理部分(manager),用于接收并监控传入的日志数据; 另一个是采集器(agents)用于采集数据,并将信息发送给中央管理器(manager)。
Wazuh为OSSEC的日志管理平台集成开发了一个模块。为了使OSSEC入侵检测系统可以支持ELK,我们将用Wazuh HIDS模块(模块地址:
接下来,我们将使用两台机器,一台作为管理节点(manager),另一台用来做简单的采集节点(agent)。当然,如果只是为了测试下功能,大家也可以把这两部分集中装在同一台服务器上。
OSSEC是一个跨平台系统,为了简单起见,我们直接选择用Ubuntu Servers。
好的,我们可以开始了。
首先,我们从Github上下载OSSEC Wazuh并且安装开发工具和编译器(链接地址:
Ubuntu命令如下,先安装git:
sudo apt-get update
sudo apt-get install gcc make git
以下的命令是从Github上下载并安装:
mkdir wazuh_ossec && cd wazuh_ossec
git clone /wazuh/ossec-wazuh.git
cd wazuh-_ossec&
sudo ./install.sh
如下图,是Wazuh HIDS安装的截图。这个时候我们想要安装中央管理器,就直接安装提示输入server值。
接下来,我们需要设置其他需要的服务。其中包括email通知服务和文件完整性检测服务,该服务可以检测服务器上的文件,计算出检验和,实时记录下文件的变化信息。这一步可以有效的检测到系统中的未授权文件修改。(PCI要求 # 11.5 )
安装完成后,你就可以用以下命令启动OSSEC管理器:
sudo /var/ossec/bin/ossec-control start
以下命令可以检测整个系统是否正常运行:
$ ps aux | grep ossec
& & root & &
&0.1 & ? & & & &S & &23:01 & 0:00 /var/ossec/bin/ossec-execd
& & ossec & & &0.4 &2 ? & & & &S & &23:01 & 0:00 /var/ossec/bin/ossec-analysisd
& & root & &
&0.1 &31604 & 1624 ? & & & &S & &23:01 & 0:00 /var/ossec/bin/ossec-logcollector
& & root & &
&0.1 &7380 & 2732 ? & & & &S & &23:01 & 0:00 /var/ossec/bin/ossec-syscheckd
& & ossec & & &0.1 &18312 & 1708 ? & & & &S & &23:01 & 0:00 /var/ossec/bin/ossec-monitord
& & $ sudo lsof /var/ossec/logs/alerts/alerts.json
& & COMMAND & & PID &USER & FD & TYPE DEVICE SIZE/OFF & NODE NAME
& & Ossec-ana & &1021 & &ossec & &11w & &REG & &252,1 & & & &7388 & &402765 & &/var/ossec/logs/alerts/alerts.json
& & $ sudo cat /var/ossec/logs/alerts/alerts.json
& & {“rule”: {“level”: 3, “comment”: “Login session opened.”, “sidid”: 5501, “firedtimes”: 2, “groups”: [“pam”, “syslog”, “authentication_success”], “PCI_DSS”:[“10.2.5”]....}}
接下来这部分是在我们的第二台机器上安装采集节点(agent)。Ubuntu Server系统的话(这里用的是Wily版本的,其他的版本可以查看这个链接:),可以直接用一下命令添加Ubuntu的源:
echo -e "deb /repos/apt/ubuntu wily main" && /etc/apt/sources.list.d/ossec.list
添加完成后,更新并且用apt-get命令安装OSSEC agent :
&$ apt-get update&
$ apt-get install ossec-hids-agent
安装过程中,采集器会提示输入管理节点的IP地址,输入管理器的IP地址或者直接用127.0.0.1即可。
接下来,通过以下命令,在你的OSSEC管理服务器上配置管理器和采集器:
$ sudo /var/ossec/bin/manage_agents
选择“A”来添加一个采集器:
&(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
然后你需要输入采集器A的名字,IP地址和ID。
在我们的情况中,我们输入agent-001(如果你的ID是空的,系统将会为你自动生成)。
第二步我们需要取出这个采集器的密钥,因为我们需要用这个密钥来从采集器上导数据。现在,我们输入“E”,然后输入采集器的ID。
注意:配置文件/var/ossec/etc/ossec.conf包含了部分客户端,如果你是第一次启动,可以直接输入管理器的IP地址:
&ossec_config&
& & & &client&
& & & & &server-ip&MANAGER_IP_ADDRESS&/server-ip&
& & & &/client&
在采集节点上,运行程序/var/ossec/bin/manage_agents,选择“I”导入刚刚的密钥(这个我们要用来做监听):& &&
(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 FROM SERVER&
& & Agent information:
& & & &ID:&ID&
& & & &Name:&agent name&
& & & &IP Address:&agent IP address&
Confirm adding it?(y/n): y
这样的话,你的采集节点就添加上了,使用如下命令重启节点:
$ /var/ossec/bin/ossec-control restart
在Wazuh中集成ELK
现在你已经安装了Wazuh,下一步我们需要将他整合进ELK中,通过Logz.io可以直接整合(地址:)。如果你没有Logz.io账号,你可以在这里免费注册(地址:。
S3数据同步与配对
要将Wazuh的数据导入到Logz.io的ELK中,我们需要使用亚马逊简单存储服务(Amazon S3)。使用S3提供的空间同步OSSEC文件夹包括你的日志文件(本次例子中,我们成这个为ossec-logs),然后建立起从S3到Logz.io的一个数据流管道。
首先使用AWS客户端同步命令把OSSEC服务器上的所有信息拷贝并更新到S3存储器中。在OSSEC的管理服务器上,我们运行以下命令:
$ aws s3 sync /var/ossec/logs/alerts/ s3://ossec-logs/$(date +"%Y-%m-%d-%H")
其中,命令中的$(date + “%Y-%m-%d-%H)部分用于对S3上的日志进行汇总,可以将每个小时的日志都存放在一起。
然后我们构建从S3到Logz.io的数据流,选择在Logz.io仪表盘顶部的Log Shipping选项,打开Log Shipping页面右边菜单的AWS选项,点击S3 Bucket选项。
如上图所示,输入要访问的S3存储空间的名字和S3的访问密钥,Logz.io就会将我们所有的添加的分组都导入到存储器中。
接下来,选择存储器所在的区域。最后一步,选择其他的日志类型,并输入json格式。保存一下就完成了。这样的话,我们就准备好了S3到ELK的数据流。
创建一个支持PCI标准的接口
现在,我们可以在Kidana上分析我们的日志了。接下来我们需要根据PCI标准建立一个可视化仪表盘,可以动态显示这些数据,并且预测数据的趋势。
根据我们的例子,我们准备创建一个折线图来分析PCI标准。
打开Kibana的可视化选项面板,选择则线图可视化选项。把折线图的X轴配置成总时间,用rule.PCI_DSS 字段作为Field值,如下图:
点击预览按钮看些效果,如下图:
这是一个Wazuh数据存入Elasticsearch后的可视化的效果。我们创建了一个符合PCI标准的可视化仪表盘,其中包含该了好几个符合PCI的可视化图,这些都是可以用ELK画出来的。
接下来要按着仪表盘,可以在ELK界面的应用选项卡中查找“PCI Compliance”。然后点击安装按钮即可。
使用Wazuh的PCI仪表盘
Wazuh提供了一个更简单的方式把PCI仪表盘添加到Kibana中。
在Kibana的设置面板中,点击Import按钮加载仪表盘。选择要导入的文件,然后刷新Kibana页面,就能看到我们导入的仪表盘了:
现在,你就可以返回仪表盘部分,选择符合的PCI仪表盘,如下图:
AWS上的PCI-DSS仪表盘
亚马逊的基础设施其实已经符合PCI-DSS,但你还是需要实时监控你的环境,找出配置错误和可能存在的漏洞。这样的话,你就需要把你的日志和网络活动发送出来。在本节,我们将会介绍如何创建一些告警以及建立一个可视化仪表盘。
现实环境中,建议安装一个漏洞扫描器。例如,rootsh和Snort都可以防止入侵,让你能监控到整个网络的数据流量以及黑客的攻击信息。
在本例中,我们将通过监控CloudTrail或者VPC Flow的日志中的一些特殊事件实现一个自动报警功能。我们将会创建两类的告警:一类是使用CloudTrail的日志检测AWS终端的登录信息,检测多次登录失败的信息;另一类是使用VPC流量日志检测连接端口。
第一个告警满足PCI-DSS规范中的#10条规定:“跟踪和监视所有访问网络资源和持卡人数据”。这里是,从CloudTrail中跟踪登录失败的用户。
通过 responseElements.ConsoleLogin:”Failure” 查询语句,查询出所有登录失败的记录:
接下来的告警是标记出于PCI要求1、5两条符合的。本例中,我们通过检测VPC连接端口。如下图:
接下来,我们创建好了几个由登录失败、漏洞和用户变更日志构成的图,我们把这些东西展示在同一个面板上,得到如下图:
我们希望这篇文章能在PCI-DSS的实施上帮助到大家,以下是一些要解释的地方。
Logz.io是一个基于云的用于建立趋势模型的日志管理平台,是基于开源平台ELK Stack搭建起来了,这个链接你可以免费的使用这个软件:
另外,还可以有一些其他的比较好的方案:
附加方法1:使用OSSEC Docker
另一种代替Wazuh和ELK的方案是使用OSSEC Docker镜像。
Essec-elk容器里面包含了OSSEC管理器和ELK stack
运行以下命令,开启ossec-elk容器:
$ docker run -d -p
-p /udp -p
-p 514:514/udp -p
-v ~/mnt/ossec:/var/ossec/data --name ossec wazuh/ossec-elk
&把目录/var/ossec/data配置成容器的交换空间,这样可以防止数据丢失。
接下来和文章开头提到的步骤一样,安装manage_agent,安装完后,输入以下命令添加节点:
$ docker exec -it ossec /var/ossec/bin/manage_agent
添加完后,用以下命令重启OSSEC管理节点:
$ docker exec -it ossec /var/ossec/bin/ossec-control restart
管理节点和采集节点都准备好后,我们通过以下URL访问Kibana:
首先需要选择索引。只要我们在索引框中直接输入我们需要的索引的名字,Kibana就会自动连接上我们需要的索引,选择“Use event times to create index names” 选项,然后在索引间隔中选择Daily选项(如下图)。索引名字这一项我们可以设置为[ossec-]YYYY.MM.DD
在Time-field name选项中,Kibana会默认的选择@timestamp,点Create创建就行了。
回到Discover选项中,可以发现已经导入数据了:
附加方法2:使用Logstash
最后,还有一种方式可以将Wazuh数据导入到我们自己的Logz.io的ELK Stack中,就是使用Logstash。
首先,我们需要在OSSEC管理服务器上安装Logstash,然后配置Logstash将日志信息导入到Logz.io中。如下图,我们需要使用mutate过滤插件来添加字段:
最后,建立Logstash配置文件,将OSSEC告警信息导入到Logz.io,配置如下:
& & & file {
& & & & type =& "ossec-alerts"
& & & & path =& "/var/ossec/logs/alerts/alerts.json"
& & & & codec =& "json"
& & filter {
& & & & geoip {
& & & & & source =& "srcip"
& & & & & target =& "geoip"
& & & & & database =& "/etc/logstash/GeoLiteCity.dat"
& & & & & add_field =& [ "[geoip][location]", "%{[geoip][longitude]}" ]
& & & & & add_field =& [ "[geoip][location]", "%{[geoip][latitude]}" &]
& & & & date {
& & & & & & match =& ["timestamp", "YYYY MMM dd HH:mm:ss"]
& & & & & & target =& "@timestamp"
& & & & mutate {
& & & & & convert =& [ "[geoip][location]", "float"]
& & & & & rename =& [ "hostname", "AgentName" ]
& & & & & rename =& [ "geoip", "GeoLocation" ]
& & & & & rename =& [ "file", "AlertsFile" ]
& & & & & rename =& [ "agentip", "AgentIP" ]
& & & & & rename =& [ "[rule][comment]", "[rule][description]" ]
& & & & & rename =& [ "[rule][level]", "[rule][AlertLevel]" ]
& & & & & remove_field =& [ "timestamp" ]
& & & & & add_field =& { "token" =& &TOKEN& }
& & output {
& & & & host =& "listener.logz.io"
& & & & port =& 5050
& & & & codec =& json_lines
以上配置将会把日志信息从OSSEC告警文件中传入Logz.io服务中,并且把这些信息自动存储到Elasticsearch中,Wazuh建立的仪表盘也能实时查看到这些信息的变化。配置中最重要的部分是添加了一个token字段,如果没有这个字段,Logz.io会讲告警信息直接丢弃掉。
*参考来源:,FB小编东二门陈冠希编译,转载请注明来自FreeBuf黑客与极客()
我目前在用的是ossec+splunk,很好用,通过splunk进行图表展示,还可以通过splunk管理ossec客户端
这家伙太懒了,还未填写个人描述!
文章内容还不错,但是这个标题起的真心不行。。。。真是无力吐槽!
必须您当前尚未登录。
必须(保密)
再看我就把你吃掉!
关注我们 分享每日精选文章Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。
Elasticsearch无缝之集成
Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。
整合你的数据
Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。
复杂数据分析
Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
让更多团队成员受益
强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
接口灵活,分享更容易
使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
Kibana的配置和启用非常简单,用户体验非常友好。Kibana 4自带Web服务器,可以快速启动运行。
可视化多数据源
Kibana可以非常方便地把来自、、或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括、等。
简单数据导出
Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。
与Elasticsearch REST API实现可视化交互
Sense是一个可视化终端,通过Kibana插件支持自动补全、自动缩进和语法检查功能。提升了与Elasticsearch API交互的体验,安装。
Elasticsearch master
Kibana二进制文件
Kibana 4.5.0
Kibana 4.5.0兼容Elasticsearch 2.3.x。可以通过 apt 或 yum安装。详细步骤可参阅。
喜欢尝鲜的朋友可以使用下面的快照版本。每次提交master分支后会自动构建最新的快照版本,不推荐在产品中使用。
在UNIX上运行 bin/kibana 或者 在Windows上运行 bin\kibana.bat
将自定义配置从旧的 kibana.yml 文件中迁移到新版本
重新安装插件
启动或重启Kibana
安装完毕并启动服务,Kibana运行在5601端口,在浏览器中输入 。
第一个页面会要求配置索引模式(index pattern)。索引模式告诉Kibana如何访问你的数据。我们猜想你可能需要处理日志数据,希望你使用Logstash(功能强大)处理日志。我们会默认填入 logstash-* 作为索引模式,因此只需要指定哪个字段包含了时间戳(timestamp)就可以了。Kibana会读取Elasticsearch映射来找到时间字段,从列表中选取一个字段点击Create。
恭喜你!现在索引模式创建成功了!现在你应该会看到所有索引的分页列表和一些相关的信息数据。Kibana会自动将该索引模式设置为默认模式。想要了解更多索引模式,可以查看。
配置完索引模式后,点击页面上方导航栏的Discover按钮,可以转到页面开始搜索了。
kibana基于发布。
打赏支持我整理更多优质资源,谢谢!
打赏支持我整理更多优质资源,谢谢!
任选一种支付方式
资源整理者简介:
可能感兴趣的文章
按分类快速查找
关于资源导航
伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
关于资源导航
伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。
新浪微博:
推荐微信号
(加好友请注明来意)
- 好的话题、有启发的回复、值得信赖的圈子
- 分享和发现有价值的内容与观点
- 为IT单身男女服务的征婚传播平台
- 优秀的工具资源导航
- 翻译传播优秀的外文文章
- 国内外的精选博客文章
- UI,网页,交互和用户体验
- 专注iOS技术分享
- 专注Android技术分享
- JavaScript, HTML5, CSS
- 专注Java技术分享
- 专注Python技术分享
& 2017 伯乐在线君,已阅读到文档的结尾了呢~~
kibana中文指南
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
kibana中文指南
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 redis可视化工具使用 的文章

 

随机推荐