开源网络安全防护方案
本文介绍了多种开源安全工具及其配置建议,并分析了它们与等保三级要求的对应关系。还提供了基于ELK和AI的日志分析方案,结合自动化运维响应机制,帮助提升企业安全防护能力。 2025-8-13 01:45:33 Author: www.freebuf.com(查看原文) 阅读量:26 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

注意:

  • 开源不等于便宜,需要较多人工,需要维护人员有代码能力,解决问题的能力,实际有了AI大模型之后,降低了维护难度和代码能力要求

  • 开源没有国内产品安全认证,过不了等保这类认证。

  • 搭建开源安全系统需要硬件资源,需要服务器,并且服务器配置不能太低

  • 本文主要介绍一些长期支持的防护类的开源系统/工具

开源防护架构

先来个拓扑

image.png

开源(免费)网络安全产品清单

设备名称开源工具工具介绍官网
防火墙pfSensepfSense 是一款基于 FreeBSD 的开源防火墙和路由器软件,专为网络安全管理设计,具备企业级功能且免费使用。https://www.pfsense.org/
防火墙opnsenseOPNsense 是一款基于 FreeBSD 的开源防火墙和路由平台,专为网络安全设计,提供企业级功能且免费使用。https://opnsense.org/
入侵检测/NDRSecurityOnionSecurity Onion 是一个免费开源的平台,主要用于三大核心功能:威胁狩猎(threat hunting)、企业安全监控(enterprise security monitoring)和日志管理(log management)。
集成工具:包含 osquery(端点查询)、CyberChef(数据处理)、Elasticsearch(日志存储)、Logstash(日志处理)、Kibana(可视化)、Suricata(入侵检测)和 Zeek(网络流量分析)等主流安全工具,形成一站式安全监控解决方案。
https://github.com/Security-Onion-Solutions/securityonion
WAF雷池WAF长亭的WAF,免费版本的https://waf-ce.chaitin.cn/
https://github.com/chaitin/SafeLine
SOARDFIR-IRIS安全事件处理和应急响应的平台https://www.dfir-iris.org/
XDR/SIEMWazuhWazuh 是一个免费、开源的企业级安全监控解决方案,用于威胁检测、完整性监控、事件响应和合规性管理。它由部署在受监控系统的端点安全代理和管理服务器组成,服务器负责收集并分析代理数据,并与 Elastic Stack 集成实现数据可视化和告警分析。https://wazuh.com/
终端管理/补丁管理ction1(200个免费节点)Third-Party Patching(第三方补丁管理):
Cross-OS Patching(跨系统补丁管理):支持对 Windows 和 macOS 系统的工作站及服务器进行统一、一致的更新操作。
Vulnerability Management(漏洞管理):核心目标是预防安全漏洞和勒索软件攻击,可实时检测操作系统和应用程序中的漏洞。集成了内置的漏洞修复功能,实现 “检测 - 修复” 一体化,为企业提供一站式的漏洞防护解决方案。
https://www.action1.com/
IAMkeycloak面向现代应用与服务的开源解决方案,聚焦 “身份与访问管理”(Identity and Access Management,即 IAM)。
解决 “谁能访问”(身份认证)和 “能访问什么”(权限控制)的问题,帮助现代应用安全管理用户身份、验证用户合法性,并管控其对系统资源的访问权限。
https://github.com/keycloak/keycloak
IAMFreeIPAFreeIPA 是一款面向 Linux 环境的开源身份与访问管理工具,通过整合多种技术,实现集中化的身份管控、策略制定和跨系统信任,适用于企业级的安全管理场景。https://www.freeipa.org/
日志分析/取证Velociraptor一款高级的数字取证与事件响应工具,其核心功能是增强用户对终端(如计算机、服务器等设备)的可见性,帮助用户更清晰地掌握终端的状态和活动情况,为后续的取证调查和安全事件应对提供基础。https://github.com/Velocidex/velociraptor
密码管理Vaultwarden一个用于本地搭建 Bitwarden 服务器的第三方 Docker 项目。仅在部署的时候使用 Vaultwarden 镜像,桌面端、移动端、浏览器扩展等客户端均使用官方 Bitwarden 客户端。https://rs.ppgg.in/
开源威胁情报OpenCTIOpenCTI(Open Cyber Threat Intelligence Platform)是一个开源威胁情报管理平台,专为收集、分析、存储和共享网络威胁情报(CTI)设计。它基于 STIX 2.1标准构建,支持以结构化方式描述威胁行为体、攻击模式、恶意软件等实体及其关联关系。https://github.com/OpenCTI-Platform/opencti
开源威胁情报MISPMISP(Malware Information Sharing Platform and Threat Sharing)是一款开源威胁情报共享平台,专为收集、存储、分发和共享网络安全威胁指标(如恶意软件信息、攻击事件数据)而设计。https://github.com/MISP/MISP
堡垒机JumpServer堡垒机https://jumpserver.org/
漏洞扫描器OpenVASOpenVAS 是一款功能齐全的漏洞扫描器。其功能包括无认证和有认证测试、各种高级和低级互联网及工业协议、针对大规模扫描的性能优化,以及一种强大的内部编程语言,可用于实施任何类型的漏洞测试。https://www.openvas.org/
数据库审计ArcheryArchery是一个基于Python Flask开发的数据库管理平台,它支持多种数据库(如MySQL、PostgreSQL、MariaDB、Redis等),提供了包括数据库查询、管理、权限控制、SQL审核、数据备份与恢复等功能在内的全方位数据库管理解决方案。其设计初衷是为了简化数据库管理流程,提高运维效率,同时保证数据的安全性和可靠性。https://github.com/hhyo/Archery
备份恢复baculaBacula是一个强大的客户机/服务器备份系统,支持跨平台,包括Linux、Windows、macOS等。
它提供全面的备份、恢复、验证和归档功能,并允许管理员管理网络中的计算机数据。
Bacula采用客户端-服务器架构,包括Director、File、Storage和Catalog服务,分别负责任务管理、数据备份、存储管理和数据目录。
https://www.bacula.org/

配置建议

开源安全工具的硬件资源需求参考表,综合官方文档及生产环境实践建议:

开源安全工具硬件资源需求参考表

设备类型开源工具测试/小型环境生产/中型环境关键依赖与说明
防火墙pfSense2核 CPU / 2GB RAM / 10GB SSD4核 CPU / 8GB RAM / 128GB SSD依赖:多核性能、SSD存储。
说明:规则数量、VPN并发量、带宽(建议1Gbps+)显著影响资源需求。
防火墙OPNsense2核 CPU / 4GB RAM / 20GB SSD4核 CPU / 8GB RAM / 128GB SSD依赖:SSD存储、多核处理。
说明:IDPS/代理功能开启时需增加50%内存和CPU。
入侵检测/NDRSecurity Onion4核 CPU / 16GB RAM / 500GB SSD16核 CPU / 64GB RAM / 2TB SSD+依赖:高性能存储(SSD/NVMe)、多核CPU。
说明:资源需求随流量(EPS)指数级增长,建议分布式部署。
WAF雷池WAF2核 CPU / 4GB RAM / 20GB SSD8核 CPU / 16GB RAM / 100GB SSD依赖:网络吞吐能力(建议10G网卡)。
说明:CPU性能直接影响HTTP请求处理能力,高并发需横向扩展。
SOARDFIR-IRIS4核 CPU / 8GB RAM / 100GB SSD8核 CPU / 32GB RAM / 500GB SSD依赖:Redis缓存、数据库(PostgreSQL)。
说明:任务并发量和插件复杂度决定资源需求。
XDR/SIEMWazuh4核 CPU / 8GB RAM / 100GB SSD16核 CPU / 32GB RAM / 1TB SSD(索引节点)依赖:Elasticsearch集群、SSD存储。
说明:日志量(EPS)是核心指标,生产环境需独立Elasticsearch集群。
终端管理Action12核 CPU / 4GB RAM / 40GB SSD4核 CPU / 8GB RAM / 100GB SSD依赖:数据库(SQLite/PostgreSQL)。
说明:资源按托管终端数线性增长,200节点内适用免费版。
IAMKeycloak2核 CPU / 4GB RAM / 40GB SSD4核 CPU / 16GB RAM / 100GB SSD依赖:数据库(PostgreSQL/MySQL)、JVM堆内存。
说明:高并发认证需增加CPU和JVM堆(≥8GB)。
IAMFreeIPA2核 CPU / 4GB RAM / 40GB SSD4核 CPU / 8GB RAM / 100GB SSD依赖:SSD存储、DNS服务。
说明:用户量>1,000时需增加内存至16GB+。
日志取证Velociraptor4核 CPU / 8GB RAM / 100GB SSD8核 CPU / 32GB RAM / 500GB SSD依赖:高性能存储(采集端IOPS)。
说明:大规模端点取证需分布式部署,服务器端依赖大内存缓存数据。
密码管理Vaultwarden1核 CPU / 2GB RAM / 20GB SSD2核 CPU / 4GB RAM / 100GB SSD依赖:数据库(SQLite/PostgreSQL)。
说明:用户量>100建议用PostgreSQL并增加内存至8GB。
威胁情报平台OpenCTI4核 CPU / 16GB RAM / 100GB SSD8核 CPU / 32GB RAM / 500GB SSD依赖:Elasticsearch、Redis、MinIO/S3。
说明:数据量>1千万条需独立Elasticsearch集群。
威胁情报平台MISP4核 CPU / 8GB RAM / 100GB SSD8核 CPU / 32GB RAM / 1TB SSD依赖:MySQL/MariaDB、Redis。
说明:事件(Event)数量>10万时需优化数据库配置及内存分配。
堡垒机JumpServer4核 CPU / 8GB RAM / 100GB SSD8核 CPU / 16GB RAM / 200GB SSD依赖:Redis、数据库(MySQL)。
说明:并发会话数决定资源需求,每100会话需增加1核CPU+2GB RAM。
漏洞扫描器OpenVAS (GVM)4核 CPU / 8GB RAM / 100GB SSD16核 CPU / 32GB RAM / 500GB SSD依赖:PostgreSQL、Redis。
说明:扫描任务并发量及插件数量(NVTs)显著影响CPU和内存占用。
数据库审计Archery2核 CPU / 4GB RAM / 100GB SSD4核 CPU / 16GB RAM / 500GB SSD依赖:MySQL/PostgreSQL、Redis。
说明:审计条目量>1亿时需分库分表或启用归档。
备份恢复Bacula2核 CPU / 4GB RAM / 存储按需8核 CPU / 16GB RAM / 存储按需依赖:大容量存储(HDD阵列)、高速网络。
说明:Director需SSD加速元数据库,存储空间按备份策略预留3-5倍。

关键补充说明

  1. 存储类型

    • SSD必需:所有工具的生产环境均需SSD/NVMe,尤其是数据库、索引、缓存服务(如Elasticsearch, Redis, PostgreSQL)。

    • 容量规划:日志/取证类工具(Wazuh, Velociraptor)需预留3-5倍原始数据的存储空间。

  2. 网络要求

    • 防火墙/WAF/NDR工具需万兆网卡(10Gbps+)以处理高吞吐流量。

    • 跨节点工具(如Security Onion集群)需低延迟网络(≤1ms)。

  3. 生产环境建议

    • 高可用部署:关键服务(IAM、数据库审计、SIEM)应配置集群(如PostgreSQL流复制、Elasticsearch分片)。

    • 独立部署:资源密集型工具(Elasticsearch, Redis, 数据库)需与主服务分离部署。

  4. 性能监控指标

    • CPU:持续>70%需扩容。

    • 内存:Swap使用>0%或可用内存<20%需扩容。

    • 磁盘IO:读写延迟>10ms需优化存储或升级SSD。

跟等保三级要求的对应关系

依据《网络安全等级保护测评高风险判定指引》三级标准,结合开源工具能力,详细分析如下:

设备类型开源工具满足的等保要求对应高风险项要求优化建议
防火墙pfSense/OPNsense8.1.4.1边界访问控制
8.1.4.2入侵防范
5.3.3抗DDoS能力不足启用SuricataDDoS防护模式
部署pfBlockerNG实现GeoIP过滤
入侵检测/NDRSecurity Onion8.1.4.2安全事件监测
8.1.4.5攻击行为识别
6.2.3自动阻断缺失联动防火墙API自动封禁IP
集成MISP威胁情报实时更新
WAF雷池WAF8.1.4.3Web应用防护
8.1.4.9SQL注入/XSS拦截
6.4.1.9API防护缺失
SOARDFIR-IRIS8.1.4.6应急响应自动化6.4.3.6勒索响应剧本缺失开发剧本:隔离主机→阻断C2→备份验证
集成TheHive联动响应
XDR/SIEMWazuh8.1.4.8日志集中审计
8.1.4.5事件关联分析
6.9.2UEBA缺失
8.1.4.8日志防篡改不足
集成Elastic UBA模块
启用AIDE文件完整性监控
终端管理Action18.1.3.4终端准入控制
8.1.4.4补丁管理
6.4.1.7EDR深度检测缺失联动OSSEC监控恶意行为
部署Rkhunter检测rootkit
IAMKeycloak/FreeIPA8.1.3.1身份鉴别
8.1.3.3权限分离
6.4.2.5MFA覆盖率不足强制管理员启用TOTP认证
高危操作增加WebAuthn生物验证
日志取证Velociraptor8.1.4.8取证数据留存(≥6月)6.8.3自动化取证缺失集成TheHive响应闭环
日志存储加密(LUKS)
密码管理Vaultwarden8.1.3.7密码存储加密6.4.3.10密钥轮换缺失编写自动轮换脚本(cron)
集成SoftHSM硬件模拟
威胁情报平台OpenCTI/MISP8.1.4.5威胁情报应用6.5.2内部威胁生成弱开发Sigma规则转换内部日志
与Wazuh联动自动阻断IoC
堡垒机JumpServer8.1.4.7运维审计
8.1.4.7会话录像
6.4.3.8高危命令阻断缺失配置rm -rf等命令双人复核
集成OpenBastion实时拦截
漏洞扫描器OpenVAS (GVM)8.1.4.4漏洞定期扫描6.3.40day检测弱联动Wazuh监控暴露面
集成Trivy扫描容器漏洞
数据库审计Archery8.1.4.8数据库操作记录6.4.2.9敏感数据监控缺失
6.4.1.9SQL注入阻断缺失
部署Apache ShardingSphere防火墙
启用pgAudit列级审计(PostgreSQL)
备份恢复Bacula8.1.5.1数据备份功能8.1.5.2异地验证缺失
6.1.6RTO/RPO无保障
采用Restic加密异地备份
每季度恢复演练并记录指标

集中日志

ELK + AI + Sigma的方案

image.png

核心组件实现

  1. Sigma规则转换

    • 使用 sigma2elastic工具将Sigma规则转换为Elastic可直接导入的ndjson格式:

      • python sigma2elastic.py -t elk-siem -c config.yml sigma_rules/ -o output.ndjson
        
        
      • 自动处理大小写敏感问题(转换为[Nn][Aa][Mm][Ee]格式)1

      • 支持实时更新Sigma官方规则库(通过cron定时任务)14

  2. ELK集成层

    • 在Kibana中导入转换后的规则:

      curl -X POST "kibana:5601/api/detection_engine/rules/_import" 
           -H "kbn-xsrf: true" --form [email protected]
      
      
    • 实现功能:

      • 实时日志分析(Elasticsearch执行Sigma检测规则)2

      • 威胁可视化(Kibana仪表板展示检测结果)2

  3. AI分析引擎

    • 构建AI处理流水线:

    • # 示例:AI日志分析工作流
      from elk_ai_connector import analyze_logs
      
      results = analyze_logs(
          index="security-log*",
          features=["anomaly_score", "threat_pattern"]
      )
      generate_response_script(results)  # 生成运维响应脚本
      
      

      AI核心能力:

      • 异常行为检测(识别0day攻击模式)3

      • 告警自动调优(减少误报率)3

      • 生成Python运维脚本(实现闭环响应)3

  4. 自动化运维闭环

    • 响应机制:

    image.png

配合opnsense防护墙做自动化拦截,https://docs.opnsense.org/development/api.html

防火墙规则管理(Python API调用),实现自动拦截,实际代码可以增加拦截周期

import requests
import json

def block_ip(ip_address):
    """阻断指定IP地址的流量[4]"""
    api_url = "https://opnsense/api/firewall/filter/addRule"
    headers = {"Content-Type": "application/json"}
    payload = {
        "rule": {
            "enabled": "1",
            "action": "block",
            "interface": "wan",
            "protocol": "any",
            "source": ip_address,
            "destination": "any",
            "description": "Auto-blocked by AI engine"
        }
    }
    response = requests.post(
        api_url,
        auth=("api_key", "api_secret"),
        headers=headers,
        data=json.dumps(payload),
        verify=False
    )
    if response.status_code == 200:
        apply_rules()  # 应用规则变更
        return True
    return False

def apply_rules():
    """应用防火墙规则变更[1]"""
    requests.post(
        "https://opnsense/api/firewall/filter/apply",
        auth=("api_key", "api_secret")
    )

DNS重定向(自动化配置),跟威胁情报配合,拦截恶意域名请求

def redirect_dns_to_local():
    """重定向所有DNS请求到本地解析器[4]"""
    payload = {
        "rule": {
            "enabled": "1",
            "protocol": "tcp/udp",
            "destination_port": "53",
            "target": "127.0.0.1",
            "target_port": "53",
            "description": "DNS redirect to Unbound"
        }
    }
    requests.post(
        "https://opnsense/api/firewall/nat/portForward",
        auth=("api_key", "api_secret"),
        json=payload
    )

说明:

  1. API认证:需先在OPNsense Web界面生成API密钥(系统 > 设置 > API)

  2. 持久化配置:所有规则变更后需调用apply_rules()使配置生效1

  3. 安全增强:建议使用VPN隧道或IP白名单保护API访问

  4. 错误处理:实际部署需添加异常处理(如连接超时、认证失败等)

其他

主动扫描的任务可以部署红队工具链,执行自动化扫描。持续的监控和处理漏洞。

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/network/444082.html
如有侵权请联系:admin#unsafe.sh