首页主机资讯centos环境postman如何加密

centos环境postman如何加密

时间2025-12-17 20:03:03发布访客分类主机资讯浏览1499
导读:CentOS 上 Postman 的加密实践 一 传输层加密与基础安全 确保所有 API 请求都通过 HTTPS 发起,避免明文传输;在 Postman 的 Settings → Proxy 中按需配置代理;将 API Key、密码 等敏...

CentOS 上 Postman 的加密实践

一 传输层加密与基础安全

  • 确保所有 API 请求都通过 HTTPS 发起,避免明文传输;在 Postman 的 Settings → Proxy 中按需配置代理;将 API Key、密码 等敏感信息放入 环境变量,避免在脚本或请求中硬编码;按需开启 SSL 证书校验;同时 定期更新 Postman 以获取安全补丁。

二 请求内容加密 使用内置 CryptoJS

  • 思路:在请求的 Pre-request Script 中对请求体或字段进行加密,把密文放入变量,再在请求中使用;在 Tests 中对响应进行解密或校验。Postman 内置 CryptoJS,可直接使用 AES、Base64、MD5、SHA 等算法。
  • 示例 1 对称加密 AES(CBC 模式,推荐)
    • 预先在环境变量中设置:key(16 字节)iv(16 字节)、待加密的 plainText
    • Pre-request Script:
      // 从环境变量读取
      const key = CryptoJS.enc.Utf8.parse(pm.environment.get("key"));
             // 16 字节
      const iv  = CryptoJS.enc.Utf8.parse(pm.environment.get("iv"));
              // 16 字节
      const data = pm.environment.get("plainText");
      
      
      // 加密:CBC + PKCS7
      const encrypted = CryptoJS.AES.encrypt(data, key, {
       iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }
          );
          
      pm.environment.set("cipherText", encrypted.toString());
      
      
    • 在请求体(raw JSON)中使用:
      {
      
        "username": "alice",
        "payload": "{
      {
      cipherText}
      }
      "
      }
          
      
    • 如需在 Tests 中查看明文(示例):
      const ct = pm.response.json().payload;
      
      const pt = CryptoJS.AES.decrypt(ct, key, {
       iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }
          );
          
      pm.test("decrypted ok", () =>
       {
          
        pm.expect(pt.toString(CryptoJS.enc.Utf8)).to.eql(pm.environment.get("plainText"));
      
      }
          );
          
      
  • 示例 2 对称加密 AES(ECB 模式,示例)
    const key = CryptoJS.enc.Utf8.parse(pm.environment.get("key"));
         // 16 字节
    const data = pm.environment.get("plainText");
    
    const encrypted = CryptoJS.AES.encrypt(data, key, {
     mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }
        );
        
    pm.environment.set("cipherText", encrypted.toString());
        
    
  • 示例 3 哈希与编码(不可逆或仅编码)
    // Base64 编码
    const b64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("admin"));
        
    pm.environment.set("b64", b64);
        
    
    // MD5(不可逆)
    const md5 = CryptoJS.MD5("admin").toString().toUpperCase();
        
    pm.environment.set("md5", md5);
        
    
    以上示例基于 Postman 内置 CryptoJS 的常见用法,可按需选择 AES/ECB/CBC、Base64、MD5/SHA 等组合。

三 数据静态加密与备份

  • 本地数据目录(包含缓存、历史、Cookie 等)建议纳入 磁盘/目录级加密(如 LUKS、eCryptfs)或存放在已加密的家目录中;对导出的 集合与环境 JSON 文件,使用 GPG 等工具进行加密归档,示例:
    # 导出集合/环境 JSON(在 Postman 界面操作)
    gpg --symmetric --cipher-algo AES256 postman_collection.json
    gpg --symmetric --cipher-algo AES256 postman_environment.json
    
  • 自动化备份(示例思路,使用 cron)
    # 每天 02:00 导出并用 GPG 加密
    0 2 * * * /usr/bin/postman export data --path /opt/backups/postman_$(date +\%F).json &
        &
         \
      gpg --symmetric --cipher-algo AES256 /opt/backups/postman_$(date +\%F).json &
        &
         \
      rm -f /opt/backups/postman_$(date +\%F).json
    
    说明:Postman 桌面版提供数据导出能力;在 Linux 上可通过定时任务执行导出命令并配合 GPG 完成加密归档,确保静态数据安全与可审计恢复。

四 权限与运行安全

  • 安装目录与可执行文件权限最小化:仅对 Postman 可执行文件授予执行权限,例如:
    sudo chmod +x /opt/Postman/Postman
    
  • 如使用 Snap 安装,权限由 Snap 管理;如需命令行启动或创建快捷方式,可配置软链接或 .desktop 文件,并确保执行权限与路径正确。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos环境postman如何加密
本文地址: https://pptw.com/jishu/774274.html
CentOS中VirtualBox如何卸载 VirtualBox虚拟机在CentOS上如何实现快照

游客 回复需填写必要信息