Giter Site home page Giter Site logo

w3a_soc's Introduction

W3A SOC

基于应用网络监控、Web、系统日志审计一体化的平台。

主要特性

  • 日志分析: 基于kafka+GoLang的方式,对采集的Web和系统应用日志进行攻击行为的分析。
  • 篡改监控: 基于Golang开发的页面篡改监控。
  • 业务连续性监控: 基于网络的业务连续性监控服务,确定业务是否有中断。
  • 告警整合: 实现钉钉、企业微信的联动告警机制。
  • 部署支持:docker-compose、Kubernetes。
  • 整体架构:基于 Filebeat(采集/清洗) + Kafka(汇聚) + ElasticSearch(检索)
  • 技术实现:后端基于Java,前端基于Vue,数据库基于MYSQL。

目标

  • 满足等保二级、三级的需求,直接部署就能用那种。
  • 让客户少花钱,然后也能用,不串联到业务中,对业务0影响。
  • 部署简单,一键部署,或者直接随着元豚科技生态自动部署。

关键能力细节

Web日志分析

  • 通过Logstash/filebeat采集日志到ES上。
  • Golang通过开放平台,获取规则信息针对Kafka的日志进行实时分析。
  • 将存在问题的部分直接存到平台里,平台只存落地的攻击日志、记录分析日志数。
  • 攻击源IP地址分析,结合IP来源进行分析。
  • 输出可以用于封禁的API接口,查可封禁的IP。

存活监控/篡改监控告警

  • 针对提交的IP进行检测,看是否存活,可以分布式,持续的监测。
  • 针对目标进行篡改监控。

问题告警

  • 针对出现的问题,统一告警输出。
  • 支持钉钉、企业微信。

部署文档

非容器化部署(针对虚拟机、云服务器部署)

清单

  • 后端:backend(w3a-dashboard-service-v1.jar, w3a-openapi-service-v1.jar)
  • 工具端:tools(w3a-soc-agent [日志审计])
  • 前端:frontend (dist)
  • 自备JavaJDK环境、Nginx、Kafka、Elasticsearch、Redis
  • 针对Java端两个服务部署参考:(守护进程自己解决哈)
    java -Dspring.datasource.url="jdbc:mysql://[mysql的地址]:[端口]/w3a_soc?characterEncoding=utf-8&useSSL=false" \
        -Dspring.datasource.username=[数据库账号] \
        -Dspring.datasource.password=[数据库密码] \
        -Dspring.redis.host=[redis的地址] \
        -Dspring.redis.port=[redis端口] \
        -jar w3a-dashboard-service-v1.jar
  • 针对工具端:(topic取决于你的采集器、kafka地址、端口自己部署配置,守护进程自己解决哈)
➜  w3a-soc-agent ./bin/w3a-soc-agent -h
Usage of ./bin/w3a-soc-agent:
  -A string
        日志归一的kafka的地址:端口,可以多个,以','分割,默认: kafka:9092 (default "kafka:9092")
  -T string
        日志归一的kafka的Topic名称,默认: weblogs (default "weblogs")

容器化部署(针对ECS、CVM、本地、云主机等,docker-compose方式)

步骤

  • 我都写好了,不需要你做啥,直接一键部署启动就行。
  • 建议自己开台虚拟机,然后安装好docker-compose就行,其它不用干别的。
  • 尽量不要乱动,我更新的时候会修改里面的镜像版本,每次你pull完代码之后,重新docker-compose起来的时候,都是用的最新的镜像。
  cd deploy/docker-compose/simple/
  docker-compose up -d

K8S部署(针对容器集群)

步骤

  • 我都写好了,不需要你做啥,直接一键部署启动就行。
  • 或者直接把Yaml贴到集群配置导入就行。
   kubectl create -f deploy/kubernetes/

DEMO

应用管理界面:(新版,以应用作为中心)

Run example

大盘主界面:

Run example

规则管理主界面:

Run example

Web访问日志界面:

Run example

攻击详情页面:

RUN

备注

  • 一直以来都有人问我到底还是否继续更新迭代,不断有人加我,还给我鼓励,时隔六年,沉淀积累之后,准备再做一套新的,可以持续更新维护的版本。
  • 这个产品会并入「元豚科技」下,有需要可以使用「元豚科技」的部署产品,给元豚的客户提供价值。
  • 诸位发现问题请直接提交issue,如果有定制化需求,麻烦支持下收费版本,在内部推动下元豚科技的产品啥的,感激不尽。
  • 项目元豚科技接管之后,起码不会荒废,只要公司一直在,项目就会更新。
  • 北京地区,找元豚科技做等级保护二、三级免费使用元豚旗下产品的商业版、社区版。
  • 旧的版本在release,那个版本是开源的,代码开放,有需要自行提取。

客户体验计划

  • 欢迎种子用户,早期的种子用户后期可以优先体验商业版功能,欢迎扫码加我微信,我后面拉群。
  • 欢迎提意见和场景,我们想办法满足,如果有好的日志样本也可以提供给我们。
  • 预计5.1之后发布一个测试版本。

加我

Run example

w3a_soc's People

Contributors

smarttang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.