怎么快速搭建ELK+OpenWAF环境

本篇内容介绍了“怎么快速搭建 ELK + OpenWAF 环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联是专业的淮上网站建设公司,淮上接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行淮上网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

OpenWAF简介

OpenWAF是第一个全方位开源的Web应用防护系统(WAF),他基于nginx_lua API分析HTTP请求信息。OpenWAF由行为分析引擎和规则引擎两大功能引擎构成。其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。

规则引擎的启发来自modsecurity及lua-resty-waf,将ModSecurity的规则机制用lua实现。基于规则引擎可以进行协议规范,自动工具,注入攻击,跨站攻击,信息泄露,异常请求等安全防护,支持动态添加规则,及时修补漏洞。

行为分析引擎包含基于频率的模糊识别,防恶意爬虫,人机识别等防探测模块,防CSRF,防CC,防提权,文件上传防护等防攻击模块,cookie防篡改,防盗链,自定义响应头,攻击响应页面等防信息泄露模块。

除了两大引擎之外,还包含统计,日志,攻击响应页面,接入规则等基础模块。除了已有的功能模块,OpenWAF还支持动态修改配置, 动态添加第三方模块,使得在不重启引擎中断业务的条件下,升级防护。

OpenWAF支持将上述功能封装为策略,不同的web application应用不同的策略来防护。将来还会打造云平台,策略还可分享供他人参考。

ELK简介

ELK是三个不同工具的简称,组合使用可以完成各种日志分析

Elasticsearch: 是一个基于 Apache Lucene(TM) 的开源搜索引擎,简单点说就是用于建立索引并存储日志的工具

Logstash: 是一个应用程序,它可以对日志的传输、过滤、管理和搜索提供支持。我们一般用它来统一对应用程序日志进行收集管理,提供Web接口用于查询和统计

Kibana: 用于更友好的展示分析日志的web平台,简单点说就是有图有真相,可以在上面生成各种各样的图表更直观的显示日志分析的成果

安装

ELK 的安装,网上有很多,这里只描述 docker 方式的部署

Elasticsearch

  1. 拉取 elasticsearch docker 镜像

    docker pull elasticsearch
  1. 启动 elasticsearch 容器

    docker run -d --name openwaf_es elasticsearch
  1. 获取 openwaf_es 地址

    docker inspect openwaf_es | grep IPAddress  
    得到地址为:192.168.39.17
    
    PS: elasticsearch 服务端口为 9200

Logstash

  1. 拉取 logstash docker 镜像

    docker pull logstash
  1. 启动 logstash 容器

    docker run -it --name openwaf_logstash -v /root/logstash.conf:/usr/share/logstash/config/logstash.conf logstash -f /usr/share/logstash/config/logstash.conf
PS:
    /root/logstash.conf 文件内容如下:
    udp {                  # udp 服务配置
        port => 60099      # 表示日志服务器监听在 60099 端口
        codec => "json"    # 接收 json 格式信息
    }
    output {
        elasticsearch {
            hosts => ["192.168.39.17:9200"] # elasticsearch 的地址为 39.17,且端口为 9200
        }
    }
    上面的配置表示:openwaf 向 logstash 的 60099 端口,发送 udp 协议的 json 日志,然后 logstash 将其存入 Elasticsearch
  1. 获取 openwaf_logstash 地址

    docker inspect openwaf_logstash | grep IPAddress  
    得到地址为:192.168.39.18

Kibana

  1. 拉取 kibana docker 镜像

    docker pull kibana
  1. 启动 logstash 容器

    docker run -d --name openwaf_kibana -e ELASTICSEARCH_URL=http://192.168.39.17:9200 kibana
  1. 获取 openwaf_kibana 地址

    docker inspect openwaf_kibana | grep IPAddress  
    得到地址为:192.168.39.19
    
    PS: kibana 服务端口为 5601

OpenWAF配置

conf/twaf_default_conf.json 中 twaf_log 模块

    "twaf_log": {
        "sock_type":"udp",
        "content_type":"JSON",
        "host":"192.168.39.18",
        "port":60099,
        ...
    }

“怎么快速搭建 ELK + OpenWAF 环境”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前标题:怎么快速搭建ELK+OpenWAF环境
网站地址:http://scyanting.com/article/jjoidj.html