我一直试图在SSL服务器testing@ SSL实验室获得A +。 但是,我不知道如何通过“降级攻击预防”testing:

我在Linux Ubuntu 15.04(Vivid Vervet)上运行了Jetty 9.3.0.v20150612和OpenJDK 8。
hristo@test:~$ java -version openjdk version "1.8.0_45-internal" OpenJDK Runtime Environment (build 1.8.0_45-internal-b14) OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)
我已经阅读并遵循了Jetty的SSLconfiguration文档中的说明 ,并尽我所能编辑相关的XMLconfiguration文件。 不pipe我尝试什么,我仍然看到“不,不支持TLS_FALLBACK_SCSV”。
通过运行以下命令,为Jetty启用了https和ssl模块:
$ java -jar start.jar --add-to-startd=https,ssl INFO: ssl initialised in ${jetty.base}/start.d/ssl.ini INFO: https initialised in ${jetty.base}/start.d/https.ini INFO: Base directory was modified
我没有修改vanilla jetty.xml和jetty-https.xml因为我不知道我需要在那里更改。 这是我的configuration:
start.ini
# added this to the bottom of start.ini # TLS configuration -Dhttps.protocols="TLSv1,TLSv1.1,TLSv1.2" -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2" -Djdk.tls.ephemeralDHKeySize=2048
docker-SSL-的context.xml
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <!-- ============================================================= --> <!-- SSL ContextFactory configuration --> <!-- ============================================================= --> <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> <!-- ===================== --> <!-- other default configs --> <!-- ===================== --> <Set name="IncludeCipherSuites"> <Array type="String"> <Item>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</Item> <Item>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</Item> <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</Item> <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Item> <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</Item> <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Item> <Item>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</Item> <Item>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</Item> <Item>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</Item> <Item>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</Item> <Item>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</Item> <Item>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</Item> <Item>TLS_RSA_WITH_AES_256_GCM_SHA384</Item> <Item>TLS_RSA_WITH_AES_128_GCM_SHA256</Item> <Item>TLS_RSA_WITH_AES_256_CBC_SHA256</Item> <Item>TLS_RSA_WITH_AES_128_CBC_SHA256</Item> <Item>TLS_RSA_WITH_AES_256_CBC_SHA</Item> <Item>TLS_RSA_WITH_AES_128_CBC_SHA</Item> </Array> </Set> <Set name="IncludeProtocols"> <Array type="java.lang.String"> <Item>TLSv1</Item> <Item>TLSv1.1</Item> <Item>TLSv1.2</Item> </Array> </Set> <Set name="ExcludeCipherSuites"> <Array type="String"> <Item>SSL.*</Item> <Item>.*DES.*</Item> <Item>.*DSS.*</Item> <Item>.*KRB.*</Item> <Item>.*MD5.*</Item> <Item>.*NULL.*</Item> <Item>.*RC4.*</Item> </Array> </Set> <Set name="ExcludeProtocols"> <Array type="java.lang.String"> <Item>SSL</Item> <Item>SSLv2</Item> <Item>SSLv2Hello</Item> <Item>SSLv3</Item> </Array> </Set> <Set name="renegotiationAllowed" type="boolean">false</Set> <Set name="useCipherSuitesOrder"><Property name="jetty.sslContext.useCipherSuitesOrder" default="true"/></Set> </Configure>
我还有什么遗漏? 我需要更多地configurationJetty吗? 我需要以某种方式configurationJava 8吗? 我需要修改一些特殊的Ubuntuconfiguration吗?
它只是没有在Java中实现 – 它计划在Java 9中。
您可以按照#JDK-8061798进行更新。