OpenShift 3.11路由器设置ROUTER_CIPHERS禁用CBC弱加密的配置方法
OpenShift 3.11 路由器禁用CBC加密套件配置方案
实现逻辑说明
OpenShift 3.11版本的默认HAProxy路由器配置由default命名空间下的DeploymentConfig(简称DC)资源管控,将路由器容器的ROUTER_CIPHERS环境变量设置为modern值后,会自动启用Mozilla推荐的现代加密套件集合,仅保留TLS 1.2及以上版本的GCM、ChaCha20等强加密套件,自动禁用所有CBC类弱加密套件。
两种可行配置方式
方式1:命令行直接注入(推荐,操作容错率高)
直接通过oc命令向路由器DC注入环境变量,系统会自动触发路由器Pod滚动更新,无需手动梳理yaml结构:
oc set env dc/router ROUTER_CIPHERS=modern -n default
方式2:手动编辑yaml文件配置
如果需要留存yaml配置文件归档,可按以下步骤操作:
- 导出当前路由器的DC配置到本地文件
oc get dc/router -n default -o yaml > router-dc.yaml
- 编辑导出的yaml文件,找到
spec.template.spec.containers下的路由器容器配置段,在env数组中新增环境变量项,核心结构参考如下:
仅展示相关配置段,其余原有字段无需修改
spec: template: spec: containers: - name: router # 路由器容器的固定名称,不要修改 image: openshift/origin-haproxy-router:v3.11 # 原有其他容器配置保留,找到env数组新增以下内容 env: # 原有其他环境变量不要删除,新增如下两行 - name: ROUTER_CIPHERS value: "modern"
- 应用修改后的配置
oc apply -f router-dc.yaml -n default
- 等待路由器Pod滚动更新完成即可。
配置生效验证
- 验证环境变量是否成功注入容器:
oc exec -n default $(oc get po -n default -l deploymentconfig=router -o name | head -n1) -- env | grep ROUTER_CIPHERS
正常返回结果为ROUTER_CIPHERS=modern
- 验证CBC套件已被禁用:
# AES256-SHA为典型CBC类加密套件,返回连接失败则说明禁用生效 openssl s_client -connect <路由器对外访问IP>:443 -cipher AES256-SHA
内容的提问来源于stack exchange,提问作者gpinho
相关产品推荐
相关产品推荐

