《API安全实战》内容简介与阅读建议

获取这本书 暂无已核验电子书资源
下载
作者
NeilMadden
分类
科技技术
出版年份
2022
出版社
机械工业出版社
页数
475 页
语言
中文

《API安全实战》内容简介

本书旨在引导读者掌握在不同环境下确保API安全所需的技术。首先介绍基本的安全编码技术,之后深入研究身份认证和授权技术。全书共5部分,13章,其中:第1部分介绍了API安全的基本原理,是本书其余内容的基础;第2部分更详细地介绍RESTful API的身份验证机制;第3部分介绍了授权(authorization)相关的内容;第4部分深入探讨了如何确保运行在Kubernetes环境下的微服务API的安全性;第5部分介绍物联网(IoT)中的API。这类API的安全尤其有挑战性,因为物联网设备的能力往往很有限,并且会遭遇到各种各样的威胁。对于构建Web程序有一定经验的开发人员来讲,本书可以提高他们对API安全技术和最佳实践的了解,也有助于技术架构师紧跟最新API安全方法技术更新的步伐。

《API安全实战》书籍信息摘要

《API安全实战》内容简介与阅读建议,作者 NeilMadden,科技技术,2022年。获取前建议核对作者、出版社、年份、ISBN、版本和正版渠道。相关主题:安全、计算机类。

《API安全实战》适合哪些读者?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

获取建议

《API安全实战》怎么获取更合适?

优先确认版本和阅读目的;下载区只展示已核验的公版、授权、开放许可或官方试读资源。

下载

暂无已核验电子书资源;本站不展示未授权完整文件。

下载

版本

优先选择作者、译者、出版社、出版年份和 ISBN 信息明确的版本;经典作品可优先选择校注、导读或权威出版社版本。

目录

  1. 译者序
  2. 前言
  3. 致谢
  4. 关于本书
  5. 关于作者
  6. 第一部分 基础
  7. 第1章 什么是API安全 2
  8. 1.1 打个比方:参加驾照考试 3
展开全部(共 257 章节)
  1. 1.2 什么是API 4
  2. 1.3 API安全上下文 6
  3. 1.4 API安全要素 10
  4. 1.4.1 资产 11
  5. 1.4.2 安全目标 11
  6. 1.4.3 环境与威胁模型 13
  7. 1.5 安全机制 15
  8. 1.5.1 加密 16
  9. 1.5.2 身份识别和身份验证 17
  10. 1.5.3 访问控制和授权 18
  11. 1.5.4 审计日志 19
  12. 1.5.5 速率限制 20
  13. 小测验答案 21
  14. 小结 21
  15. 第2章 安全API开发 22
  16. 2.1 Natter API 22
  17. 2.1.1 Natter API概览 23
  18. 2.1.2 功能实现概览 24
  19. 2.1.3 设置项目 25
  20. 2.1.4 初始化数据库 26
  21. 2.2 开发REST API 28
  22. 2.3 连接REST终端 31
  23. 2.4 注入攻击 33
  24. 2.4.1 防御注入攻击 37
  25. 2.4.2 使用权限缓解SQL注入攻击 39
  26. 2.5 输入验证 40
  27. 2.6 生成安全的输出 45
  28. 2.6.1 利用XSS攻击 47
  29. 2.6.2 防御XSS攻击 49
  30. 2.6.3 实施防护 50
  31. 小测验答案 52
  32. 小结 53
  33. 第3章 加固Natter API 54
  34. 3.1 使用安全控制来处置威胁 54
  35. 3.2 速率限制解决可用性 55
  36. 3.3 使用身份验证抵御欺骗 61
  37. 3.3.1 HTTP基本身份验证 62
  38. 3.3.2 使用Scrypt确保密码安全存储 62
  39. 3.3.3 创建密码数据库 63
  40. 3.3.4 在Natter API中注册用户 64
  41. 3.3.5 验证用户 66
  42. 3.4 使用加密确保数据不公开 68
  43. 3.4.1 启用HTTPS 70
  44. 3.4.2 加强数据传输安全 71
  45. 3.5 使用审计日志问责 72
  46. 3.6 访问控制 77
  47. 3.6.1 强制身份验证 78
  48. 3.6.2 访问控制列表 79
  49. 3.6.3 Natter的强制访问控制 81
  50. 3.6.4 Natter空间增加新成员 83
  51. 3.6.5 避免提权攻击 84
  52. 小测验答案 85
  53. 小结 85
  54. 第二部分 基于令牌的身份验证
  55. 第4章 会话Cookie验证 88
  56. 4.1 Web浏览器的身份验证 88
  57. 4.1.1 在JavaScript中调用Natter API 89
  58. 4.1.2 表单提交拦截 91
  59. 4.1.3 提供同源HTML服务 91
  60. 4.1.4 HTTP认证的缺点 94
  61. 4.2 基于令牌的身份验证 95
  62. 4.2.1 令牌存储抽象 97
  63. 4.2.2 基于令牌登录的实现 98
  64. 4.3 Session Cookie 100
  65. 4.3.1 防范会话固定攻击 103
  66. 4.3.2 Cookie安全属性 105
  67. 4.3.3 验证会话Cookie 107
  68. 4.4 防范跨站请求伪造攻击 109
  69. 4.4.1 SameSite Cookie 111
  70. 4.4.2 基于哈希计算的双重提交Cookie 113
  71. 4.4.3 在Natter API中应用双重提交Cookie 116
  72. 4.5 构建Natter登录UI 121
  73. 4.6 实现注销 125
  74. 小测验答案 127
  75. 小结 127
  76. 第5章 新的基于令牌的身份验证 128
  77. 5.1 使用CORS允许跨域请求 128
  78. 5.1.1 预检请求 129
  79. 5.1.2 CORS头 131
  80. 5.1.3 在Natter API中添加CORS头部 132
  81. 5.2 不使用Cookie的令牌 135
  82. 5.2.1 在数据库中保存令牌的状态 136
  83. 5.2.2 Bearer身份验证方案 141
  84. 5.2.3 删除过期令牌 143
  85. 5.2.4 在Web存储中存储令牌 143
  86. 5.2.5 修改CORS过滤器 146
  87. 5.2.6 对Web存储的XSS攻击 147
  88. 5.3 加固数据库令牌存储 149
  89. 5.3.1 对数据库令牌进行哈希计算 150
  90. 5.3.2 使用HMAC验证令牌 151
  91. 5.3.3 保护敏感属性 156
  92. 小测验答案 158
  93. 小结 159
  94. 第6章 自包含令牌和JWT 160
  95. 6.1 在客户端存储令牌状态 160
  96. 6.2 JSON Web令牌 163
  97. 6.2.1 标准JWT声明 165
  98. 6.2.2 JOSE头部 166
  99. 6.2.3 生成标准的JWT 168
  100. 6.2.4 验证签名JWT 171
  101. 6.3 加密敏感属性 172
  102. 6.3.1 认证加密 173
  103. 6.3.2 NaCl认证加密 175
  104. 6.3.3 加密JWT 177
  105. 6.3.4 使用JWT库 180
  106. 6.4 使用安全类型来加固API设计 183
  107. 6.5 处理令牌撤销 185
  108. 小测验答案 189
  109. 小结 189
  110. 第三部分 授权
  111. 第7章 OAuth2和OpenID Connect 192
  112. 7.1 作用域令牌 193
  113. 7.1.1 在Natter中添加作用域令牌 193
  114. 7.1.2 作用域和权限之间的区别 197
  115. 7.2 OAuth2简介 200
  116. 7.2.1 客户端类型 201
  117. 7.2.2 授权许可 201
  118. 7.2.3 发现OAuth2终端 203
  119. 7.3 授权码许可 204
  120. 7.3.1 重定向不同类型客户端的URI 208
  121. 7.3.2 使用PKCE增强授权码交换安全性 209
  122. 7.3.3 刷新令牌 210
  123. 7.4 验证访问令牌 211
  124. 7.4.1 令牌自省 212
  125. 7.4.2 确保HTTPS客户端配置安全 217
  126. 7.4.3 令牌撤销 219
  127. 7.4.4 JWT访问令牌 221
  128. 7.4.5 加密JWT访问令牌 227
  129. 7.4.6 让AS解密令牌 228
  130. 7.5 单点登录 229
  131. 7.6 OpenID Connect 230
  132. 7.6.1 ID令牌 231
  133. 7.6.2 加固OIDC 232
  134. 7.6.3 向API传递ID令牌 233
  135. 小测验答案 235
  136. 小结 235
  137. 第8章 基于身份的访问控制 237
  138. 8.1 用户和组 237
  139. 8.2 基于角色的访问控制 243
  140. 8.2.1 角色映射权限 244
  141. 8.2.2 静态角色 245
  142. 8.2.3 确定用户角色 247
  143. 8.2.4 动态角色 248
  144. 8.3 基于属性的访问控制 249
  145. 8.3.1 组合决策 251
  146. 8.3.2 实现ABAC策略 252
  147. 8.3.3 策略代理和API网关 256
  148. 8.3.4 分布式策略实施和XACML 257
  149. 8.3.5 ABAC最佳实践 258
  150. 小测验答案 260
  151. 小结 260
  152. 第9章 基于能力的安全和Macaroon 261
  153. 9.1 基于能力的安全 261
  154. 9.2 能力和REST API 263
  155. 9.2.1 能力URI 265
  156. 9.2.2 在Natter API中使用能力URI 268
  157. 9.2.3 HATEOAS 272
  158. 9.2.4 基于浏览器客户端的能力URI 276
  159. 9.2.5 能力与身份相结合 278
  160. 9.2.6 加固能力URI 279
  161. 9.3 Macaroon:含有caveat的令牌 282
  162. 9.3.1 上下文caveat 284
  163. 9.3.2 Macaroon令牌存储 285
  164. 9.3.3 第一方caveat 288
  165. 9.3.4 第三方caveat 291
  166. 小测验答案 293
  167. 小结 293
  168. 第四部分 Kubernetes中的微服务API及服务到服务API的安全
  169. 第10章 Kubernetes中的微服务API 296
  170. 10.1 Kubernetes上的微服务API 297
  171. 10.2 在Kubernetes上部署Natter API 300
  172. 10.2.1 将H2数据库构建为Docker容器 301
  173. 10.2.2 将数据库部署到Kubernetes 305
  174. 10.2.3 将Natter API构建为Docker容器 309
  175. 10.2.4 链接预览微服务 313
  176. 10.2.5 部署新的微服务 315
  177. 10.2.6 调用链接预览微服务 317
  178. 10.2.7 防范SSRF攻击 320
  179. 10.2.8 DNS重绑定攻击 325
  180. 10.3 确保微服务通信安全 327
  181. 10.3.1 使用TLS来保证通信安全 327
  182. 10.3.2  使用TLS服务网格 329
  183. 10.3.3 锁定网络连接 333
  184. 10.4 确保输入请求的安全性 335
  185. 小测验答案 339
  186. 小结 339
  187. 第11章 服务到服务API的安全 340
  188. 11.1 API密钥和JWT Bearer身份验证 340
  189. 11.2 OAuth2客户端凭证许可 342
  190. 11.3 OAuth2的JWT Bearer许可 345
  191. 11.3.1 客户端验证 346
  192. 11.3.2 生成JWT 349
  193. 11.3.3 服务账户身份验证 351
  194. 11.4 Mutual TLS验证 352
  195. 11.4.1 TLS证书认证的工作原理 352
  196. 11.4.2 客户端证书验证 355
  197. 11.4.3 验证客户端标识 356
  198. 11.4.4 使用服务网格 361
  199. 11.4.5 基于OAuth2的mTLS 363
  200. 11.4.6 证书绑定访问令牌 364
  201. 11.5 管理服务凭证 368
  202. 11.5.1 Kubernets secret 369
  203. 11.5.2 密钥和secret管理服务 373
  204. 11.5.3 避免在磁盘上保存长生命周期的secret 376
  205. 11.5.4 派生密钥 377
  206. 11.6 响应用户请求的服务API调用 381
  207. 11.6.1 phantom凭证模式 381
  208. 11.6.2 OAuth2令牌交换 383
  209. 小测验答案 386
  210. 小结 387
  211. 第五部分 用于物联网的API
  212. 第12章 物联网通信安全 390
  213. 12.1 传输层安全 391
  214. 12.1.1 数据报TLS 392
  215. 12.1.2 受限设备的密码套件 402
  216. 12.2 预共享密钥 407
  217. 12.2.1 实现一个PSK服务器 408
  218. 12.2.2 PSK客户端 411
  219. 12.2.3 支持原始PSK密码套件 412
  220. 12.2.4 具有前向保密性的PSK 413
  221. 12.3 端到端安全 415
  222. 12.3.1 COSE 416
  223. 12.3.2 COSE的替代方案 420
  224. 12.3.3 防滥用认证加密 422
  225. 12.4 密钥分发与管理 426
  226. 12.4.1 一次性密钥配置 426
  227. 12.4.2 密钥分发服务器 427
  228. 12.4.3 前向保密Ratcheting技术 428
  229. 12.4.4 后向安全 430
  230. 小测验答案 432
  231. 小结 432
  232. 第13章 物联网API安全 433
  233. 13.1 设备验证 433
  234. 13.1.1 识别设备 433
  235. 13.1.2 设备证书 436
  236. 13.1.3 传输层验证 437
  237. 13.2 端到端验证 440
  238. 13.2.1 OSCORE 443
  239. 13.2.2 REST API中避免消息重放 450
  240. 13.3 受限环境下的OAuth2 455
  241. 13.3.1 设备授权许可 455
  242. 13.3.2 ACE-OAuth 459
  243. 13.4 离线访问控制 460
  244. 13.4.1 离线用户身份验证 460
  245. 13.4.2 离线授权 462
  246. 小测验答案 463
  247. 小结 463
  248. 附录A 配置Java和Maven 464
  249. 附录B 配置Kubernets 473

常见问题

《API安全实战》适合谁读?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

《API安全实战》阅读难度高吗?

建议先看简介、目录、作者和相关书籍,再判断是否适合当前阶段阅读。

《API安全实战》纸质书值得买吗?

当前暂未接入已核验的纸质书购买链接,建议通过出版社、京东、当当等正版渠道核对版本后购买。

《API安全实战》哪个版本更适合?

优先选择作者、译者、出版社、出版年份和 ISBN 信息清楚的版本;经典作品可优先选择校注、导读或权威出版社版本。

在哪里可以合法获取《API安全实战》?

当前没有确认授权的电子书下载资源,也暂未接入已核验购买链接;商业出版物不提供未授权下载,建议通过出版社、京东、当当或官方电子书平台核对获取。

如何继续查找《API安全实战》相关书籍?

可以进入 NeilMadden 作者页查看其他作品,也可以通过分类、标签、排行榜、人工推荐和“读完这本还可以读”继续发现相近主题。

手机扫码下载

使用手机扫描二维码

扫码后会直接打开下载链接。

电子书下载二维码

手机端点击下载会直接跳转,无需扫码。