基于日志安全分析做切入,做最好用的「云原生安全运维工作台」。
主要特性
- 日志分析: 日志存放在Kafka,Agent结合规则匹配攻击行为,并上报到W3A SOC平台。
- 工程分析: 针对工程代码进行API分析、工程组成分析、组件扫描、静态代码漏洞检测等。
- 漏洞扫描: 基于Arachni进行结合漏洞扫描,资产跟Web漏洞扫描联动巡检。
- 资产采集: 打通阿里云、腾讯云SDK,采集云上资产(域名、云服务、容器等)进行快速收集、定时同步,摸清家底。
- 漏洞管理:在线托管所有漏洞,可以用于打通内部工作流的汇聚。
- 告警整合: 实现钉钉、企业微信的联动告警机制,统计攻击行为,联动。
- 流量分析:NIDS(Suricate)入侵检测支持,采集汇聚到工作台。
特点/技术栈
- 部署支持:docker-compose、Kubernetes。
- 整体架构:基于 Filebeat(采集/清洗) + Kafka(汇聚) + ElasticSearch(检索) + 各种第三方开源能力 + 自研的工具 + 云原生/物理机环境
- 技术实现:后端基于Java,前端基于Vue,数据库基于MYSQL、工具基于Golang。
目标
- 满足安全合规需求、满足日常安全技术需求,帮助安全人员、安全负责人、运维负责人快速实现一体化安全运维工作台,助力快速做出成绩,达成KPI。
- 让客户少花钱,尽最大努力,把所有涉及到的安全基础设施做集成,开箱就用,无需再配置。
- 在云原生环境下,更加友好的支持业务的发展,满足云原生环境下缺失的安全闭环和短板。
用户画像
- 安全、运维负责人,全方位了解当前安全现状,做摸底排查
- 安全开发、运维开发,集成全方面的安全、运维自动化平台,提效
- 安全运营,了解、运营整体安全策略、规则、插件
- CTO,清晰的知道安全态势、运维态势
关键输出
Web日志分析
- 通过Logstash/filebeat采集日志到ES上。
- Golang通过开放平台,获取规则信息针对Kafka的日志进行实时分析。
- 将存在问题的部分直接存到平台里,平台只存落地的攻击日志、记录分析日志数。
- 攻击源IP地址分析,结合IP来源进行分析。
- 输出可以用于封禁的API接口,查可封禁的IP。
存活监控/篡改监控告警
- 针对提交的IP进行检测,看是否存活,可以分布式,持续的监测。
- 针对目标进行篡改监控。
问题告警
- 针对出现的问题,统一告警输出。
- 支持钉钉、企业微信。
Docker Compose(快速体验)
git clone https://github.com/smarttang/w3a_SOC
cd w3a_SOC/deploy/docker-compose/test-environment/
docker-compose up -d
漏洞管理图片上传
如果需要用图片上传功能,在腾讯云开一个COS,然后再docker-compose上改改对应的配置即可。
服务启动后的效果
➜ test-environment git:(master) ✗ docker-compose ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b26c879644d1 osixia/openldap:1.5.0 "/container/tool/run" 30 hours ago Up 30 hours 0.0.0.0:389->389/tcp, 636/tcp docker-compose-m1_ldaps_1
ff6024a93dbe 3b68dfcdef04 "/usr/local/sbin/dol…" 3 days ago Up 3 days docker-compose-m1_w3aNidsAgent_1
17091a9095ad registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-workapi:v1.0.14 "sh -c 'java $JAVA_O…" 3 days ago Up 3 days 0.0.0.0:8082->8080/tcp docker-compose-m1_w3aworkapi_1
9080a6a6d2ff docker.elastic.co/beats/filebeat:8.1.3 "filebeat -e -strict…" 3 days ago Up 3 days docker-compose-m1_filebeat3_1
e317a1cbff02 jasonish/suricata:6.0 "/docker-entrypoint.…" 3 days ago Up 3 days docker-compose-m1_suricate_1
26a957ef719d 001fd9d31bc7 "/docker-entrypoint.…" 4 days ago Up 4 days 0.0.0.0:81->80/tcp docker-compose-m1_w3aFrotend_1
152501ec9434 docker.elastic.co/beats/filebeat:8.1.3 "filebeat -e -strict…" 4 days ago Up 4 days docker-compose-m1_filebeat2_1
c7a9d6105fdd registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-openapi:v1.0.12 "sh -c 'java $JAVA_O…" 4 days ago Up 4 days 0.0.0.0:8083->8080/tcp docker-compose-m1_w3aopenapi_1
a0cde4eb54b6 28d62a4b9041 "sh -c 'java $JAVA_O…" 4 days ago Up 4 days 0.0.0.0:8081->8080/tcp docker-compose-m1_w3aDashboard_1
a2d0f92e3bb0 docker.elastic.co/beats/filebeat:8.1.3 "filebeat -e -strict…" 4 days ago Up 4 days docker-compose-m1_filebeat1_1
e84598505645 bitnami/kafka:3.1 "/opt/bitnami/script…" 4 days ago Up 4 days 0.0.0.0:9092->9092/tcp, 0.0.0.0:29092->29092/tcp docker-compose-m1_kafka_1
6ed0400a20a6 docker.elastic.co/elasticsearch/elasticsearch:8.1.3-arm64 "/bin/tini -- /usr/l…" 4 days ago Up 4 days 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp docker-compose-m1_elasticsearch_1
bd6bd9049129 registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-agent:v1.0.12 "/usr/local/sbin/dol…" 4 days ago Up 4 days docker-compose-m1_w3aAnalysisAgent_1
9d4a90deb609 registry.cn-beijing.aliyuncs.com/aidolphins_com/redis:v1 "docker-entrypoint.s…" 4 days ago Up 4 days 0.0.0.0:6379->6379/tcp docker-compose-m1_w3aRedis_1
860eaa722fc1 registry.cn-beijing.aliyuncs.com/aidolphins_com/mysql:v1 "docker-entrypoint.s…" 4 days ago Up 4 days 0.0.0.0:3306->3306/tcp, 33060/tcp docker-compose-m1_w3aMysql_1
e762f43da293 openresty/openresty:alpine "/usr/local/openrest…" 4 days ago Up 4 days 0.0.0.0:80->8080/tcp docker-compose-m1_nginx_1
c08c052fcf0d bitnami/zookeeper:3.8 "/opt/bitnami/script…" 4 days ago Up 4 days 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp docker-compose-m1_zookeeper_1
8203c32164e7 registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-agent:v1.0.12 "/usr/local/sbin/dol…" 4 days ago Up 4 days docker-compose-m1_w3aCodeScanAgent_1
b8b771689e30 registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-agent:v1.0.12 "/usr/local/sbin/dol…" 4 days ago Up 4 days docker-compose-m1_w3aAssetsAgent_1
0548ee11dab6 registry.cn-beijing.aliyuncs.com/aidolphins_com/w3a-agent:v1.0.12 "/usr/local/sbin/dol…" 4 days ago Up 4 days docker-compose-m1_w3aAlterAgent_1
访问Web部分
Docker Compose 启动后,访问:http://localhost:81/,就可以看到W3A SOC平台的服务了,登录账号/密码:admin/w3admin
- 记得先「创建应用」,基于docker-compose部署的话,ES地址填「elasticsearch」,端口9200,站点地址写:127.0.0.1,站点日志索引: web*,进去就能看到样例DEMO了。
- 攻击测试针对本地80进行攻击就行,那个就是靶场,扫描的时候自动激活分析。
- 所有的上报会在W3A SOC平台直观展现。
- 默认自带了少量规则,可以激活攻击用。
攻击后就能看到如下图:
备注
- 一直以来都有人问我到底还是否继续更新迭代,不断有人加我,还给我鼓励,时隔六年,沉淀积累之后,准备再做一套新的,可以持续更新维护的版本。
- 诸位发现问题请直接提交issue,如果有定制化需求,麻烦支持下收费版本,在内部推动下元豚科技的产品啥的,感激不尽。
- 项目元豚科技接管之后,起码不会荒废,只要公司一直在,项目就会更新。
- 旧的版本在release,那个版本是开源的,代码开放,有需要自行提取。
客户体验计划
- 欢迎种子用户,早期的种子用户后期可以优先体验商业版功能,欢迎扫码加我微信,我后面拉群。
- 欢迎提意见和场景,我们想办法满足,如果有好的日志样本也可以提供给我们。