
网络安全应用安全【免费下载链接】API-Security-ChecklistChecklist of the most important security countermeasures when designing, testing, and releasing your API项目地址https://gitcode.com/gh_mirrors/ap/API-Security-Checklist点击查看免费下载本文以仓库德语版清单 README-de.md 为骨架系统梳理 API 在设计、测试与发布阶段最重要的 64 项安全对策覆盖身份认证、访问控制、OAuth 授权、输入校验、数据处理、输出加固、CI/CD 与监控并附上仓库英文原版 README.md 与中文版 README-zh.md 中的差异化条目作为深化佐证。读完本文你将得到一份可直接用于工程安全评审、上线前检查与日常运维的完整对照表并能逐条理解每项措施背后的攻击场景与落地要点。一、清单概览一张覆盖 API 全生命周期的安全对照表API-Security-Checklist 是一个以清单Checklist形态组织的开源安全知识库其德语版 README-de.md 开篇即点明主题Checkliste für die wichtigsten Sicherheitsmaßnahmen beim Designen, Testen und Veröffentlichen deiner API——即面向 API 设计、测试与发布阶段最重要安全措施的核对清单。整份清单按安全领域划分为8 个核心板块身份认证、访问控制、授权、输入、处理、输出、CI/CD、监控末尾另附4 组进阶最佳实践限流与滥用防护、GraphQL 专属安全、密钥管理、零信任架构总计约 64 个勾选项。每个条目以- [ ]待勾选形式呈现天然适合直接打印为评审表或在工程立项、迭代发布、安全审计时逐项打勾确认。该仓库在根目录维护了 30 种语言的翻译版本德、中、日、法、俄、阿拉伯语等其中英文原版 README.md、简中版 README-zh.md、繁中版 README-tw.md、日文版 README-ja.md 均在仓库根目录可见。多语言版本在核心框架一致的前提下存在细节差异——例如英文原版在 HTTPS 条目中额外注明TLS 1.2、安全密码套件与Host头/SNI 匹配要求中文版则补充了防爬取限速、SourceMap 暴露、数据脱敏等条目。本文以德语版为绝对主体并在对应小节中以仓库佐证形式呈现这些差异供对照取用。二、身份认证Authentifizierung放弃自研拥抱标准德语版清单在Authentifizierung板块给出 4 项硬性要求不要使用Basic Auth改用标准化的认证方法。Basic Auth 将用户名与密码以 Base64 明文编码放入Authorization头几乎等于明文传输凭据且无法提供细粒度权限与过期机制。应改用 OAuth 2.0 / OpenID Connect、SAML 或平台托管的身份服务等标准协议。不要在Authentication认证、Tokengenerierung令牌生成、Passwort speichern密码存储上重复造轮子请使用现有标准。密码散列应使用经过专门设计的慢哈希算法如 bcrypt、scrypt、Argon2令牌生成应使用密码学安全的随机源而不是Math.random()之类的伪随机实现。在登录流程中启用有限次数的登录尝试 锁定功能limitierte Anzahl von Anmeldeversuche与 AussperrfunktionenBan、IP-Block、Permanent。即允许失败重试次数有上限超过后按账号冻结Ban、按 IP 封锁IP-Block或长期禁止Permanent三级递进处置。对所有敏感数据使用加密。无论是数据库中的凭据、传输中的令牌还是配置文件中的密钥都应遵循静态加密 传输加密双重保护。仓库佐证中文版 README-zh.md 在身份认证板块进一步补充了三条与本板块同源但更细致的条目——密码或账号登录失败时返回模糊的提示信息防止暴力破解攻击不要将 API Key、云组件 Key 等硬编码到前端页面或 APP 中使用开源框架时禁止使用默认 Key如 Shiro可作为德语版第 3、4 条的具体落地补充。三、访问控制Zugriff在入口处挡住绝大多数攻击本板块共 5 项措施全部聚焦请求到达业务代码之前的防线限制所有请求Throttling防止 DDoS 与暴力破解。速率限制应区分每用户/每 IP/每 API Key维度超出阈值的请求直接返回429 Too Many Requests让攻击流量在网关层即被消化。服务端使用 HTTPS防止 MITM中间人攻击。仓库佐证英文原版 README.md 在此条目上写得更细——要求HTTPS on server side with TLS 1.2 and secure ciphers ... ensure Host header matches the SNI即加密协议版本至少 TLS 1.2、必须配置安全密码套件并确保 HTTPHost头与 TLS SNI 一致防止虚拟主机层面的会话劫持。启用 SSL 时设置HSTSHTTP Strict Transport Security头防止 SSL Strip 攻击。HSTS 通过Strict-Transport-Security: max-age秒数; includeSubDomains告知浏览器本域名只能走 HTTPS从而阻断攻击者把 HTTPS 降级为 HTTP 的中间人手法。关闭目录列表Deaktivieren Verzeichniseinträge。即禁止 Web 服务器对目录返回索引页面避免暴露项目结构、文件名与静态资源清单。私有 API 仅允许白名单中的 IP/主机访问。在网关或安全组层设置 allowlist不面向公网开放内部服务。仓库佐证中文版 README-zh.md 在此板块额外强调对 API 接口访问进行速率限制防止业务数据被批量爬取禁止将内部组件接口、登录管理接口暴露于公网中禁止将 SourceMap 文件暴露到公网禁止将 API 接口描述文档暴露到公网等条目与德语版第 1、5 条形成互补实际评审时可合并使用。四、授权AutorisierungOAuth 的四条红线授权板块专门针对 OAuth 授权流程共 4 项始终在服务端校验redirect_uri只允许白名单内的 URL。攻击者常通过篡改redirect_uri把授权码重定向到自己的域名从而窃取授权码校验必须在服务端完成而非依赖前端。始终用授权码Access-Code换取访问令牌禁止response_typetoken。response_typetoken会把令牌直接放在浏览器重定向 URL 的 Fragment 中增加令牌被历史记录、Referrer 泄露的风险应采用authorization_code模式由服务端在受保护的后端通道兑换令牌。state参数必须携带随机哈希防止针对 OAuth 授权过程的 CSRF。state的作用是绑定本次授权请求与回调响应随机值应在服务端生成并在回调时严格比对。为每个应用定义默认 scope并校验所有 scope 参数。不校验 scope 可能导致权限越权——攻击者可请求超过应用应有权限的范围。五、输入安全Input从源头拒绝脏数据输入板块共 7 项是清单中篇幅最大的板块之一强调所有进入 API 的字节都必须被质疑按操作语义使用正确的 HTTP 方法GET读取、POST创建、PUT/PATCH替换/更新、DELETE删除记录若请求方法不适用于目标资源返回405 Method Not Allowed。校验请求Accept头中的 content-type内容协商只允许受支持的格式如application/xml、application/json不匹配时返回406 Not Acceptable。校验 POST/PUT 传入数据的Content-Type确保声明与正文一致允许的范围示例包括application/x-www-form-urlencoded、multipart/form-data、application/json等不匹配时应直接拒绝防止内容解析歧义被利用。始终校验请求中所有输入与参数以防范常见攻击面XSS跨站脚本、SQL-InjectionSQL 注入、Remote Code Execution远程代码执行等。校验应覆盖长度、类型、字符集、枚举范围与业务规则且永远不做仅前端校验。绝不在 URL 中携带敏感数据Anmeldedaten凭据、Passwörter密码、Security Tokens安全令牌、API-SchlüsselAPI 密钥一律使用标准化的Authorization请求头。URL 会出现在服务器访问日志、代理日志、浏览器历史与 Referrer 中泄露面极大。只使用服务端加密。密钥与加解密操作必须留在服务端可信环境前端只负责展示与服务端约定的密文。使用 API Gateway 服务统一提供缓存、限流策略如Quota配额、Spike Arrest尖峰抑制、Concurrent Rate Limit并发限制以及 API 资源的动态部署。将上述能力沉淀到网关层业务代码即可专注逻辑同时获得一致的策略实施点。六、数据处理Verarbeitung让业务代码更安全、更抗压处理板块共 9 项覆盖认证保护、ID 设计、XML 解析、大流量与运行环境配置检查所有端点是否都被认证保护避免破坏性认证broken authentication——只要有一个端点遗漏认证整个认证体系形同虚设。仓库佐证英文原版 README.md 明确写为Check if all the endpoints are protected behind authentication to avoid broken authentication process可配合自动化扫描定期核对全量路由。避免暴露用户自有资源 ID用/me/orders代替/user/654321/orders从路由层面杜绝遍历他人 ID的越权尝试。不使用自增 ID改用UUID。自增 ID 可被顺序枚举、泄露业务规模UUID 提供不可预测性降低资源被猜测命中的风险。解析 XML 时确保实体解析Entity Parsing处于关闭状态防止XXEXML External Entity外部实体注入攻击。未关闭时攻击者可通过构造外部实体读取服务器本地文件或发起内网 SSRF。解析 XML 时确保实体扩展Entity Expansion处于关闭状态防止Billion Laughs/XML-Bombe十亿笑/XML 炸弹指数实体扩展攻击。仓库佐证英文原版 README.md 将本条扩展为If you are parsing XML, YAML or any other language with anchors and refs ...即同样存在锚点/引用机制的语言如 YAML也需禁用实体扩展防止资源耗尽型 DoS。文件上传使用 CDN将存储与分发流量剥离出应用服务器既缓解带宽压力也避免把可执行上下文暴露在业务进程内。处理大量数据时使用 Worker 与队列Queues尽量将耗时计算放入后台异步处理快速返回响应避免 HTTP 阻塞对应英文版avoid HTTP Blocking。别忘了关闭 DEBUG 模式。生产环境开启 DEBUG 会泄露堆栈、SQL、配置与内部路径是最常见也最容易被忽视的泄露源。尽可能使用不可执行栈Nicht ausführbare Stacks例如将上传目录、静态资源目录的代码执行权限关闭防止上传即命令执行。仓库佐证中文版 README-zh.md 在此板块还补充了对访问资源进行权限检查防止横向越权与禁止使用类似 PHPextract函数将接口输入参数转换为变量两条实践可视为第 2 条资源 ID与第 4 条输入解析的姊妹条目。七、输出安全Output响应头与响应体同样需要加固输出板块共 8 项核心思想是响应不泄露任何超出必要的信息响应头添加X-Content-Type-Options: nosniff阻止浏览器对响应做 MIME 嗅探降低内容类型混淆攻击。响应头添加X-Frame-Options: deny禁止页面被iframe嵌入防范点击劫持Clickjacking。响应头添加Content-Security-Policy: default-src none默认禁止一切资源加载来源从策略层收紧前端攻击面XSS 的纵深防御。移除指纹头X-Powered-By、Server、X-AspNet-Version等避免向攻击者透露框架/中间件版本从而规避针对旧版本漏洞的定向攻击。响应必须携带与内容匹配的Content-Type返回 JSON 时Content-Type必须为application/json防止内容被按 HTML 解析。不要向客户端返回过于具体的错误信息德语原文此条以英文保留Do not return overly specific error messages to the client that could reveal implementation details, use generic messages instead, and log detailed information only on the server side——客户端给通用错误文案详细信息只写入服务端日志。绝不返回敏感数据Anmeldedaten凭据、Passwörter密码、Sicherheitsschlüssel安全密钥等一律不得出现在响应中。根据操作结果返回恰当的 HTTP 状态码如200 OK、400 Bad Request、401 Unauthorized、405 Method Not Allowed等让调用方与监控系统能准确判断语义。仓库佐证中文版 README-zh.md 在输出板块进一步补充了返回统一的错误页面勿将调用堆栈展示在错误页面仅返回前端需要的业务数据禁止返回过多类型敏感数据数据返回时在后端进行脱敏禁止前端脱敏三条正好是第 6、7 条的落地细化可作为输出安全评审的扩展检查项。八、持续集成与持续交付CI CD把安全左移到流水线CI/CD 板块共 6 项强调安全必须成为发布流水线的固定环节用单元测试与集成测试及其覆盖率Test Coverage来审计设计实现。建立代码评审Code Review流程。德语版特别强调bleib sachlich保持客观英文原版 README.md 对应表述为disregard self-approval不允许自我批准合并即评审必须独立于作者。所有组件第三方库与全部依赖在进入生产环境前必须经杀毒软件静态扫描把供应链风险挡在发布之前。持续对代码执行安全测试静态/动态分析SAST/DAST形成常态化的自动化安全门禁。检查依赖软件与操作系统层面的已知漏洞例如维护 CVE 基线、订阅漏洞公告并在流水线中设置阻断条件。为部署设计回滚Rollback方案确保故障发生时能快速恢复上一稳定版本。九、监控Überwachung看得见才能守得住监控板块共 5 项所有服务与组件使用集中式日志Zentralisierte Logins将分散在各节点的日志统一汇聚便于关联分析与故障定位。使用 Agent 监控全部流量、错误、请求与响应形成完整的可观测性数据面。配置多渠道告警SMS、Slack、Email、Telegram、Kibana、Cloudwatch 等确保异常事件能第一时间触达值班人员。确保日志中不记录敏感数据信用卡号、密码、PIN 等一律禁止入日志防止日志系统成为新的数据泄露点。使用 IDS入侵检测系统和/或 IPS入侵防御系统监控 API 请求与实例识别攻击特征并主动阻断。仓库佐证中文版 README-zh.md 额外补充了使用 API 检测设备进行 API 资产梳理、日志审计一条属于第 1、5 条在资产可视化管理维度上的延伸。十、进阶最佳实践Advanced面向高对抗环境的四项加固德语版 README-de.md 在基础清单之后以英文附了 4 组进阶最佳实践此部分与英文原版保持一致适合高价值业务、公网暴露面大或安全合规要求高的 API10.1 限流与滥用防护Rate Limiting Abuse Prevention针对每个 API Key 和 IP实现滑动窗口sliding window限流比固定窗口更平滑、更难被绕过对反复失败的认证尝试采用指数退避exponential backoff加大暴力破解的时间成本可疑活动后引入CAPTCHA 或工作量证明proof-of-work挑战对异常 API 使用模式时间、量级、端点分布进行监控与告警。10.2 GraphQL 专属安全GraphQL-Specific Security生产环境关闭 introspection内省避免攻击者枚举完整 schema实施查询深度限制query depth limiting防止嵌套查询攻击耗尽资源使用查询成本分析query cost analysis防止复杂查询导致资源耗尽生产环境尽可能对允许执行的查询做白名单。10.3 密钥管理Secrets Management按固定周期轮换 API Key 与密钥签名操作使用**硬件安全模块HSM**承载密钥在 CI/CD 流水线中实施密钥扫描secret scanning拦截硬编码泄露绝不让密钥进入版本控制改用环境变量或密钥管理服务。10.4 零信任架构Zero Trust Architecture服务间通信启用双向 TLSmTLS内部服务发来的请求同样要校验不因来源可信而豁免使用短生命周期令牌并自动刷新压缩令牌泄露的窗口对敏感操作实施请求签名request signing保证来源与完整性。十一、延伸阅读与参与贡献德语版清单末尾的Siehe auch参见板块附有两个外部参考资料其一是面向 RESTful HTTPJSON API 构建的工具集合其二是一篇无需 JWT直接使用随机生成的 API Key若确需非对称加密或防篡改可参考 JWT 替代方案的讨论。上述外部链接可在英文原版 README.md 末尾查看本文按规范不输出外部地址。本清单面向社区开放协作CONTRIBUTING.md 明确了贡献方式——fork 仓库、修改、提交 Pull Request并通过邮件联系维护团队同时规定了新增翻译的命名规范README-[Language-code].md例如德语对应 README-de.md日语对应 README-ja.md中文对应 README-zh.md。仓库其余多语言版本均可作为核对清单的团队内部分发介质。结语把清单变成流程而不是墙上的纸API-Security-Checklist 的价值不在于条目数量而在于它把设计、测试、发布三个阶段的安全要求压缩成一张可执行、可评审、可自动化的对照表。落地建议如下设计期以身份认证—访问控制—授权—输入四板块为架构评审红线开发与测试期用处理—输出两板块指导代码实现与测试用例设计配合 CI/CD 板块的测试覆盖率、SAST/DAST 与依赖漏洞检查形成流水线门禁发布与运行期以输出—监控两板块做上线前最后检查并持续运行限流、密钥轮换与零信任加固等进阶实践。将本文所列 64 项逐条映射到你的工程中指定负责人与完成状态API 的安全性就能从经验判断升级为可度量、可追溯、可复盘的工程流程。赞分享网络安全应用安全【免费下载链接】API-Security-ChecklistChecklist of the most important security countermeasures when designing, testing, and releasing your API项目地址https://gitcode.com/gh_mirrors/ap/API-Security-Checklist点击查看免费下载相关推荐Nexus-Roblox社区参与贡献脚本、获取支持与最新动态Nexus Roblox社区参与贡献脚本、获取支持与最新动态 Nexus Roblox是一个专注于提供高效安全的Roblox脚本执行工具的开源项目致力于为玩Security-101 应用安全AppSec核心概念从安全设计到安全开发生命周期Security 101 应用安全AppSec核心概念从安全设计到安全开发生命周期 应用安全Application Security简称 AppSec网络安全教程文档API Security TestingAPI 安全测试指南从 OWASP API Top 10 到可落地的测试清单API Security TestingAPI 安全测试指南从 OWASP API Top 10 到可落地的测试清单 在 AG Kit 的 api pat人工智能AI 技能AI 插件上一篇超强Tabby性能监控实时指标可视化实操指南下一篇如何快速掌握PowerToys电源管理简单三步告别自动休眠创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考