我正在管理一个网站,在漏洞扫描期间,显示仍然支持 TLS 1.0 和 1.1。但是,我正在尝试禁用这些协议以提高安全性。
我对安全性了解不多,但我尝试了几种方法(在 ChatGPT 的帮助下),但似乎没有任何效果。
附加信息:
服务器:Tomcat 8.5.100
Java版本:java 8
请帮助我。
我为解决此问题所采取的步骤:
修改
server.xml
文件如下:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" server="Server" />
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/path" keystorePass="password"
clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2" URIEncoding="UTF-8"
Ciphers="ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-GCM-SHA384,
ECDHE-ECDSA-CHACHA20-POLY1305, ECDHE-RSA-CHACHA20-POLY1305,
ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES128-GCM-SHA256,
ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES256-SHA384,
ECDHE-ECDSA-AES128-SHA256, ECDHE-RSA-AES128-SHA256"
/>
设置
protocol="org.apache.coyote.http11.Http11Protocol"
似乎不起作用。
我尝试删除
ciphers
属性,但没有帮助。
我也尝试过使用
<SSLHostConfig>
标签,但是Tomcat无法重启。我检查了 catalina.log
并看到了这个错误:
Multiple SSLHostConfig elements were provided for the host name [_default_]. Hostnames must be unique.
java.security 文件
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, TLSv1, TLSv1.1, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES_EDE_CBC, anon, NULL
使用
openssl
命令进行测试,会话协议为TLSv1.2
检查官方 Tomcat 8.5 TLS/SSL 连接器。
protocols
属性:补充中有
sslProtocols
属性:从连接器属性中删除:
sslProtocol
、 sslEnabledProtocols
使用记录的
protocol
属性添加/删除协议与 +/-
Java 8 很古老,因此本身就支持 SSL 协议。并且该安全漏洞的根源在于Java而不是Tomcat应用服务器。
在问题中发帖,如何识别漏洞(Java 或 Tomcat)。