testcookie_refresh_encrypt_cookie_key

'testcookie_refresh_encrypt_cookie_key' 指令在 NGINX 的 testcookie 机器人缓解模块中指定用于安全刷新挑战 cookie 的加密密钥。

语法testcookie_refresh_encrypt_cookie_key key_string;
默认值none
上下文http, server, location
参数1

说明

'testcookie_refresh_encrypt_cookie_key' 指令是 NGINX testcookie 机器人缓解模块的一部分,该模块使用基于 cookie 的挑战来阻止自动脚本访问。该指令通过指定在刷新挑战 cookie 时使用的加密密钥,发挥关键作用。该加密通过确保挑战 cookie 值的机密性和完整性来增强安全性,这些值通常是敏感的,并用于减轻欺诈性访问尝试。

配置后,指定的加密密钥用于使用 AES-128 in CBC mode 对挑战 cookie 进行加密。这确保即使攻击者截获了 cookie,没有正确的密钥也无法轻易解读其内容。选择强且静态的密钥至关重要,以避免频繁重新生成密钥,从而使现有 cookie 失效并导致对合法用户的烦人重新验证。此处使用的密钥应当保密,仅为 NGINX 服务器和任何需要解密 cookie 值的授权实体所知。

该加密密钥可以在 http, server, or location context 中设置,允许根据具体的运行要求或安全策略进行灵活配置。正确使用该指令还需要与 NGINX 中的整体 cookie 处理设置协同,谨慎管理 cookie 会话、秘密密钥及相关参数。

配置示例

http {
    testcookie_refresh_encrypt_cookie_key "my_secure_random_key";
}

确保加密密钥强且保密,以防止未授权访问 cookie 值。

更改加密密钥会使所有使用旧密钥的先前发放的挑战 cookie 失效。

不要经常重新生成密钥,除非绝对必要,因为这会中断用户会话。

← 返回所有指令