快速参考
-
由……维护
瓦勒姆团队 -
何处获取帮助:
Docker 社区 Slack、服务器故障、Unix & Linux 或 Stack Overflow
支持的标签及相应的 Dockerfile 链接
快速参考(续)
-
已发布的图像工件详细信息:
仓库信息 仓库的repos/api-firewall/目录(历史)
(图像元数据、传输大小等) -
图像更新:
官方镜像仓库的library/api-firewall标签
官方镜像仓库的library/api-firewall文件(历史记录) -
此描述的来源:
文档库的api-firewall/目录(历史)
什么是 API 防火墙?
Wallarm API 防火墙是一个开源的轻量级代理,旨在通过基于严格的 OpenAPI/Swagger 模式验证进行强化来保护云原生环境中的 REST API 端点。Wallarm API 防火墙依赖于积极安全模型,允许匹配预定义的 API 请求和响应规范的调用,同时拒绝其他一切。
API 防火墙的关键特性有:
- 通过阻止与 OAS/Swagger 模式不匹配的请求和响应来保护 REST API 端点
- 发现影子 API 端点
- 如果使用基于 OAuth 2.0 协议的身份验证,则验证访问令牌
- 快速且简便的部署和配置
- 请求和响应处理模式、响应代码和日志格式的定制
用例
- 阻止不符合 OpenAPI 3.0 规范的异常请求和响应(如果在阻止模式下运行 API 防火墙)
- 发现影子 API 和未记录的端点(如果在日志记录模式下运行 API 防火墙)
- 记录不符合 OpenAPI 3.0 规范的异常请求和响应(如果在日志记录模式下运行 API 防火墙)
API 模式验证和积极安全模型
在启动 API 防火墙时,您应提供要使用 API 防火墙保护的应用程序的 OpenAPI 3.0 规范。已启动的 API 防火墙将作为反向代理运行,并验证请求和响应是否与规范中定义的模式匹配。
不匹配模式的流量将使用 STDOUT 和 STDERR Docker 服务进行记录,或被阻止(取决于配置的 API 防火墙操作模式)。如果在记录模式下操作并检测到不在规范中包含的端点上的流量,API 防火墙也会将这些端点记录为影子端点(返回代码为 404 的端点除外)。

所提供的 API 模式应使用 OpenAPI 3.0 规范在 YAML 或 JSON 文件( .yaml 、 .yml 、 .json 文件扩展名)中进行描述。
通过允许您使用 OpenAPI 3.0 规范设置流量要求,Wallarm API 防火墙依赖于积极安全模型。
技术特性
API 防火墙作为具有内置 OpenAPI 3.0 请求和响应验证器的反向代理工作。该验证器用 Go 编写,并针对极致性能和近乎零的额外延迟进行了优化。
启动 API 防火墙
要在 Docker 上下载、安装和启动 Wallarm API 防火墙,请参阅说明。
演示
您可以通过运行部署了受 Wallarm API 防火墙保护的示例应用程序的演示环境来试用 API 防火墙。有两个可用的演示环境:
与 Wallarm 的 API 防火墙相关的博客文章
性能
在创建 API 防火墙时,我们优先考虑速度和效率,以确保我们的客户拥有尽可能快的 API。我们的最新测试表明,API 防火墙处理一个请求所需的平均时间为 1.339 毫秒:
$ ab -c 200 -n 10000 -p ./large.json -T application/json http://127.0.0.1:8282/test/signup
Document Path: /test/signup
Document Length: 20 bytes
Concurrency Level: 200
Time taken for tests: 0.769 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 2150000 bytes
Total body sent: 283770000
HTML transferred: 200000 bytes
Requests per second: 13005.81 [#/sec] (mean)
Time per request: 15.378 [ms] (mean)
Time per request: 0.077 [ms] (mean, across all concurrent requests)
Transfer rate: 2730.71 [Kbytes/sec] received
360415.95 kb/s sent
363146.67 kb/s total
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 5 1.6 5 12
Processing: 2 10 5.4 9 59
Waiting: 2 8 5.2 7 56
Total: 3 15 5.7 14 68
Percentage of the requests served within a certain time (ms)
50% 14
66% 15
75% 16
80% 17
90% 18
95% 23
98% 36
99% 44
100% 68 (longest request)
这些性能结果并非我们在 API 防火墙测试期间获得的唯一结果。其他结果以及用于提高 API 防火墙性能的方法在这篇 Wallarm 的博客文章中进行了描述。
许可证
查看此映像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 api-firewall/ 目录中找到。
对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用都符合其中包含的所有软件的任何相关许可证。