首页 > 编程语言 >golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算法DES和3DES去掉。

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算法DES和3DES去掉。

时间:2023-04-04 12:34:02浏览次数:60  
标签:tls TLS AES 2183 ECDHE CVE 加密算法

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法白名单,将弱加密算法DES和3DES去掉。

服务端样例代码

package main

import (
    "crypto/tls"
    "fmt"
    "net/http"
)

func handler(writer http.ResponseWriter, request *http.Request) {
    fmt.Fprintf(writer, "Golang Hello World!")
}

func main() {
    fmt.Printf("main")
    tlsconf := &tls.Config{
        InsecureSkipVerify: true,
        MaxVersion:               tls.VersionTLS12,//维护到配置文件
        MinVersion:               tls.VersionTLS12,//维护到配置文件
        PreferServerCipherSuites: true,
    }
    //维护到配置文件
    tlsconf.CipherSuites = []uint16{
        tls.TLS_AES_128_GCM_SHA256,
        tls.TLS_CHACHA20_POLY1305_SHA256,
        tls.TLS_AES_256_GCM_SHA384,
        tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
        tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
        tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
        tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
        tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
        tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
        tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
        tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
        tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
        tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
        tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
        tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
    }
    mux := http.DefaultServeMux
    mux.HandleFunc("/ping", handler)
    server := &http.Server{
        Addr:      ":7076",
        TLSConfig: tlsconf,
        Handler:   mux,
    }
    fmt.Printf("main1")
    server.ListenAndServeTLS("D:\\server.crt", "D:\\server.key")
    fmt.Printf("main2")
}

测试方法

当注释掉Cipher部分时验证效果,可以看到很多D级别的加密算法(扫描命令 nmap -sV -p 7076 --script ssl-enum-ciphers)

 

 

 

 

 

 将CipherSuites配置生效后,看到已经扫描不到D级别的密码算法

 

 

 

 

 

参考网址

使用namp验证SSL/TSL相关漏洞CVE-2015-2808,CVE-2013-2566,CVE-2014-3566,CVE-2016-2183,CVE-2015-4000,瞬时 Diffie-Hellman 公共密钥过弱 等 - 迪克推多0 - 博客园 (cnblogs.com)

TLS完全指南(三):用Go语言写HTTPS程序 - 知乎 (zhihu.com)

(36条消息) 在 Windows 上安装 NMAP_nmap windows_allway2的博客-CSDN博客

HTTPS原理以及GOLANG指定HTTPS密码套件 - lvlooo - SegmentFault 思否

 其它问题

一开始我尝试用postman来提交指定算法套件到服务端查看返回结果中用的密码套件是否有变化,用Wireshark来监控TLS中密码套件的交换过程,但是结果很不稳定,postman提交时套件名称无法匹配(不能有下划线=》变中横线,不能有WITH,部分算法不能有TLS,算法和数字间不能有“-”,很蛋疼没找到完整名单),而且在wireshark中存在未指定的算法套件,感觉向提交的设置部分情况不生效,返回的算法套件也不一定在我们设置的集合里边。

猜测可能postman提交方式有问题,并且golang http库内部做了其它逻辑处理,最终转换思路采用扫描测试法来验证,希望读者不要在走我的老路。

标签:tls,TLS,AES,2183,ECDHE,CVE,加密算法
From: https://www.cnblogs.com/stjwy/p/17286010.html

相关文章

  • Python使用rtlsdr
    1.打开命令行  也可以在Spyder中的控制台中2.安装rtlsdrpipinstallpyrtlsdr3.下载驱动动态库https://ftp.osmocom.org/binaries/windows/rtl-sdr/因为python是64位的,所以驱动也要下载64位的 下载最新的即可4.这三个就是我们需要的驱动  5.将三个驱动复制......
  • TLS/SSL工作原理及握手过程
    一、TLS/SSL基础概念1、概念TLS传输层安全性协议(TransportLayerSecurity)SSL安全套接层(SecureSocketsLayer)目的:为互联网通信提供安全以及数据完整性保障。HTTPS=......
  • .net集成微信退款的错误,System.Net.WebException:请求被中止:未能创建SSL/TLS安全通道
    导入微信支付证书,证书密码一般可以设置为商户号集成微信退款的时候,出现了这样的一个错误。   需要修改IIS的应用程序池的高级配置中的一个值。这个地方要改成True......
  • mybatis 功能 beetl 实现 beetlsql
    beetlsql是使用beetl来完成mybatis功能。同时具有Hibernate优点&Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。S......
  • Windows 漏洞修改 CVE-2016-2183 CVE-2013-2566 CVE-2015-2808
    使用软件:https://www.nartac.com/Products/IISCrypto/Download参考链接:https://segmentfault.com/a/1190000042222840?utm_source=sf-similar-article......
  • 对称加密算法和非对称加密算法
    对称加密对称加密,是指,加密方和解密方使用同样的秘钥来进行加密和解密。在对称加密算法中,数据发信方将明文(原始数据)和加密(密钥)一起经过特殊加密算法处理后,使其变成复杂的......
  • SSL/TLS协议运行机制的概述
    互联网的通信安全,建立在SSL/TLS协议之上。本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC......
  • docker swarm 搭建ES集群(TLS版)
    ES集群如果想要开启密码访问,则需要开启集群的TLS功能所以在dockerswarm搭建ES集群的基础上增加TLS版的ES集群docker-compose文件准备docker-compose-es-cluster-tl......
  • 修复SQLServer 2014支持 TLS 1.2
    修复原因:当把.netcore应用程序部署到linux或docker中去的时候,连接sqlserver数据库可能报错如下:Aconnectionwassuccessfullyestablishedwiththeserver,butthena......
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
    解决办法 工具下载地址NartacSoftware-IISCrypto ......