API安全需要重置

本文讨论了API安全的挑战,如过度依赖工具,提出重塑API安全的方法,包括分配API所有权、最小特权原则、基于角色的授权和零信任,强调测试优先和场景模拟。同时,vAPI演练提供了全面的安全实践指南,涵盖漏洞识别、防御和部署策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本周,我们带来的分享如下:

  1. 一篇关于API安全需要重置的文章
  2. 一篇关于vAPI概述的文章
  3. 一篇关于实现API安全的五个阶段的文章

助力API安全:重塑未来的保障

本周介绍的文章中,Secure Code Warrior的首席技术官Matias Madou描述了许多组织在扩展API安全计划时面临的困境,主要是由于安全测试工具过多(行业使用平均水平为76个工具)。他的基本观点是,人们过于关注工具,而不是解决不安全API的根本原因,即构建API的开发人员。他重申了自己的观点,即大多数的数据泄露都是由人为错误引起的。

Matias提出了一种重新思考的方法,摆脱对工具的关注,并接受更广泛的最佳实践,包括:

  1. 分配API所有权:API往往拥有过多的权限并分享过多的信息。存在这种过度沟通的趋势,是因为API很少有专门的所有者;API以一种临时的方式发展并变得过于冗长。应该保持关注点在API对业务的价值上,而不是其他方面。
  2. 像对待人类一样对待 API:就像我们对待担任敏感角色的人一样,我们应将最小特权原则、基于角色的授权和零信任原则应用到API中。
  3. 增加测试优先的意识:测试经常被推后,特别是在API的情况下更是如此。应该确保开发人员在编码时进行测试,并将这些测试嵌入到整个软件开发生命周期中。
  4. 包含场景模拟:进行各种API情景模拟,可以帮助开发团队预测API在实际环境中,可能被滥用或产生异常行为的情况。
  5. 更改绩效评估指标:开发人员往往因为要快速交付,而几乎不顾一切代价。考虑改变评估开发人员的方式,给他们时间消化安全知识,并调整绩效评估指标,可以增加对安全本身的关注。

小编总结:

将焦点从工具转移到解决不安全API的根本原因,提高API的安全性和可靠性。

  1. 分配API所有权:为每个API指定明确的责任人,确保他们负责该API的安全性和合规性。这样可以避免API过度权限和信息共享的问题。
  2. 使用最小特权原则:将最小权限原则应用于API,即为API分配最低必需的权限,只提供需要的功能和数据访问权限。避免过度授权可能导致的安全漏洞。
  3. 采用基于角色的授权:使用基于角色的访问控制来管理API的权限。为不同的角色定义适当的权限,并确保只有经过验证的用户才能访问相应的API功能。
  4. 实施零信任模型:在API安全中采用零信任思想,即假设所有请求都是不受信任的,需要进行身份验证和授权才能获得访问权限。通过逐步验证身份和应用安全策略,确保只有合法的请求才能成功访问API。
  5. 采用测试先行的方法:在开发API时,将测试作为一个重要的环节,与编码并行进行。采用自动化测试工具和技术,包括单元测试、集成测试和端到端测试,确保API的安全性和可靠性。
  6. 进行场景模拟:通过模拟各种实际场景,包括恶意攻击、数据泄露等,来评估API的安全性和抗攻击能力。及时发现潜在的漏洞和安全风险,并进行相应的修复和改进。
  7. 加强开发者安全培训:提供针对API安全的培训和教育,使开发人员意识到安全性的重要性,并了解常见的安全漏洞和最佳实践。确保开发人员具备必要的安全意识和技能。
  8. 改进绩效评估指标:将安全性和合规性作为开发人员绩效评估的重要指标之一,以鼓励开发人员注重API安全和合规性方面的工作。通过设定清晰的目标和奖励机制,推动开发人员积极参与API安全的改进。

vAPI实践指南:掌握API安全的全貌

本周收到了Edward Lichtner (@EdwardLichtner)的精彩贡献,他将带领大家深入了解vAPI易受攻击的API应用。

vAPI演练包含以下内容:

  1. 工具和环境的安装:演练开始前,会介绍所需的工具和环境的安装,确保读者能够顺利进行后续的操作。
  2. OWASP API安全十大漏洞:演练将逐一介绍OWASP API安全十大漏洞,包括但不限于认证与授权问题、访问控制问题、数据泄露等,以帮助读者了解API中常见的安全漏洞。
  3. 场景分析:演练会从不同的场景出发进行分析,涵盖了多种情况下的API攻击,例如身份验证绕过、注入攻击、敏感信息暴露等。
  4. 重点关注细节:每个步骤都会详细介绍所使用的工具、请求和响应的结构、漏洞的原因和影响,并附有截图以便读者更好地理解和跟随。

安装(手动)

复制代码:

cd <your-hosting-directory>

git clone https://github.com/roottusk/vapi.git

设置数据库

导入到我的数据库vapi.sql

在vapi/.env

启动 MySQL 服务

运行以下命令 (Linux)

service mysqld start

启动服务器

转到目录并运行vapi

php artisan serve
  • 在邮递员中导入vAPI.postman_collection.json
  • 在邮递员中导入vAPI_ENV.postman_environment.json

或使用公共工作区:https://www.postman.com/roottusk/workspace/vapi/

部署

Helm 可用于部署到 Kubernetes 命名空间。图表位于文件夹中。图表需要一个以以下值命名的密钥:vapi-chartvapi

DB_PASSWORD: <database password to use>

DB_USERNAME: <database username to use>

示例 Helm 安装命令:

helm upgrade --install vapi ./vapi-chart --values=./vapi-chart/values.yaml

这个演练非常适合初学API攻击的人,因为它假设几乎没有先前的知识,涵盖了工具和环境的安装,详细介绍了OWASP API安全十大漏洞,并包含一些额外的内容。演练非常注重细节,每个步骤都附有截图,非常容易跟随。

小编解读:

在进行vAPI演练时,有一些需要注意的内容:

  1. 安全环境:确保在一个安全的环境中进行演练,以避免对真实系统产生不必要的影响或造成未经授权的访问。
  2. 合法性和道德性:在进行演练时,需始终遵守法律法规和道德准则。不要在未经授权的系统上进行攻击,并且避免损坏系统、获取非法利益或干扰他人正常操作。
  3. 仔细阅读说明:在开始演练之前,请仔细阅读提供的演练指南和说明,确保对每个步骤和概念有清楚的理解。
  4. 注意演练环境的配置:确保正确安装和配置所需的工具和环境,以便顺利进行演练。
  5. 学习漏洞原理和防护措施:在观察和利用漏洞的过程中,要深入了解每个漏洞的原理和潜在的影响,并学习相应的防护措施。
  6. 注意截图和记录:在进行每个步骤时,及时截图并记录下重要的信息,有助于后续的学习和复习,以及与他人分享经验。
  7. 持续学习和改进:演练只是学习的一部分,持续学习API安全知识,并关注新的漏洞和防护措施,以保持更新和改进自己的技能。

推进API安全:揭示实现API安全的五大奥秘

本篇文章介绍了Rakshith Rao关于实现API安全所需的五个阶段的观点。作者指出,API在2023年成为了头号攻击向量(仅在2023年,就使得美国公司损失了120亿到230亿美元)。他强调了目前既有的安全方法不足以实现API安全的原因,特别是,过时的授权方法和基本IP白名单只提供了有限的保护;许多监控工具无法监控API活动,并且无法向安全团队提供任何可操作的信息。

根据作者的观点,以下五个阶段是实现API安全成功的关键:

  1. 发现:确保对API清单最新的了解。避免使用手动的发现和分类方法,而且可以多依靠监控进行流量分析。
  2. 观察:分析发现的内容,并评估它是否应该存在,例如采取措施识别和分类影子API和僵尸API等。
  3. 建模:通过理解数据模型和常用模式,来构建系统正常行为的视图,能够根据常规模式识别异常。
  4. 行动:执行定期活动以提高 API 安全性,如API审计、跟踪和追踪API调用、响应及错误等。
  5. 洞察:监控API生态系统的整体状态和行为,并且持续发展并改进。

小编建议:

如果需要更好地推进API安全,企业需要采取以下措施:

  1. 提高意识和培训:教育员工意识到API安全的重要性,并为他们提供必要的培训,以了解如何正确地使用和保护API。
  2. 使用安全认证和授权机制:采用强大的身份验证和授权策略,例如OAuth 2.0,以确保只有授权用户可以访问和使用API。
  3. 实施防火墙和访问控制:将API放在受控的网络环境中,并设置防火墙和访问控制列表(ACL)来限制对API的访问。
  4. 加密数据传输:使用HTTPS协议来加密API通信,确保数据在传输过程中是安全的,并防止中间人攻击。
  5. 强化输入验证和数据过滤:对通过API传输的输入数据进行验证和过滤,以防止恶意请求和注入攻击。
  6. 进行漏洞评估和安全审计:定期进行漏洞评估和安全审计,发现并解决API中的潜在风险和漏洞。
  7. 实施日志和监控:记录API活动并进行实时监控,及时检测和应对安全事件和异常行为。
  8. 设立响应计划和灾备措施:制定应对API安全事件的响应计划,并备份关键数据,以便在发生安全漏洞或故障时能够快速恢复正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值