
FastAPI Guard完全入门12大安全防护能力一个中间件给你的API装上保险【免费下载链接】fastapi-guardA security library for FastAPI that provides middleware to control IPs, log requests, detect penetration attempts, honeypot setup, behavioural analysis, emergency mode lockdown, block Cloud Provider IPs, country blocking, and much more... It integrates seamlessly with FastAPI to offer robust protection against various security threats.项目地址: https://gitcode.com/gh_mirrors/fa/fastapi-guardFastAPI Guard 是一个专为 FastAPI 打造的 Python 安全中间件库只需一行add_middleware就能为你的 API 同时获得 IP 管控、频率限制、渗透攻击检测、蜜罐诱捕、行为分析、紧急模式封锁、云厂商 IP 拦截、国家封锁等 12 大安全防护能力帮你轻松挡住注入攻击与恶意爬虫让接口从此自带保险。️为什么说 FastAPI 应用特别需要安全中间件FastAPI 本身不内置任何安全防护恶意 IP 可以无限次爆破你的登录接口SQL 注入、XSS 攻击会原封不动地穿透到业务代码来自云厂商的脚本流量、爬虫 UA 混杂在正常用户中你可以自己写过滤器但通常要写十几个、还要处处打补丁。而FastAPI Guard 把这些能力收敛成一个安全中间件所有请求先经过它的安全检查流水线SecurityCheckPipeline确认安全才放行到业务代码。三步安装接入最快上手 FastAPI Guard第 1 步安装依赖uv add fastapi-guard # uv推荐 pip install fastapi-guard # 或 pip第 2 步创建安全配置并挂载中间件from fastapi import FastAPI from guard import SecurityMiddleware, SecurityConfig app FastAPI() config SecurityConfig( enable_rate_limitingTrue, # 开启限流 rate_limit100, # 每 IP 每分钟最多 100 次 enable_ip_banningTrue, # 开启自动封禁 auto_ban_threshold5, # 5 次可疑请求即封禁 block_cloud_providers{AWS, GCP, Azure}, ) app.add_middleware(SecurityMiddleware, configconfig)第 3 步启动应用你的 API 就进入防护状态。生产环境建议再挂上guard_lifespan位于guard/lifespan.py让初始化在应用启动时完成而不是拖到第一个请求上。核心入口都在guard/目录下guard/middleware.py中间件主体、guard/lifespan.py生命周期初始化可直接阅读源码。12 大安全防护能力速览#能力一句话说明1IP 白名单/黑名单只放行/直接拒绝指定 IP支持 IPv4、IPv62频率限制按 IP 限制每分钟请求数防暴力调用3自动 IP 封禁可疑请求超过阈值如 5 次自动拉黑一段时间4渗透攻击检测识别 SQL 注入、XSS、命令注入、路径遍历等 10 类攻击模式5云厂商 IP 拦截一键屏蔽 AWS / GCP / Azure 的 IP 段专治云主机脚本刷接口6国家封锁/放行基于 IP 地理定位按国家代码如 CN、RU管控7User-Agent 过滤屏蔽 curl、wget 等可疑 UA8行为分析跟踪请求频率、访问模式识别异常行为用户9蜜罐检测诱导并识别扫描器踩中假入口10紧急模式封锁一键进入紧急模式瞬间锁死全部接口11安全响应头自动附加 CSP、X-Content-Type-Options 等安全头12HTTPS 强制非加密请求直接 301 跳转或拒绝这些能力都通过SecurityConfig里的开关组合启停按需拼装不开启的能力不加载对应资源性能零浪费。渗透检测新手最容易忽略的主力选手渗透检测是 FastAPI Guard 的核心。它会扫描请求参数、Header、Body 中的攻击签名覆盖SQL 注入、XSS 跨站脚本、命令注入、路径遍历、模板注入、LDAP/XML/NoSQL 注入、HTTP 响应分裂、文件上传攻击等常见威胁并附带语义层检测来识别混淆后的攻击。命中攻击后它会记录威胁日志 → 威胁评分 → 累计到封禁阈值后自动拉黑 IP。相关实现与模式说明见docs/tutorial/security/penetration-detection.md。被动模式先观察再拦截担心一上线就误伤正常用户FastAPI Guard 提供passive_modeTrue被动模式所有检测照常运行并记录日志但只记不拦。观察几天、确认误伤范围后把这个布尔值改回False即完成从只监视到真拦截的安全切换回滚也是改回这一个开关。详见docs/tutorial/security/passive-to-active.md。路由级装饰器给敏感接口单独加锁中间件是全局保险而SecurityDecorator提供 20 个装饰器对单个路由加更细的规则例如app.get(/api/payments) guard.require_auth(typebearer) # 强制 Bearer 鉴权 guard.rate_limit(requests10, window60) # 该接口单独限流 10 次/分钟 guard.block_countries([RU]) # 屏蔽特定国家 guard.require_https() # 必须 HTTPS async def process_payment(): ...涵盖访问控制require_ip、block_countries、认证api_key_auth、内容过滤block_user_agents、max_request_size、行为监控suspicious_frequency、蜜罐honeypot_detection等六大类参考docs/api/decorators.md。高负载下依旧快速性能实测数据安全中间件最怕拖慢接口。项目自带的压测脚本examples/testing/stress_test.py对 8 类攻击场景做了标准压力与高负载两轮实测下图为高负载轮次的结果上图为各类别请求的拦截红与放行绿数量——渗透检测与限流拦截量最大下图中各安全类别的拦截率与平均响应时间绝大多数类别拦截率保持在 80%–100%而附加响应开销仅约 3.6–5.2ms对业务几乎无感。标准负载轮次的完整数据同样可查看examples/testing/results/目录下的 JSON 与图表文件复现方法参考examples/testing/stress_test.py。新手推荐学习路径 动手示例examples/simple_app/是最小可运行示例examples/advanced_app/则演示了全部装饰器用法含 Docker Compose 一键启动入门文档docs/tutorial/first-steps.md快速上手、docs/installation.md安装与 IPInfo 配置能力详解docs/tutorial/ip-management/封禁与限流、docs/tutorial/security/检测引擎、渗透防护、代理安全API 参考docs/api/overview.md汇总了SecurityMiddleware、IPBanManager、RateLimitManager等全部核心组件常见问题FAQQ不装 Redis 能用吗能。默认内存存储即可运行单机多实例部署时开启enable_redisTrue限流计数与封禁状态才会跨节点共享说明见docs/tutorial/redis-integration/caching.md。Q国家封锁需要额外账号吗需要免费申请的 IPInfo token每月 5 万次查询额度。若只用 IP 黑白名单、限流、渗透检测等能力则完全不需要。Q它会拦截正常的健康检查探针吗可以通过白名单 IP 或bypass装饰器为监控探针开绿色通道不影响其他防护。总结FastAPI Guard 用一个安全中间件把 IP 管控、限流封禁、渗透检测、蜜罐、行为分析、国家/云厂商封锁、紧急模式等 12 大能力打包交付再配合 20 路由级装饰器实现全局兜底 单点加固的双层防护。对于新手来说记住三句话就够了装包、配SecurityConfig、挂中间件——然后你的 FastAPI 应用就已经穿上了铠甲。⚔️【免费下载链接】fastapi-guardA security library for FastAPI that provides middleware to control IPs, log requests, detect penetration attempts, honeypot setup, behavioural analysis, emergency mode lockdown, block Cloud Provider IPs, country blocking, and much more... It integrates seamlessly with FastAPI to offer robust protection against various security threats.项目地址: https://gitcode.com/gh_mirrors/fa/fastapi-guard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考