k3s-traefik禁用3DES算法(修复CVE-2016-2183漏洞)

默认分类 · 2024-05-21

有台机器跑的旧版k3s,被扫出来有漏洞需要修复。尝试过网上升级OpenSSL版本的方法,没啥用,因为k3s的ingress是traefik,这玩意的pod里自带了tls相关的组件,不依赖节点的OpenSSL,升级OpenSSL也不能修复这个漏洞
因为机器在跑生产,ingress组件走生产流量,不能随便升级,CVE-2016-2183这个漏洞主要是3DES算法有缺陷,禁用该算法即可修复漏洞

环境信息

OSCentOS 7
k3sv1.21.14+k3s1
traefik2.6.1

漏洞扫描

nmap工具来扫描k3s节点暴露的443端口

root@ubuntu:~# nmap -p 443 --script ssl-enum-ciphers 192.168.50.125
Starting Nmap 7.93 ( https://nmap.org ) at 2024-05-21 11:15 CST
Nmap scan report for 192.168.50.125
Host is up (0.00027s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers: 
|   TLSv1.0: 
|     ciphers: 
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (secp256r1) - C
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors: 
|       NULL
|     cipher preference: server
|     warnings: 
|       64-bit block cipher 3DES vulnerable to SWEET32 attack

TLSv1.0+的结果就不放了,可以看到启用了3DES算法,且有一条warning提示vulnerable to SWEET32 attack,说明漏洞存在

禁用3DES算法

先挂一个文档链接在这里
https://doc.traefik.io/traefik/v2.6/https/tls/#tls-options
traefik提供了一个名为TLSOption的crd,用来控制traefik的关于tls的一些行为,通过TLSOption可以控制traefik使用一些特定的加密算法,将3DES算法排除

重点关注文档里的这一块:
default-tlsoption.jpg
要创建适用于所有(未指定TLSOption)ingress的默认TLSOption,需要在default命名空间下创建名为default的TLSOption,机器上不需要对某个特定的ingress规则指定TLSOption,逐个禁用3DES算法也麻烦,直接加一个默认规则就好

对应的yaml文件如下:

apiVersion: traefik.containo.us/v1alpha1
kind: TLSOption
metadata:
  name: default
  namespace: default

spec:
  minVersion: VersionTLS12
  cipherSuites:
    - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    - TLS_RSA_WITH_AES_128_CBC_SHA
    - TLS_RSA_WITH_AES_256_CBC_SHA

加密算法是从上面nmap的结果抄的,这里还顺便指定了最小TLS版本,不需要的话可以去掉

应用一下yaml文件:

kubectl create -n default -f default-tlsoption.yaml

验证

再跑一次nmap扫描

root@ubuntu:~# nmap -p 443 --script ssl-enum-ciphers 192.168.50.125
Starting Nmap 7.93 ( https://nmap.org ) at 2024-05-21 11:38 CST
Nmap scan report for 192.168.50.125
Host is up (0.00025s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers: 
|   TLSv1.2: 
|     ciphers: 
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors: 
|       NULL
|     cipher preference: server

可以看到两个3DES算法消失了,warning也没了,漏洞修复完成

Theme Jasmine by Kent Liao