Correct!

Thanks for the trace, Lou.

SSLFactory.java:67 specifies a list of protocols, including SSLv2Hello.

"It [IBM JSSE] does not support specifying SSLv2Hello."
https://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/knowndiffsun.html

Apache Cassandra is tested on Oracle JDK and OpenJDK. Use a supported
version of either of those, and this problem should go away.
Alternatively, do a custom build of Cassandra, if you must run a
little-used JDK?

Also, just for a little additional info, SSLv2Hello != SSLv2, so I do
not believe that there is a worry about some weak protocol here.
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4915862

-- 
Kind regards,
Michael

On 04/24/2018 11:23 AM, Marcus Haarmann wrote:
> OK, this is IBM JDK. The options might differ. I have been searching for
> Oracle Java options.
> You will need to consult the IBM documentation in this case.
> 
> Marcus Haarmann
> 
> ------------------------------------------------------------------------
> *Von: *"Lou DeGenaro" <lou.degen...@gmail.com>
> *An: *"user" <user@cassandra.apache.org>
> *Gesendet: *Dienstag, 24. April 2018 16:08:06
> *Betreff: *Re: How to configure Cassandra to NOT use SSLv2?
> 
> Thanks for your suggestions.  I tried using the -D shown below:
> 
>     degenaro@bluej421:/users/degenaro/cassandra/bluej421> ./bin/cassandra
>     degenaro@bluej421:/users/degenaro/cassandra/bluej421> numactl
>     --interleave=all /share/ibm-jdk1.8/bin/java
>     -Dhttps.protocols=TLSv1.2,TLSv1.1,SSLv2Hello
>     -Xloggc:./bin/../logs/gc.log -XX:+UseParNewGC
>     -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled
>     -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
>     -XX:CMSInitiatingOccupancyFraction=75
>     -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSWaitDuration=10000...
>     ...
>     WARN  14:01:09 Filtering out [TLS_RSA_WITH_AES_128_CBC_SHA,
>     TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
>     TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
>     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
>     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] as it isn't supported by the socket
>     Exception (java.lang.IllegalArgumentException) encountered during
>     startup: SSLv2Hello is not a recognized protocol.
>     java.lang.IllegalArgumentException: SSLv2Hello is not a recognized
>     protocol.
>         at com.ibm.jsse2.S.a(S.java:112)
>         at com.ibm.jsse2.S.b(S.java:136)
>         at com.ibm.jsse2.S.<init>(S.java:177)
>         at com.ibm.jsse2.as.setEnabledProtocols(as.java:2)
>         at
>     
> org.apache.cassandra.security.SSLFactory.getServerSocket(SSLFactory.java:67)
>         at
>     
> org.apache.cassandra.net.MessagingService.getServerSockets(MessagingService.java:514)
>         at
>     
> org.apache.cassandra.net.MessagingService.listen(MessagingService.java:498)
>         at
>     
> org.apache.cassandra.net.MessagingService.listen(MessagingService.java:482)
>         at
>     
> org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:765)
>         at
>     
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:654)
>         at
>     
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:534)
>         at
>     
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:344)
>         at
>     
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:568)
>         at
>     
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:696)
>     ERROR 14:01:09 Exception encountered during startup
>     java.lang.IllegalArgumentException: SSLv2Hello is not a recognized
>     protocol.
> 
> 
> Who is at fault: user, Cassandra, JVM, OS?
> 
> Thanks.
> 
> Lou.
> 
> 
> 
> 
> 
> 
> On Tue, Apr 24, 2018 at 9:43 AM, Marcus Haarmann
> <marcus.haarm...@midoco.de <mailto:marcus.haarm...@midoco.de>> wrote:
> 
>     Hi,
> 
>     I did take a look into the source code of 3.11, but I believe the
>     code is more or less the same.
>     The SSL code makes use of Java SSL Sockets so you can limit the
>     protocols in the "Java way".
>     The java way (at least for a recent Java 8) is to setup the
>     protocols in the <jre>/lib/security/java.security file.
>     Or to define a system property on the command line
>     (-Dhttps.protocols = TLSv1.2,TLSv1.1,SSLv2Hello).
> 
>     There are multiple options for SSL configuration in the config
>     
> (https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/secureSSLNodeToNode.html)
>     The most interesting one in your situation would be the
>     cipher_suites option, which allows you 
>     to limit the avaliable cipher suites e.g.
>     to TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
>     (which is a TLS1.2-only cipher suite).
> 
>     You can check the offered protocols for your server with an open
>     source tool like sslyze (https://github.com/nabla-c0d3/sslyze)
> 
>     Marcus Haarmann
> 
>     ------------------------------------------------------------------------
>     *Von: *"Lou DeGenaro" <lou.degen...@gmail.com
>     <mailto:lou.degen...@gmail.com>>
>     *An: *"user" <user@cassandra.apache.org
>     <mailto:user@cassandra.apache.org>>
>     *Gesendet: *Dienstag, 24. April 2018 11:21:06
>     *Betreff: *Re: How to configure Cassandra to NOT use SSLv2?
> 
>     Can someone please can tell me how to prevent Cassandra 3.0.9 from
>     using SSLv2?  Happy to use a newer version of Cassandra if that's
>     what's required.
> 
>     On Sat, Apr 21, 2018 at 8:30 AM, Lou DeGenaro
>     <lou.degen...@gmail.com <mailto:lou.degen...@gmail.com>> wrote:
> 
>         3.0.9
> 
>         On Fri, Apr 20, 2018 at 10:26 PM, Michael Shuler
>         <mich...@pbandjelly.org <mailto:mich...@pbandjelly.org>> wrote:
> 
>             On 04/20/2018 08:46 AM, Lou DeGenaro wrote:
>             > Could you be more specific?  What does one specify exactly to 
> assure
>             > SSLv2 is not used for both client-server and server-server
>             > communications?  Example yaml statements would be wonderful. 
> 
>             The defaults in cassandra.yaml have only TLS specified in
>             the current
>             branch HEADs. I'm pretty sure SSLv2/3 removal was a
>             post-POODLE commit.
>             It's possible you may be on something older - what version
>             are we
>             talking about?
> 
>             -- 
>             Michael
> 
>             
> ---------------------------------------------------------------------
>             To unsubscribe, e-mail:
>             user-unsubscr...@cassandra.apache.org
>             <mailto:user-unsubscr...@cassandra.apache.org>
>             For additional commands, e-mail:
>             user-h...@cassandra.apache.org
>             <mailto:user-h...@cassandra.apache.org>
> 
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org

Reply via email to