保护Natter API

学习了如何在开发 API 功能的同时避免常见的安全漏洞。在本章中,您将超越基本功能,了解如何将主动安全机制添加到您的 API 中,以确保所有请求都来自真正的用户并经过适当授权。您将保护在第 2 章中开发的 Natter API,使用 Scrypt 应用有效的密码身份验证,锁定与 HTTPS 的通信,并使用 Guava 速率限制库防止拒绝服务攻击。

通过安全控制解决威胁

你将通过应用一些基本的安全机制(也称为安全控制)来保护 Natter API 免受常见威胁。图 3.1 显示了您将开发的新机制,您可以将每种机制与它们防止的 STRIDE 威胁(第 1 章)相关联:

  • 速率限制用于防止用户用请求压倒您的 API,从而限制拒绝服务威胁。

  • 加密可确保数据在发送到 API 或从 API 发送时以及存储在磁盘上时保持机密,从而防止信息泄露。现代加密还可以防止数据被篡改。

  • 身份验证可以确保用户是他们所说的那样,防止欺骗。这对于问责制至关重要,但也是其他安全控制的基础。

  • 审计日志是问责制的基础,以防止否认威胁。

  • 最后,您将应用访问控制来保护机密性和完整性,防止信息泄露、篡改和提升权限攻击。

注释 如图3.1所示,一个重要的细节是只有速率限制和访问控制直接拒绝请求。身份验证失败不会立即导致请求失败,但如果请求未经身份验证,则稍后的访问控制决策可能会拒绝该请求。这一点很重要,因为我们希望确保即使失败的请求也会被记录,如果身份验证过程立即拒绝未经身份验证的请求,则不会被记录。

这五种基本安全控制共同解决了第1章中讨论的欺骗、篡改、否认、信息泄露、拒绝服务和提升特权等六种基本STRIDE威胁。本章的其余部分将讨论和实施每种安全控制。

参考:livebook

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值