Dav*_*vid 50 ssl pci-dss apache-2.4
有谁知道为什么我不能通过更新配置来禁用 tls 1.0 和 tls1.1。
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
Run Code Online (Sandbox Code Playgroud)
这样做之后,我重新加载了 apache 我使用 ssllabs 或 comodo ssl 工具进行了 ssl 扫描,它仍然说支持 tls 1.1 和 1.0。我想删除这些?
HBr*_*ijn 67
当您有多个 TLS VirtualHosts 并使用 Server Name Indication (SNI) 时,允许SSLProtocol 为每个 VirtualHost 指定一个指令的语法,但除非您在实践中拥有 IP VirtualHosts,否则该SSLProtocol指令第一次出现时的设置将用于整个服务器和/或所有支持 TLS 1的基于名称的 VirtualHosts 。
因此,请检查您的主要httpd.conf(以及所有包含的片段,例如conf.d/*.conf和类似的包含)以获取更多出现的SSLProtocol指令。
你的语法是正确的,虽然我同意ezra-s 的回答,当你扩展all速记时,你可以稍微改进:
SSLProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
Run Code Online (Sandbox Code Playgroud)
只需使用:
SSLProtocol TLSv1.2
Run Code Online (Sandbox Code Playgroud)
ezr*_*a-s 11
您指定的就足够了,它不应该显示任何其他协议。记住 SSLLABS 缓存最近的测试。尽管知道没有其他协议像您一样定义它,但故意有点令人费解。
在任何情况下,您都可以使用它或简单地:
SSLProtocol TLSv1.2
Run Code Online (Sandbox Code Playgroud)
小智 6
在 Apache 中禁用 TLS1.0 版本。
如果您有多个虚拟主机,那么您必须更新所有配置文件,否则,ssl.conf 就足够了。
要检查 TSL 支持版本:
# nmap --script ssl-enum-ciphers -p 443 192.168.11.10 | grep TLSv
| TLSv1.0:
| TLSv1.1:
| TLSv1.2:
Run Code Online (Sandbox Code Playgroud)
修改 Apache 配置文件vi /etc/httpd/conf.d/web.conf删除所有 TLS 并只允许 TLS1.2。
SSLProtocol TLSv1.2
Run Code Online (Sandbox Code Playgroud)
修改后验证。
# grep SSLProtocol /etc/httpd/conf.d/web.conf
SSLProtocol TLSv1.2
# nmap --script ssl-enum-ciphers -p 443 192.168.11.10 | grep TLSv
| TLSv1.2:
# service httpd restart
Run Code Online (Sandbox Code Playgroud)
小智 6
我也在努力解决这个问题,使用SSLProtocol指令修改配置不起作用。我最终将以下内容添加到我的虚拟主机配置中:
SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2"
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好。您可以在此处阅读有关该SSLOpenSSLConfCmd指令的更多信息。
| 归档时间: |
|
| 查看次数: |
139736 次 |
| 最近记录: |