在很多企业管理者的眼里,网络安全工作依然是一个成本中心,会增加内部的工作摩擦并降低业务效率。而事实上,在网络安全领域也有许多开源的安全工具和项目可供企业安全团队和分析师们免费使用。借助这些开源工具,企业在网络安全建设时可以实现更好的成本收益,因为这些网络安全项目会由专门的贡献者开发和维护,并提供有价值的工具、框架和资源来推动其更好地实践应用。
当然,开源工具是否真的比购买商业版产品更具成本效益取决于多种因素,包括产品后续的管理、运营和支持成本,许多隐性成本可能会使开源工具的实际成本比看上去要高得多,这就要求组织在选型安全工具时,对总成本进行全面的评估。
本文收集整理了当前较热门的20款免费网络安全工具,尽管相比主流的商业版产品而言,它们的应用范围还很“小众”,很多方面的成熟度仍在改进完善中,但如果能够合理使用,同样可以发挥其价值。
1. Authelia:开源认证授权管理系统
图片
Authelia 是一个开源的身份验证和授权管理系统,可以通过Web网页为应用程序提供双因素身份验证和单点登录(SSO)服务。它还可以方便的与流行反向代理(如nginx、Traefik或HAProxy)方案进行集成,帮助其判断是否应该允许或重定向请求到Authelia的页面进行身份验证。简单来说,Authelia可以给用户提供的各种应用增加认证功能,从而大大提高应用系统的安全性。
主要特性:
• 支持多种双因素认证方法,包括:安全密钥、基于时间的一次性密码、移动推送通知等;
• 可通过电子邮件确认进行身份验证和密码重置;
• 可以根据无效身份验证尝试次数对访问进行限制;
• 使用规则实现精细化访问控制,包括子域名、用户、用户组、请求URI等;
• 可以与流行的反向代理(如nginx、Traefik、Caddy、Skipper、Envoy或HAProxy)直接集成,以增强反向代理服务的应用程序安全性。
传送门:https://github.com/authelia/authelia
2. BLint:检查可执行文件安全属性的开源工具
图片
BLint是一款利用LIEF评估可执行文件安全属性和功能的二进制文件检查器。从2.0版本开始,BLint还可以为部分兼容的二进制文件生成软件物料清单(SBOM)。
主要特性:
• 可用于检测CI/CD管道中编译的二进制文件中被是否存在被忽视的安全缺陷、代码签名或验证码问题。
• 不依赖于签名,侧重于功能监测;
• 节省资源并避免对实时环境的性能需求。
支持主流的二进制格式:
• Android(apk、aab)
• ELF(GNU、musl)
• PE(exe、dll)
• Mach-O(x64、arm64)
用户可以针对以上二进制格式在Linux、Windows和Mac环境中运行BLint。
传送门:https://github.com/owasp-dep-scan/blint
3. Cloud Active Defense:开源云安全防护方案
Cloud Active Defense是一个将威胁检测诱饵集成到云基础设施中的开源云安全解决方案。这些诱饵对普通用户来说是不可见的,但对攻击者来说却非常诱人。这就造成了一种情况,攻击者必须不断猜测:这是陷阱还是利用路径?这种猜测减缓了攻击操作,并可能导致攻击者忽略有效的攻击向量,因为怀疑它们是陷阱。
在短期内,Cloud Active Defense计划使生成的警报更容易被主流SIEM系统获取,以更快地响应威胁。同时还计划发布接口代码,以便在Kubernetes集群上更轻松部署,让每个应用程序都可以独立配置。
传送门:https://github.com/SAP/cloud-active-defense
4. Cloud Console Cartographer:开源的安全日志处理与分析工具
Cloud Console Cartographer是一个开源工具,能够将海量、嘈杂的日志信息映射到高度整合的可疑事件中,以帮助安全从业者消除噪音并更好理解其环境中的威胁管控态势。
Cloud Console Cartographer能够快速处理日志中的原始事件,并对其进行分组和归类。它甚至可以解析来自这些事件的上下文数据,以提供有关用户在控制台中所见内容的更多信息,例如在单击发生时处于活跃状态的组、策略、角色或访问键的名称。将这些事件关联并减少为单个操作的能力有助于安全团队快速了解在控制台中执行的活动。
传送门:https://github.com/Permiso-io-tools/CloudConsoleCartographer
5. Damn Vulnerable RESTaurant:为学习而设计的开源API服务
Damn Vulnerable RESTaurant是一个开源项目,允许道德黑客、开发人员和安全工程师通过互动游戏学习识别和修复代码中的安全漏洞。
Damn Vulnerable RESTaurant游戏所设定的挑战目的是使用提供的线索识别和修复API应用相关漏洞。参与者需要探索识别攻击方法并有效修复,以保护API应用程序。通过这个挑战的结论,参与者将发现攻击者的身份。参与者也可以选择扮演攻击者的角色,以利用现有的漏洞。该应用程序使用Python FastAPI框架来开发模拟API应用,同时也结合了PostgreSQL数据库。方案通过Docker容器化的方式,允许使用Docker Compose进行快速部署和配置。
传送门:https://github.com/theowni/Damn-Vulnerable-Restaurant-API-Game
6. Drozer:开源Android安全评估框架
Drozer是一款开源的Android安全测试和攻击模拟工具,由MWR InfoSecurity公司开发。它提供了一个命令行接口,允许用户在安全测试或攻击Android应用程序时进行自动化测试,发现潜在的漏洞和安全风险。Drozer是目前应用最为广泛的Android安全测试工具之一,其功能和易用性受到了广泛的认可和好评。
主要功能:
• 应用程序渗透测试:Drozer允许用户测试Android应用程序的安全性,包括动态和静态分析,以及漏洞扫描等。
• 应用程序漏洞挖掘:Drozer提供了一个插件系统,允许用户编写自己的插件来挖掘Android应用程序中的漏洞。
• 代码审计:Drozer允许用户快速浏览应用程序的源代码,并快速查找敏感信息和漏洞。
• 安全审计:Drozer提供了一些常见的安全审计功能,例如渗透测试、代码审计和漏洞扫描等。
传送门:https://github.com/WithSecureLabs/drozer
7. EJBCA:开源公钥基础设施(PKI)与证书颁发(CA)
EJBCA是一款开源的PKI和CA软件,也是目前历史最悠久的CA软件项目之一,具有经过广泛验证的健壮性、可靠性和适应性。EJBCA是用Java开发的,在大多数平台上都能够有效运行。
主要特性:
• 企业可伸缩性:这是该产品一直坚持的设计标准,并遵循Java Enterprise范例。
• 灵活性:另一个设计标准是EJBCA应该能够适应组织的工作流,而不是让工作流来适应软件,因此拥有灵活的API/接口和针对不同用例的大量配置。
传送门:https://github.com/Keyfactor/ejbca-ce
8. Encrypted Notepad:开源文本编辑器
Encrypted Notepad是一款开源的文本编辑器,确保用户的文件以AES-256形式保存和加密调用。方案不需要网络连接,也没有不必要的功能,是一个非常简单的工作工具。
与Windows记事本应用程序一样,它除了文本编辑之外没有其他功能。如果用户想在他们的设备之间共享保存的加密数据,可以选择使用像Dropbox或NextCloud这样的服务来实现。
传送门:https://github.com/ivoras/EncryptedNotepad2
9. Fail2Ban:访问控制辅助工具
Fail2Ban是一款开源工具,用于监控日志文件(如/var/log/auth.log),并阻止显示多次登录失败的IP地址。它通过更新系统防火墙规则,在可配置的时间内拒绝来自这些IP地址的新连接来实现这一点。
Fail2Ban是一个多功能且有效的工具。它可以用最少的配置使用社区驱动的过滤器来阻止常见的攻击。此外,它还可以作为一个复杂的IDS/IPS系统来满足特定的管理需求,例如检测和阻止应用程序或系统特定的攻击向量。
主要特性:
• 监视日志文件和systemd journal(使用Python编写的自定义后端,能够检测来自其他来源的故障);
• 完全可配置的regexp允许从日志或日志中捕获信息并将其提供给操作,因此不仅可以禁止IP,还可以禁止用户账户、会话或它们的组合;
• 主持IPv6网络环境;
• 动态配置允许为维护人员和用户简单地创建与发行版相关的配置文件。例如,使用像mode这样的参数进行精细调整(例如,仅检测身份验证失败或更积极地禁止任何尝试)。
传送门:https://github.com/fail2ban/fail2ban
10. Grafana:开源数据可视化平台
图片
Grafana是一款开源解决方案,用于查询警报和探索指标、日志和跟踪,并将其可视化,而不管这些数据被存储在哪里。Grafana提供了将时间序列数据库(TSDB)数据转换为有意义的图形和可视化的工具。此外,它的插件框架允许用户集成各种数据源,包括NoSQL/SQL数据库和CI/CD平台(如GitLab)。这些集成允许用户根据他们的特定需求构建一个全面的可观察性解决方案,同时有一个单一的窗格来管理它。
主要特性:
• 互操作性。其设计优先考虑与直接竞争对手的互操作性。这种开放性和包容性允许组织选择他们的工具和数据源,同时将他们所有的数据放在一个统一的视图中。
• Grafana支持超过100种不同的数据源,允许用户拥有自己的可观察性策略,并可以自由选择最适合他们需求的工具,而不是被锁定在单一供应商的生态系统中。
• 从项目早期阶段,Grafana就拥有一个充满活力和活跃的社区,为其发展和增强做出了贡献。
传送门:https://github.com/grafana/grafana
11. Graylog:开源日志管理
图片
Graylog是一款具有集中日志管理功能的开源解决方案。它使团队能够收集、存储和分析数据,以获得有关安全性、应用程序和IT基础设施的答案。
主要特性:
• 易于安装,支持多种数据类型的数据收集,并能够快速搜索所摄取的数据。
• 具有自动完成建议的复杂查询支持。
• 可通过单个或多个输入参数来快速设置仪表板上的搜索过滤器(例如,过滤所有仪表板内容到单个用户或系统的所有活动)。
• 灵活地使用各种小部件创建仪表板,以呈现可定制的外观,包括高级数据聚合,可将不同的数据拉到单个图表中,以获得类似pivot的体验。
传送门:https://github.com/Graylog2/graylog2-server
12. LSA Whisperer:开源认证包交互工具
LSA Whisperer旨在通过其独特的消息传递协议与身份验证包进行交互。目前提供对cloudap、kerberos、msv1_0、negotiate、pku2u、channel包和cloudap的AzureAD插件的支持。
LSA Whisperer允许用户直接从本地安全授权子系统服务(LSASS)恢复多种类型的凭据,而无需访问其内存。在正确的上下文中,LSA Whisperer可以恢复Kerberos票据、SSO cookie、DPAPI凭证密钥(用于解密受DPAPI保护的用户数据)和NTLMv1响应(很容易被破解为可用的NT哈希)。
传送门:https://github.com/EvanMcBroom/lsa-whisperer
13. Mantis:自动化资产发现、侦察和扫描框架
Mantis可以自动发现、侦察和扫描资产。用户只需输入一个顶级域,它便能标识相关的资产,如子域和证书。该框架可利用开源和专有工具对活跃资产进行侦察,并通过扫描漏洞、秘密、错误配置和潜在的网络钓鱼域来完成其操作。
主要特性:
• 自动进行资产发现、侦察和扫描;
• 可进行分布式扫描(将单个扫描拆分到多台机器上);
• 支持定制化;
• 较丰富的安全报警能力;
• 可实现DNS服务集成;
• 可以快速集成新工具(现有的和自定义的)。
传送门:https://github.com/PhonePe/mantis
14. OWASP dep-scan:开源安全和风险审计工具
OWASP dep-scan是一款开源的安全和风险评估工具,可帮组用户更加充分利用有关漏洞、建议和项目依赖项许可限制的信息。它支持本地存储库和容器映像作为输入源,因此适合与ASPM/VM平台集成并在CI环境中使用。
主要特性:
• Dep-scan利用cdxgen生成软件物料清单(SOMS),支持许多不同的语言和源代码配置;
• 系统提供了结果导出到可定制的Jinja报告以及JSON文档的多个标准,包括:CycloneDx漏洞披露报告(VDR)和通用安全咨询框架(CSAF)2.0;
• 具备可达性分析能力,使用AppThreat/atom创建源代码片段;
• 可针对依赖混淆攻击和维护风险的深度包风险审计。
传送门:https://github.com/owasp-dep-scan/dep-scan
15. Pktstat:开源以太网接口流量监控
Pktstat不依赖于高级或最新的Linux内核特性,可默认为非linux系统的通用PCAP,通常被设计成与各种Unix平台(包括Darwin)交叉兼容。
执行后,Pktstat提供针对每个IP和每个协议(IPv4、Pv6、TCP、UDP、ICMPv4和ICMPv6)的全面统计。系统会按每个连接的bps、数据包和(源- IP:端口,目的- IP:端口)元组进行排序,提供了网络流量的详细视图。
传送门:https://github.com/dkorunic/pktstat
16. Prompt Fuzzer:增强GenAI应用程序安全性
Prompt Fuzzer是一款开源工具,评估GenAI应用程序的系统提示对动态LLM的威胁性。
主要特性:
• 可模拟十几种常见的GenAI攻击;
• 该工具根据系统提示自动设置上下文,并根据与GenAI应用相关的特定主题或行业定制攻击;
• 它具有良好的互动性和用户交互方式;
• 用户可以根据需要多次重复这个过程来强化他们的系统提示,并清晰了解他们的系统提示如何变得更安全、更有弹性;
• Prompt Fuzzer支持超过20个LLM提供商方案。
传送门:https://github.com/prompt-security/ps-fuzz
17. Protobom:软件供应链安全防护
Protobom是一款开源软件供应链工具,旨在帮助所有组织(包括系统管理员和软件开发社区)读取和生成软件物料清单(SBOM)和文件数据,并跨标准工业SBOM格式转换这些数据。
市场上存在多种SBOM数据格式和标识方案,这使得希望采用SBOM的组织面临挑战。Protobom旨在通过在标准之上提供与格式无关的数据层来缓解这个问题,在数据层允许应用程序与任何SBOM无缝地工作。
Protobom可以集成到商业和开源应用程序中,这促进了SBOM的采用,并使SBOM的创建和使用更容易、更便宜。Protobom工具可以访问、读取和转换各种数据格式的SBOM,从而提供无缝的互操作性。
传送门:https://github.com/bom-squad/protobom
18. RansomLord:勒索软件漏洞检测工具
RansomLord是一款可以自动创建PE文件的开源工具,其创建初衷是为了证明勒索软件并非不可战胜的,它也有漏洞,它的开发者也会犯错误,像其他人一样写出糟糕的代码。
主要特性:
• 可利用网络罪犯经常使用的DLL劫持策略;
• 部署漏洞利用以保护网络,这是一种击败勒索软件的新策略;
• 恶意软件漏洞情报,针对组织或行业的特定威胁;
• 瞄准勒索软件工具,以揭示缺陷,这可能导致对手重构代码修补漏洞;
• 节省时间和精力,有助于填补构建反勒索软件漏洞PE文件时所需的知识空白;
• 利用恶意软件遭受此攻击向量的高比率,木马和信息窃取程序也可以被击败,例如Emotet MVID-2024-0684。
传送门:https://github.com/malvuln/RansomLord
19. reNgine:Web应用程序安全性自动检测框架
图片
reNgine是一款用于Web应用程序的安全性自动检测框架,专注于高度可配置和精简的侦察过程。reNgine的开发是为了克服传统检测工具的局限性。检测过程中使用的大多数工具都以不同的文件格式输出,如JSON、XML、TXT等。在这些数据之间进行关联是一项艰巨的任务,而reNgine很好地解决了这个问题。
对于漏洞赏金猎人、渗透测试人员和公司安全团队来说,它是一个很好的选择,可以自动化和细化漏洞信息收集过程。
传送门:https://github.com/yogeshojha/rengine
20. Tracecat:开源版SOAR方案
Tracecat的开发人员认为安全自动化应该人人可用,特别是那些人手不足的中小型团队。Tracecat是一款适用于各种类型安全团队的开源自动化平台。其核心功能、用户界面和日常工作流程都基于大量安全团队的现有最佳实践。
Tracecat不是Tines/Splunk SOAR的1对1映射。开发人员的目标是为技术团队提供类似Tines的体验,但重点是开源和人工智能功能。虽然Tracecat是为安全而设计的,但它的工作流自动化和案例管理系统也适用于各种警报环境,如站点可靠性工程、DevOps和物理系统监控。
传送门:https://github.com/TracecatHQ/tracecat
原文链接:https://www.helpnetsecurity.com/2024/06/04/free-open-source-cybersecurity-tools/