作为蓝队成员,你是否在防守过程中常常为以下问题所困扰?
尽管明确指定了防守资产,但外包人员还是频繁误封生产环境。
安全设备匹配到DNS服务器请求的IOC域名告警时,外包人员胡乱封禁DNS,导致邮件等需要外联的生产系统崩溃。
外包人员甚至对127.0.0.1进行封禁,显现出严重的专业知识缺乏。
监测人员每时每刻都需要根据安全设备告警填写封禁IP协同表格,封禁人员也无法实时封禁攻击IP,效率低下。
重复性的工作需要大量人员参与,还必须进行24小时轮班,增加了人力成本和管理复杂度。
防守单位的防火墙等封禁设备性能低下,添加规则既繁琐又易导致系统崩溃。
误封IP后,解禁时需要在多个设备上反复排查搜索,耗费了大量时间和精力。
临时添加白名单IP后,无法有效同步给所有工作组成员。
总是重复封禁相同IP,封禁设备的规则库又容易空间不足,无法满足封禁需求。
封禁设备陈旧,无法支持封禁一定时间后自动解除。
安全厂商自家设备只能和自家设备进行联动,无法也不给适配全部设备,限制了整体防护效果。
解决方案
针对以上问题,我们特此研发了全自动封禁平台(https://github.com/sec-report/SecAutoBan),从此防守不再困难,平台具备以下优势:
智能化防护:自动封禁威胁,减少人为错误,降低人力成本。
高效协同:封禁信息实时同步,确保所有工作组成员及时了解动态。
精确管理:支持对封禁规则进行细粒度控制,自动解除过期封禁,提升封禁设备性能。
兼容性强:能够与不同厂商的安全设备进行联动,构建全面的防护体系。
简化操作:用户友好的界面设计,简化操作流程,降低学习成本。
服务采用分布式设计,由三大模块组成,分别为:告警日志解析处理模块、核心处理模块、IP封禁/解禁模块,每个模块单独运行。
告警模块:负责处理所有来自安全设备的告警信息,并提取其中的IP地址。
核心模块:接收到告警模块传入的IP地址后,进行去重和过滤等处理,以确保只有有效的IP被处理。
封禁模块:接收来自核心模块处理后的IP地址,并进行相应的封禁操作。
具体思维导图如下:
整体封禁流程如下:
安装使用
0x01 安装核心模块
核心模块采用docker-compose方案一键安装,运行脚本前请先安装docker:
mkdir SecAutoBan && cd SecAutoBan
wget https://raw.githubusercontent.com/sec-report/SecAutoBan/main/docker-compose.yml
wget https://raw.githubusercontent.com/sec-report/SecAutoBan/main/run.sh
chmod +x run.sh
./run.sh
Docker全部运行后访问http://127.0.0.1/访问管理后台,初始化管理员账号。
0x02 新建告警/封禁设备
首先在管理后台添加设备:
添加设备后,复制设备连接Key。(注意:设备连接Key仅显示一次,请妥善保存)
0x03 配置并运行告警/封禁模块
安装加密依赖,回连平台数据包需要加密:
pip3 install pycryptodome
模块具体使用方法请跳转至项目文档:https://github.com/sec-report/SecAutoBan
(目前项目中只有python版样例,后续会上新golang等语言样例),根据项目文档配置好模块后,使用python运行即可。
运行告警分析模块:
运行封禁/解封模块:
运行成功后,平台将显示设备已连接:
模块全部运行后,就会有源源不断的报警推送到核心模块中,核心模块处理后会再推送给所有连接平台的封禁模块进行处置。
使用Web端实时查看封禁处置流水:
至此整个系统就全部运行起来了,享受全自动封禁带来的高效和便捷吧~
- END -