zoukankan      html  css  js  c++  java
  • RTSP视频传输平台EasyNVR安全扫描出现3DES漏洞修复方案

    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也表现除了高度的安全性和稳定性。因此如果大家想要了解更多,可以直接下载,部署在自己的项目中进行测试,欢迎大家了解。



  • 相关阅读:
    CNN超参数优化和可视化技巧详解
    人工智能技术入门该读哪些书
    深度学习全优化方法总结比较(转)
    在分类中如何处理训练集中不平衡问题
    支持向量机SVM 参数选择
    如何使用网格搜索来优化深度学习模型中的超参数(Keras)
    JavaScript权威设计--Window对象(简要学习笔记十三)
    JavaScript权威设计--命名空间,函数,闭包(简要学习笔记十二)
    JavaScript权威设计--JavaScript函数(简要学习笔记十一)
    JavaScript权威设计--JavaScript函数(简要学习笔记十)
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/14918554.html
Copyright © 2011-2022 走看看