testcookie_refresh_encrypt_cookie_iv
指令 'testcookie_refresh_encrypt_cookie_iv' 配置用于使用 AES-128 加密算法对挑战 cookie 进行加密的初始化向量。
NGINX testcookie robot mitigation module
·
httpserverlocation
语法testcookie_refresh_encrypt_cookie_iv base64_encoded_iv;
默认值none
上下文http, server, location
参数1
说明
在 NGINX testcookie 机器人缓解模块中,指令 'testcookie_refresh_encrypt_cookie_iv' 用于指定 AES-128 在 CBC 模式下加密时使用的初始化向量 (IV)。该指令接受单个参数,该参数应为表示在对挑战 cookie 进行加密时使用的 IV 的 base64 编码字符串。初始化向量对于 AES 等加密算法至关重要,因为它可确保相同的明文在多次加密后产生不同的密文,从而增强 cookie 值的安全性。
使用此指令时,指定的 IV 应唯一且随机以维持较高安全性。不当配置的 IV 可能削弱加密效果,可能使攻击者利用加密数据中可预测的模式。此外,开发人员应确保所提供的 IV 格式符合预期规范,否则可能导致运行时错误或在模块实现的挑战-响应过程中导致 cookie 处理失败。该指令可以放置在包括 'http'、'server' 或 'location' 在内的不同上下文中,便于在不同服务器配置中使用。
在实践中,该指令与其他 testcookie 指令一起使用,以有效管理和保护基于 cookie 的挑战响应,帮助缓解机器人流量。对于使用此类缓解措施的 Web 服务用户而言,它尤其有助于维护会话完整性和安全性。
配置示例
http {
testcookie on;
testcookie_refresh_encrypt_cookie_iv 'Y2hhbGxlbmdl'; # Example base64_encoded IV
}⚠
确保 IV 在每个会话中都是随机且唯一的,以防止安全缺陷。
⚠
Base64 encoding 必须正确格式化;否则,NGINX 可能无法启动。
⚠
调整此指令需要相应地更新 client-side 的解密过程。