为了让nginx和OpenSSL匹配,于是找到了这个网站,只不过没用到而已。
参考链接:自动生成nginx配置:https://ssl-config.mozilla.org/#server=nginx&version=1.15.8.3&config=intermediate&openssl=1.1.1&guideline=5.6
于是乎,带着期待的心情验证生产环境,但生产环境仍是下面这种样子,可惜可惜。

由于升级OpenSSL不行,不能通过高版本禁用加密算法。
无非就是禁止某些加密算法套件而已嘛,知道是啥意思了,那就开始手动禁用吧。
查阅资料,这个说的好像跟我们这个一模一样啊,开整吧。
参考链接:禁用3DES和DES弱加密算法,保证SSL证书安全:https://huaweicloud.csdn.net/637ee66adf016f70ae4c909f.html
既然要改nginx,那再参考参考吧
参考链接:Nginx 安全优化:https://blog.csdn.net/IT_ZRS/article/details/124459610
老规矩,测试环境先整。
修改nginx配置,增加配置
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA;
然后在参数 ssl_ciphers 后增加和减去 DES-CBC3-SHA,观察效果。
如果在添加上 DES-CBC3-SHA 时,会出现那个C的漏洞。
在去掉 DES-CBC3-SHA 时,也就意味着手动禁用,就不会出现漏洞。
于是乎,再次带着期待的心情验证生产环境,但生产环境仍是下面这种样子,可惜可惜。

测试环境,域名直接打到nginx上,所以在nginx的配置上修改TSL相关配置,都可以直接在域名中体现,手动设置1.2并排除DES-CBC3-SHA加密算法套件,就可以解决改问题。(2.4可以印证)。
生产环境,开了阿里云的SLB,这导致域名并非直接打到nginx上。
域名先打到SLB上,然后SLB在负载到nginx上,于是基于这种机制,对于nginx的修改,并不会对域名相关的漏洞有影响。
不同点:SLB
参考链接:官网TLS安全策略说明:https://help.aliyun.com/document_detail/90740.html

上图可以看到SLB的TLSv1.2支持的算法加密套件中有 DES-CBC3-SHA
也就是导致安全漏洞的原因所在了。
在解决问题的过程中,发现了下面这个链接
参考链接:阿里云的SLB的安全漏洞–TLS弱密码加密算法漏洞:https://blog.csdn.net/m0_37268841/article/details/90715374
额,就很烦,如果早点看到这个链接,能少走很多的弯路啊。
为了解决问题,我们甚至要升级对java8并不友好的 TLSv1.3了,不过改动还挺大,就算了吧
参考链接:Java8支持TLSv1.3协议请求:https://blog.csdn.net/devzyh/article/details/122074632
解决该问题的方式:
方式一(推荐):
使用自定义的加密算法套件,然后在自定义的加密算法套件中,禁止 DES-CBC3-SHA 加密算法套件。
参考链接:https://help.aliyun.com/document_detail/198572.html
方式二(比较难):
如果你足够牛*的话,就找阿里云,让他们针对你们的服务来去处理该加密算法套件。
方式三(不推荐):
升级TLS版本,不过1.3的版本对Java8并不是很支持,要全系统测试一遍,代价比较大,还比较麻烦。
支持SSL中等强度密码套件
漏洞描述:
远程主机支持的SSL加密算法提供了中等强度的加密算法,目前,使用密钥长度大于等于56bits并且小于112bits的算法都被认为是中等强度的加密算法。
漏洞解决方案:
升级2021年年度版本或更新版本后,参照SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)解决方法进行修复(链接如下:https://zhiliao.h3c.com/Theme/details/130547 ),
其中加密套件禁用如下两种:
rsa_aes_256_cbc_sha
dhe_rsa_aes_256_cbc_sha
OpenSSL:https://pan.baidu.com/s/1RNsZojB45uZHGyVqyJjrjQ?pwd=3vya
提取码: 3vya
nmap-7.93-setup:https://pan.baidu.com/s/1zTax5nI8whstaFqYnmqQ0A?pwd=aviv
提取码: aviv
nmap-7.93-setup: https://download.csdn.net/download/qq_38254635/87349350
有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!
客户服务器被发现Sweet32,经过检查,都是受DES/3DES影响导致的,解决办法就是禁用了DES/3DES。
验证方式:nmap -sV --script ssl-enum-ciphers -p 443 test.com
以下是我从网络上找到的一些信息:
分组密码在SSL/TLS协议中的特定配置会遭到碰撞攻击。
传统64位块分组密码在使用CBC模式时很容易被碰撞攻击。SSL/TLS协议所有支持使用3DES对称加密的密码套件都受影响(例如 ECDHE-RSA-DES-CBC3-S...
nmap -sV --script ssl-enum-ciphers -p 443 www.baidu.com
nmap --script="ssl-enum-ciphers" -sS -Pn -p 443 www.baidu.com
sslscan www.baidu.com
2.nginx ssl配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:.
Windows服务器中防御LOGJAM攻击与Sweet32攻击https://www.cnblogs.com/masahiro/p/15272066.html
LOGJAM 攻击是一个 SSL/TLS 漏洞,允许攻击者拦截易受攻击的客户端和服务器之间的 HTTPS 连接, 并强制它们使用“导出级”加密,然后可以对其进行解密或更改。发现网站支持 DH(E) 导出密码套件, 或使用小于 1024 位的 DH 素数或最大 1024 位的常用 DH 标准素数的非导出 DHE 密码套件时,会发出 此漏洞警报。
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)漏洞:
TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。
风险级别:低
该漏洞又称为SWEET32(https://sweet32.info)是对较旧的分组密码算法的攻击,它使用64位的块大小,缓解SWEET32攻击OpenSSL 1.0.1和OpenSSL 1.0.2中基于DES密码套件从“高”密码字符串组移至“中”;但Op
TLS 1.0和 TLS 1.1可能会受到FREAK、POODLE、BEAST和CRIME等漏洞的影响。 关于漏洞的详情可以查看:
https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
可参考如下链接进行配置:
核心代码TlsClientProtocol protocol = new TlsClientProtocol(tcpClient.GetStream(), new Org.BouncyCastle.Security.SecureRandom());
MyTlsClient client = new MyTlsClient();
protocol.Connect(client);
使用Windows自带的FIPS代替SSL加密
1)启用FIPS
操作步骤:管理工具->本地安全策略->安全设置->本地策略->安全选项->找到"系统加密:将FIPS兼容算法用于加密、哈希和签名"选项->右键"属性"->在"本地安全设置"下,选择"已启用(E)",点击"应用"、“确定”,即可。
2)禁用SSL密码套件
操作步骤:按下’ Win + R’,进入"运行",键入"
SSL漏洞问题[解决]前言1、升级openssl版本2.1 安装2.2 备份2.3 创建软连接2.4 查看openssl版本2.5 重新扫描,发现漏洞任未解决2、重新编译nginx2.1 openssl前置2.2 重新编译安装2.3 验证
扫描网站发现有两个跟SSL相关的中级漏洞
TLS/SSL Sweet32 attack
TLS/SSL Wrak Cipher Suites
1、升级openssl版本
2.1 安装
wget -P /usr/local/src https://infra-res
SSL/TLS协议信息泄露漏洞是指在使用SSL/TLS协议时,攻击者可以通过一些手段获取到加密通信中的明文信息,从而导致信息泄露。这种漏洞可能会导致用户敏感信息泄露、身份认证失效等安全问题。
这种漏洞的原因可能是SSL/TLS协议本身的设计缺陷,也可能是实现上的缺陷。例如,早期版本的SSL协议在加密过程中使用的是固定的密钥,攻击者可以通过分析加密报文来猜测密钥,从而获取到明文信息。此外,SSL/TLS协议中还存在一些加密算法的漏洞,例如BEAST攻击、POODLE攻击等,攻击者可以通过这些漏洞来获取加密通信中的明文信息。
为了防止SSL/TLS协议信息泄露漏洞的发生,需要使用较新的SSL/TLS协议版本,并且使用安全的加密算法。此外,还需要对服务器和客户端进行安全配置,禁用一些不安全的加密算法和协议版本。最好的方式是使用最新的TLS 1.3协议,它已经修复了之前版本中存在的大多数安全漏洞。
response.reset();
response.setContentType("application/pdf")
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(URLEncoder.encode(fileName, "UTF-8").getBytes("utf-8"), "ISO8859-1"));
response.getOutputStream();
JAVA根据模板生成PDF文件并导出
lixiamle:
JAVA根据模板生成PDF文件并导出
message丶小和尚: