RTSP视频传输平台EasyNVR安全扫描出现3DES漏洞修复方案

2021-07-06 18:12:26 浏览数 (1)

EasyNVR视频平台支持开启https,https和http的区别之前介绍过,如果不知道如何开启,可以参考本文:EasyNVR硬件设备如何开启使用Https。在某个客户现场,客户开启了 https 接口访问程序,然后使用安全厂商提供的漏洞扫描工具,扫描对应的端口,出现了以下问题:

可以看到EasyNVR的安全扫描出现了3DES 漏洞。

https 由 http 协议和 tls 协议组成,其中 tls 在数据传递后,会使用对称密钥算法进行加密传输数据。使用的对称密钥算法,随着时间的过度,部分密钥算法被认证为非安全,可以通过某种方式破解获取到加密前数据。3DES 算法在 2016 年被证明可以通过某种方式破解,但是 EasyNVR 使用 Go 语言设计,相对于安全厂商的更新速度没那么快速,因此出现该问题。

我们的解决方案是在绑定服务的使用,使用自定义套件,参考代码如下:

tlsCipherSuites := make([]uint16, 0)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_RSA_WITH_AES_128_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_RSA_WITH_AES_256_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_RSA_WITH_AES_128_GCM_SHA256)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_RSA_WITH_AES_256_GCM_SHA384)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_AES_128_GCM_SHA256)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_AES_256_GCM_SHA384)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256)

tlsCipherSuites = append(tlsCipherSuites, tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256)

p.httpsServer = &http.Server{

Addr: fmt.Sprintf(":%d", p.httpsPort),

Handler: routers.Router,

ReadHeaderTimeout: 5 * time.Second,

TLSConfig: &tls.Config{

GetCertificate: cm.GetCertificate,

CipherSuites: tlsCipherSuites,

},

}

之后漏洞就被修复了,目前EasyNVR还未探测到其他漏洞,在现有的项目应用当中,EasyNVR也表现除了高度的安全性和稳定性。因此如果大家想要了解更多,可以直接下载,部署在自己的项目中进行测试,欢迎大家了解。

0 人点赞