首页 文章 精选 留言 我的

精选列表

搜索[MaaS平台],共10000篇文章
优秀的个人博客,低调大师

企业安全建设之搭建开源SIEM平台(上)

前言 SIEM(security information and event management),顾名思义就是针对安全信息和事件的管理系统,针对大多数企业是不便宜的安全系统,本文结合作者的经验介绍下如何使用开源软件搭建企业的SIEM系统,数据深度分析在下篇。 SIEM的发展 对比Gartner2009年和2016年的全球SIEM厂商排名,可以清楚看出,基于大数据架构的厂商Splunk迅速崛起,传统四强依托完整的安全产品线和成熟市场渠道,依然占据领导者象限,其他较小的厂商逐渐离开领导者象限。最重要的存储架构也由盘柜(可选)+商业数据库逐渐转变为可横向扩展的大数据架构,支持云环境也成为趋势。 开源SIEM领域,比较典型的就是ossim和Opensoc,ossim存储架构是mysql,支持多种日志格式,包括鼎鼎大名的Snort、Nmap、 Nessus以及Ntop等,对于数据规模不大的情况是个不错的选择,新版界面很酷炫。 完整的SIEM至少会包括以下功能: 漏洞管理 资产发现 入侵检测 行为分析 日志存储、检索 报警管理 酷炫报表 其中最核心的我认为是入侵检测、行为分析和日志存储检索,本文重点集中讨论支撑上面三个功能的技术架构。 Opensoc简介 Opensoc是思科2014年在BroCon大会上公布的开源项目,但是没有真正开源其源代码,只是发布了其技术框架。我们参考了Opensoc发布的架构,结合公司实际落地了一套方案。Opensoc完全基于开源的大数据框架kafka、storm、spark和es等,天生具有强大的横向扩展能力,本文重点讲解的也是基于Opensoc的siem搭建。 上图是Opensoc给出的框架,初次看非常费解,我们以数据存储与数据处理两个纬度来细化,以常见的linux服务器ssh登录日志搜集为例。 后记 如何在离线数据中,通过行为分析和攻击建模识别出深入的入侵行为呢?请看下篇。 来自:http://www.freebuf.com/special/127172.html 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6437329.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

详解logstash+elasticsearch+kibana快速搭建日志平台

本文出自 “story的天空” 博客,请务必保留此出处http://storysky.blog.51cto.com/628458/1158707 Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。 kibana 也是一个开源和免费的工具,他可以帮助您汇总、分析和搜索重要数据日志并提供友好的web界面。他可以为 Logstash 和 ElasticSearch 提供的日志分析的 Web 界面 说到这里,我们看看 kibana 和 logstash到底能为我们做些什么呢?下面是kibana的界面 简单来讲他具体的工作流程就是 logstash agent 监控并过滤日志,将过滤后的日志内容发给redis(这里的redis只处理队列不做存储),logstash index将日志收集在一起交给 全文搜索服务ElasticSearch 可以用ElasticSearch进行自定义搜索 通过Kibana 来结合 自定义搜索进行页面展示,下图是 Kibana官网上的流程图 好了 让我们一步步的把这套环境搭建起来吧,先看看都需要安装什么软件包ruby 运行Kibana 必须, rubygems 安装ruby扩展必须 bundler 功能类似于yum JDK 运行java程序必须 redis 用来处理日志队列 logstash 收集、过滤日志 ElasticSearch 全文搜索服务(logstash集成了一个) kibana 页面展示 这里有三台服务器192.168.233.128 logstash index,ElasticSearch,kibana,JDK 192.168.233.129 logstash agent,JDK 192.168.233.130 redis 首先到 logstash index服务器上面,logstash分为 index和aget ,agent负责监控、过滤日志,index负责收集日志并将日志交给ElasticSearch 做搜索 此外 logstash 的收集方式分为 standalone 和 centralized。 standalone 是所有功能都在一个服务器上面,自发自收,centralized 就是集中收集,一台服务器接收所有shipper(个人理解就是logstash agent)的日志。 其实 logstash本身不分 什么 shipper 和 collector ,只不过就是配置文件不同而已,我们这次按照集中的方式来测试 在 logstash index上安装基础的软件环境 [192.168.233.128root@nodec:~]#cd/soft/[192.168.233.128root@nodec:/soft]#wgethttp://down1.chinaunix.net/distfiles/jdk-6u13-dlj-linux-i586.bin从oracle下载实在是太慢了,从CU下载会快一些,如果需要最新版本请访问这里http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html[192.168.233.128root@nodec:/soft]#shjdk-6u13-dlj-linux-i586.bin输入yes便开始安装了安装完成后设置一下JAVA_HOME[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#vim/etc/profileexportJAVA_HOME=/usr/javaexportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH安装ruby就比较简单了(Kibana需要ruby1.8.7以上版本)[192.168.233.128root@nodec:/soft]#yuminstallrubyrubygems.....安装内容省略安装完成后用rubygems来安装bundler[192.168.233.128root@nodec:/soft]#/usr/bin/geminstallbundler.....ok这样基本的环境就已经有了,下面就是安装kibana和logstash其实logstash就是一个java脚本,不需要安装...下载即用[192.168.233.128root@nodec:/soft]#wgethttp://logstash.objects.dreamhost.com/release/logstash-1.1.0-monolithic.jar现在看看这个脚本应该怎么去执行[192.168.233.128root@nodec:/soft]#java-jar/soft/logstash-1.1.0-monolithic.jar-hNosuchcommand"-h"Availablecommands:-v-V--versionagentwebtest显然没有-h参数,不过列出了能用的参数,但是logstash的参数可不止这些,java-jar/soft/logstash-1.1.0-monolithic.jaragent--help这些是在agent模式下的命令参数-f,--configCONFIGFILELoadthelogstashconfigfromaspecificfile,directory,orawildcard.Ifgivenadirectoryorwildcard,configfileswillbereadinorderlexigraphically.-eCONFIGSTRINGUsethegivenstringastheconfigurationdata.Samesyntaxastheconfigfile.Ifnotinputisspecified,'stdin{type=>stdin}'isdefault.Ifnooutputisspecified,'stdout{debug=>true}}'isdefault.-w,--filterworksCOUNTRunCOUNTfilterworkers(default:1)--watchdog-timeoutTIMEOUTSetwatchdogtimeoutvalue.-l,--logFILELogtoagivenpath.Defaultistologtostdout-vIncreaseverbosity.Therearemultiplelevelsofverbosityavailablewith'-vv'currentlybeingthehighest--pluginpathPLUGIN_PATHAcolon-delimtedpathtofindotherlogstashpluginsinjava-jar/soft/logstash-1.1.0-monolithic.jarweb--help下面的是在web界面的参数--logFILELogtoagivenpath.Defaultisstdout.--addressADDRESSAddressonwhichtostartwebserver.Defaultis0.0.0.0.--portPORTPortonwhichtostartwebserver.Defaultis9292.-B,--elasticsearch-bind-hostADDRESSAddressonwhichtobindelasticsearchnode.-b,--backendURLThebackendURLtouse.Defaultiselasticsearch:///(assumesmulticastdiscovery).Youcanspecifyelasticsearch://[host][:port]/[clustername]如果上面的这些命令都能执行正常的话就表示logstash可以使用了,但要让他启动还需要一个配置文件 [192.168.233.128root@nodec:/soft]#vimredis.confinput{redis{host=>'192.168.233.130'data_type=>'list'port=>"6379"key=>'logstash:redis'type=>'redis-input'}}output{elasticsearch{embedded=>true}} 解释一下logstash的配置文件由inputfilteroutput等几个基本的部分组成,顾名思义input就是在那收集数据,output就是输出到哪,filter代表一个过滤规则意思是什么内容 会被收集。 上面这段是让logstash去192.168.233.130这个redis服务器上去收集日志redis端口为6379,key是logstash:redis类型为redis-input,(注意:这几个值必须跟logstashagent的 output所对应),收集完成后输出到elasticsearch,embedded=>true的意思是使用logstash内嵌的elasticsearch。如果有独立的elasticsearch服务器,需要将这条改为 host=>'elasticsearch的ip'port=>端口 好了,这个简单的配置文件可以让logstash开始启动了 [192.168.233.128root@nodec:/soft]#java-jar/soft/logstash-1.1.0-monolithic.jaragent-f/soft/redis.conf--web--backendelasticsearch:///?local&[1]5205...这里要等待约5秒钟...为什么?去问开发者吧[192.168.233.128root@nodec:/soft]#I,[2013-03-19T03:23:10.749000#5205]INFO--:Usingbetaplugin'redis'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status{"timestamp":"2013-03-19T03:23:10.732000-0700","message":"Usingbetaplugin'redis'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status","level":"info"}file:/soft/logstash-1.1.0-monolithic.jar!/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53warning:alreadyinitializedconstantWFKV_Mizuno0.5.0(Jetty8.0.y.z-SNAPSHOT)listeningon0.0.0.0:9292解释一下上面的命令agent代理模式-f指定配置文件--web其实是个分隔符等于又启动了一个命令,后面的参数就是开启一个web页面默认端口是9292,这个命令如果拆成两个就是这个样子java-jar/soft/logstash-1.1.0-monolithic.jaragent-f/soft/redis.conf&java-jar/soft/logstash-1.1.0-monolithic.jarweb--backendelasticsearch:///?local&(其实如果用kibana来做web界面的话这一步完全可以省掉了) 好了,看到9292端口启动就代表启动成功了,检查一下 [192.168.233.128root@nodec:/soft]#lsof-i:9292COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEjava5205root465uIPv4130805TCP*:armtechdaemon(LISTEN)其实logstash还启动了一个端口9200,因为启动了内嵌的elasticsearch,这个9200是elasticsearch在监听[192.168.233.128root@nodec:/soft]#lsof-i:9200COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEjava5205root160uIPv4130682TCP*:wap-wsp(LISTEN) 现在可以通过浏览器访问一下http://192.168.233.128:9292看看logstash是的页面是个什么样子 现在还不能搜索因为现在还没有数据,其实这个时候 http://192.168.233.128:9200 也是可以访问的, 很多开发自己写代码来调用elasticsearch 来实现他们自己的需要,这里就不多说了 192.168.233.128 这台logstash index的操作暂时告一段落,下面开始配置logstash的agent 登录到 服务器 192.168.233.129 安装基本软件包和logstash [192.168.233.129root@noded:~]#cd/soft/[192.168.233.129root@noded:/soft]#wgethttp://down1.chinaunix.net/distfiles/jdk-6u13-dlj-linux-i586.bin[192.168.233.129root@noded:/soft]#shjdk-6u13-dlj-linux-i586.bin设置JAVA_HOME[192.168.233.129root@noded:/soft]#vim/etc/profileexportJAVA_HOME=/usr/javaexportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH[192.168.233.129root@noded:/soft]#yuminstallruby192.168.233.129root@noded:/soft]#wgethttp://logstash.objects.dreamhost.com/release/logstash-1.1.0-monolithic.jar[192.168.233.129root@noded:/soft]#vimredis.confinput{file{type=>"producer"path=>"/soft/apache.log"}file{type=>"php-log"path=>"/soft/php.log"}}filter{grep{match=>["@message","mysql|GET|error"]}}output{redis{host=>'192.168.233.130'data_type=>'list'key=>'logstash:redis'}} 大概说一下这个配置文件 input 里的file就是要监视的文件了 这里我监视了两个文件,如果这两个文件有追加的内容就会通过下面的output设置发给 redis服务器 filter 里的grep 意思就是 grep... 后面这段就是 日志内容里面只要有匹配mysql或GET或error的内容就会被过滤出来,发送到 logstash index 以上就是一个比较简单的配置文件了,让我们启动他 [192.168.233.129root@noded:/soft]#java-jar/soft/logstash-1.1.0-monolithic.jaragent-f/soft/redis.conf&I,[2013-03-19T19:45:35.762000#2721]INFO--:Usingbetaplugin'file'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status{"timestamp":"2013-03-19T19:45:35.752000-0700","message":"Usingbetaplugin'file'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status","level":"info"}I,[2013-03-19T19:45:35.778000#2721]INFO--:Usingbetaplugin'file'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status{"timestamp":"2013-03-19T19:45:35.778000-0700","message":"Usingbetaplugin'file'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status","level":"info"}I,[2013-03-19T19:45:35.804000#2721]INFO--:Usingbetaplugin'grep'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status{"timestamp":"2013-03-19T19:45:35.803000-0700","message":"Usingbetaplugin'grep'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status","level":"info"}I,[2013-03-19T19:45:35.854000#2721]INFO--:Usingbetaplugin'redis'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status{"timestamp":"2013-03-19T19:45:35.853000-0700","message":"Usingbetaplugin'redis'.Formoreinformationaboutpluginstatuses,seehttp://logstash.net/docs/1.1.0/plugin-status","level":"info"} 只要没有 warning 和 error就算是正常启动了 启动之前请确定 192.168.233.130的 redis服务器已经启动,不然会报错下面登录到 192.168.233.130 上看看 redis服务的状态 [192.168.233.130root@nodea:/data/redis/etc]#lsof-i:6379COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEredis-ser2732root4uIPv47946TCP*:6379(LISTEN)redis-ser2732root5uIPv47963TCPlocalhost.localdomain:6379->localhost.localdomain:19214(ESTABLISHED)java2733root9uIPv47959TCPlocalhost.localdomain:19214->localhost.localdomain:6379(ESTABLISHED)状态正常,端口处于监听状态,我用的是最简单的配置,[192.168.233.130root@nodea:/data/redis/etc]#vimredis.conf#thisistheconfigfileforredispidfile/var/run/redis.pidport6379timeout0loglevelverboselogfile/data/redis/log/redis.logdbfilenamedump.rdbdir/data/redis/db/vm-swap-file/tmp/redis.swapactiverehashingyes启动命令如下[192.168.233.130root@nodea:/data/redis/etc]#redis-server/data/redis/etc/redis.conf& 下载安装就比较简单了 [192.168.233.130root@nodea:/soft]#wgethttp://redis.googlecode.com/files/redis-2.4.14.tar.gz[192.168.233.130root@nodea:/data/redis/etc]#make–j24[192.168.233.130root@nodea:/data/redis/etc]#makeinstall 配置文件里的那几个路径要提前建好 最后我们回到 logstash agent 上面测试一下 [192.168.233.129root@noded:/soft]#echoGET12313>>apache.log[192.168.233.129root@noded:/soft]#echoerrorabcd>>apache.log ok 到 http://192.168.233.128:9292 去搜索一下 刚才的两个内容 嗯,就是这样了,我现在找个php的错误日志给他追加到php.log文件里 [192.168.233.129 root@noded:/soft] # cat php-error.log >> php.log 在看看 logstash的页面 搜索一下 error OK,最后就是 Kibana了 ,我把Kibana装在了 logstash index上面 下载地址为 http://kibana.org/intro.html [192.168.233.128root@nodec:/soft]#tarxfKibana-0.2.0.tar.gz[192.168.233.128root@nodec:/soft]#cdKibana-0.2.0[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#bundleinstall直接安装就好了,非常简单,因为之前咱们已经安装好了bundle编辑配置文件,指定elasticsearch的位置[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#vimKibanaConfig.rb.....Elasticsearch="localhost:9200"KibanaPort=5601KibanaHost='0.0.0.0'.....主要是这几个参数启动的话需要ruby[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#/usr/bin/rubykibana.rb&[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#==Sinatra/1.3.5hastakenthestageon5601fordevelopmentwithbackupfromThin>>Thinwebserver(v1.5.0codenameKnife)>>Maximumconnectionssetto1024>>Listeningon0.0.0.0:5601,CTRL+Ctostop如果ruby的东西都不缺的话,启动会很顺利,ok现在看看5601端口的状态[192.168.233.128root@nodec:/soft/Kibana-0.2.0]#lsof-i:5601COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEruby3116root5uIPv428947TCP*:esmagent(LISTEN) 访问一下 试试看 http://192.168.233.128:5601 尝试搜索一下php的错误日志,比如mysql 要的就是这个效果,日志会实时的汇总到 logstash index 上供我们查询,当然这只是开始使用logstash的第一步而已,更多的高级功能可以看看官方文档http://logstash.net/docs/1.1.9/ 据说还可以跟nagios,rsyslog结合. 本文转自 wdy198622 51CTO博客,原文链接:http://blog.51cto.com/weimouren/1716357

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册