[
https://issues.apache.org/jira/browse/THRIFT-3165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15862770#comment-15862770
]
ASF GitHub Bot commented on THRIFT-3165:
----------------------------------------
Github user jeking3 commented on the issue:
https://github.com/apache/thrift/pull/1185
@gadLinux The current standard for thrift is to use the SSLv23 handshake,
but to negotiate at TLSv1.0 or later. See Apache Jira
https://issues.apache.org/jira/browse/THRIFT-3165 for that. Code to be checked
in today for SSL support should use "SSLTLS" and disable SSL v2 and v3
negotiation which is what I did. So no, we cannot change it to anything else
than what I put in my 3rd PR to you.
As a consuming application one should be able to set the accepted version.
I know you can do this in C++ and in Java because the constructors to
TSSLSocket take an enumeration. In your implementation here how can we change
it so that when a thrift_ssl_socket class is initialized, the consuming
application can decide the SSL versions to support? I'm not sure this
implementation allows for that control as-is.
@nsuke I think I found a way to make the code conditional on OP_NO_SSLv3
support instead of a Python version. I'll post once I get the syntax right.
> Improve SSL Security in thrift by requiring TLS v1.2 by default
> ---------------------------------------------------------------
>
> Key: THRIFT-3165
> URL: https://issues.apache.org/jira/browse/THRIFT-3165
> Project: Thrift
> Issue Type: Improvement
> Components: AS3 - Library, C glib - Library, C# - Library, C++ -
> Library, Cocoa - Library, D - Library, Delphi - Library, Erlang - Library, Go
> - Library, Haskell - Library, Haxe - Library, Java - Library, JavaME -
> Library, JavaScript - Library, Lua - Library, Node.js - Library, OCaml -
> Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library,
> Smalltalk - Library
> Affects Versions: 0.9.2
> Reporter: James E. King, III
> Labels: SSL, SSLSocketFactory, Security, TLS
>
> Thrift provides an SSL implementation and as such we need to ensure that
> thrift as a distribution is not the source of a security risk. Currently
> there is no uniformity across the library implementations to require a
> certain level of security for SSL communications.
> It is therefore proposed that the Thrift project require all SSL
> implementations shipping with the distribution to require TLS 1.2 or later as
> the accepted ciphers for a server socket. TLS 1.2 was defined in RFC 5246 in
> August of 2008.
> By shipping thrift with anything less, the finger can potentially be pointed
> back at thrift as a project for not providing the proper security. By
> setting the bar as high as possible on components in the package, the third
> party using Thrift must make a conscious decision to add other ciphers that
> are not as strong as TLS 1.2. Since the third party is making this decision,
> they are fully accepting the consequences of their action.
> Given this affects all SSL implementations, it could be done in one commit or
> in multiple commits; if the work is to be split up then it should be done
> with subtasks in Jira.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)