Postman在Ubuntu上如何保护API安全
导读:在 Ubuntu 上使用 Postman 保护 API 的安全实践 一 传输与客户端基础安全 强制使用 HTTPS/TLS,禁止在生产环境使用 HTTP;在 Postman 的 Tests 中加入断言,确保所有请求都走 HTTPS,例如:...
在 Ubuntu 上使用 Postman 保护 API 的安全实践
一 传输与客户端基础安全
- 强制使用 HTTPS/TLS,禁止在生产环境使用 HTTP;在 Postman 的 Tests 中加入断言,确保所有请求都走 HTTPS,例如:
pm.test("Response over HTTPS", function () { pm.expect(pm.request.url.protocol).to.equal('https'); } ); - 管理 Cookies:在 Postman 的 Cookies 管理器中为对应域名查看、添加、编辑或删除 Cookie,避免跨站请求伪造与会话劫持。
- 配置 客户端证书(mTLS):在 Postman 顶部菜单 Settings → Certificates → Add Certificate,填写 Host(仅域名,不含协议和端口),选择 CRT/KEY 文件,如有 Passphrase 一并填写。之后向该域名发起 HTTPS 请求时会自动携带客户端证书,用于服务端双向认证。
二 认证与授权机制
- 使用 OAuth 2.0 获取 Access Token(常见为 JWT),在 Postman 的 Authorization 选项卡选择 OAuth 2.0,按流程配置 Client ID/Secret、回调地址、授权类型(如 Authorization Code + PKCE 或 Client Credentials),获取并保存 access_token,在后续请求的 Header 中使用:
Authorization: Bearer { { access_token} } - 使用 JWT 时,确保服务端设置强签名算法(如 HS256/RS256)、合理 exp 与 iss/aud 校验,并在 Postman 中以变量安全引用令牌,避免硬编码与泄露。
- 如采用 Basic Auth,仅通过变量引用用户名与密码,避免明文出现在脚本或历史记录中;Postman 会在请求头中以 Base64 编码发送,但更推荐 OAuth 2.0/JWT 替代长期静态凭证。
三 请求级安全控制与自动化
- 使用 HMAC 签名防篡改与防重放:在 Pre-request Script 生成 timestamp 与 nonce,按服务端约定拼接字符串并计算 HMAC-SHA256,将结果写入环境变量供请求使用:
请求体或查询参数中使用占位符:const CryptoJS = require('crypto-js'); const phone = '18211101111'; const optCode = 'testfan'; const salt = 'your_salt'; const ts = Date.now().toString(); const nonce = Math.random().toString(36).substr(2, 8); const signStr = phone + optCode + salt + ts + nonce; const sign = CryptoJS.HmacSHA256(signStr, salt).toString(CryptoJS.enc.Hex); pm.environment.set('phone', phone); pm.environment.set('optCode', optCode); pm.environment.set('timestamp', ts); pm.environment.set('nonce', nonce); pm.environment.set('sign', sign);{ { phone} }、{ { timestamp} }、{ { nonce} }、{ { sign} }。 - 对敏感参数进行 加密:在 Pre-request Script 中调用 CryptoJS 做 AES 加密,或使用 forge.js 实现 RSA 加密,将密文写入变量后在请求中使用占位符,避免明文出现在请求体或日志中。
- 自动化 Token 管理:登录后将响应中的 access_token 写入环境变量,供后续请求统一引用:
const jsonData = pm.response.json(); const token = jsonData.access_token || jsonData.token || jsonData.meassage; pm.environment.set('access_token', token); - 避免 Cookie 依赖 的长期会话:优先使用 短生命周期的 Bearer/JWT,必要时结合 刷新令牌 机制,降低被盗用风险。
四 安全测试与持续验证
- 在 Postman 中系统化开展安全测试:
- 输入验证:构造 SQL 注入、XSS 等测试用例,验证过滤与响应处理是否安全。
- 错误处理:检查 4xx/5xx 响应是否泄露堆栈、数据库结构、密钥等敏感信息。
- 加密与协议:确保所有请求使用 HTTPS/TLS,并验证 TLS 版本与证书链;必要时在 Pre-request Script 中设置 TLS 1.2+。
- 自动化断言示例:
// 仅允许 TLS 1.2+ pm.test("TLS 1.2+", function () { pm.expect(pm.request.tlsVersion).to.be.at.least('TLSv1.2'); } ); // 错误响应不含敏感信息 pm.test("No sensitive info in error", function () { if (pm.response.code > = 400) { const body = pm.response.text(); pm.expect(body).to.not.include('password'); pm.expect(body).to.not.include('secret'); pm.expect(body).to.not.include('stacktrace'); } } );
五 本地环境安全与操作建议
- 在 Ubuntu 上安装与运行 Postman 时,优先使用 Snap 官方包(沙箱隔离更强):
sudo apt update sudo apt install snapd sudo snap install postman - 若手动安装,注意将程序目录放入 /opt,并通过符号链接或桌面文件注册启动器,便于统一权限与更新管理。
- 统一使用 环境变量/环境 管理密钥与令牌,避免提交到版本控制;定期轮换 Access Token、Client Secret 与 API Key,并限制令牌作用域与有效期。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Postman在Ubuntu上如何保护API安全
本文地址: https://pptw.com/jishu/770160.html
