[ https://issues.apache.org/jira/browse/HADOOP-12668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096578#comment-15096578 ]
Vijay Singh commented on HADOOP-12668: -------------------------------------- We ran the following command initially to test if RC4-SHA cipher was available during SSL handshake negotiation on cloudcat cluster. {code} [root@vjs-1 hadoop-hdfs]# openssl s_client -connect vjs-1.gce.amintor.com:20102 -cipher RC4-SHA CONNECTED(00000003) depth=0 O = Hadoop, CN = vjs-1.gce.amintor.com verify error:num=18:self signed certificate verify return:1 depth=0 O = Hadoop, CN = vjs-1.gce.amintor.com verify return:1 --- Certificate chain 0 s:/O=Hadoop/CN=vjs-1.gce.amintor.com i:/O=Hadoop/CN=vjs-1.gce.amintor.com --- Server certificate -----BEGIN CERTIFICATE----- MIIDAzCCAeugAwIBAgIEfCfmWjANBgkqhkiG9w0BAQsFADAyMQ8wDQYDVQQKEwZI YWRvb3AxHzAdBgNVBAMTFnZqcy0xLnZwYy5jbG91ZGVyYS5jb20wHhcNMTYwMTEw MTEwMDE2WhcNMjEwMTA4MTEwMDE2WjAyMQ8wDQYDVQQKEwZIYWRvb3AxHzAdBgNV BAMTFnZqcy0xLnZwYy5jbG91ZGVyYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQC+VTL4nPsdUr6ArEFRoxGlLgdo6/CyaOK5ZDAAymsXlk2hme9w FZS3HgYcTknKTlbbU3qX6p/xLECPEigozEcls3SD8EjtOXyl9ieAOixB7UpQHFXQ wLhVlYpNEA46mo3Zh3KUXRjRV4UVPqSz3EZQYzy0YlVfafgbqwOid30N3U+sq6ix JxoeeIcJpVJHPTPVyHSFVh85U/cUvH6usgVd5V3Y2rRY9zaKkPGsYD5wdr1GPsGM 4PHD1ZCzDS1yzDettI4yF0quAcrifYNVrCB6iCmRRJqKL2Yr1s0J0rLcFXvhK0tl shthKU7CM1ho+7tpco+JoS58nUTpE6kveXS/AgMBAAGjITAfMB0GA1UdDgQWBBT0 duhrSkY4yuXtv7EWGuKJVONADDANBgkqhkiG9w0BAQsFAAOCAQEAOb23t4qRRrHJ YSwRbhRZTNd6qkvtiLeNK7jh2otz7CxqlJZ2O6G62hde4MvdIwVjv4zgSVVPEi0X 9VWdu4Sg2LoTF7qUt7RrXnxt0Cxy8Jrpt4ijNFZ7wyldtep8/KNO21kMmLBU/24v A7w+KELa+Y0cX5lly78MprM5OhRPqAN3MYwXEyz+rA/R/9FoE9sL0CkAYN3sZx0e xe9qxgpVNyZE1loiwfkBU8O5Dkpg3iwqLLEhYiry6yRYcB7f1yRSRvtYQMlujqli tUg7XY6WXrK39m1O67cOWEM1mzd18wt76codlpsdtfj970SG5x8znnFhaIuBtfP7 jOjhwjgrBw== -----END CERTIFICATE----- subject=/O=Hadoop/CN=vjs-1.gce.amintor.com issuer=/O=Hadoop/CN=vjs-1.gce.amintor.com --- No client certificate CA names sent --- SSL handshake has read 922 bytes and written 413 bytes --- New, TLSv1/SSLv3, Cipher is RC4-SHA Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1.2 Cipher : RC4-SHA Session-ID: 569600FDDBA888F6F90F5EAC103FDB45E25F338F38C796D9A8C1E1ACF6E48E4D Session-ID-ctx: Master-Key: 3A7A5E1CEDDD7F93D8818F3324CEA91E0265805AE78098D6BA56AF764BA8CD7FD6DEAFC2E44D7AEB81095A46D4ECAF4B Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Start Time: 1452671229 Timeout : 300 (sec) Verify return code: 18 (self signed certificate) --- {code} Before deploying the safety valve ssl-server.xml RC4-SHA was available. However once the safety valve was deployed as follows, the cipher was not considered for negotiation. {code} <property> <name>ssl.server.exclude.cipher.list</name> <value>SSL_RSA_WITH_RC4_128_SHA,TLS_ECDH_ECDSA_WITH_RC4_128_SHA,TLS_ECDH_RSA_WITH_RC4_128_SHA,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA</value> <description>Optional. The weak security cipher suites that you want excluded from SSL communication.</description> </property> {code} The output of earlier command after deploying safety valve and restarting HDFS in cloudcat. {code} [root@vjs-1 hadoop-hdfs]# openssl s_client -connect vjs-1.gce.amintor.com:20102 -cipher RC4-SHA CONNECTED(00000003) 140163289794376:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:744: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 7 bytes and written 99 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE --- {code} > Modify HDFS embeded jetty server logic in HttpServer2.java to exclude weak > Ciphers through ssl-server.conf > ---------------------------------------------------------------------------------------------------------- > > Key: HADOOP-12668 > URL: https://issues.apache.org/jira/browse/HADOOP-12668 > Project: Hadoop Common > Issue Type: Improvement > Components: security > Affects Versions: 2.7.1 > Reporter: Vijay Singh > Assignee: Vijay Singh > Priority: Critical > Labels: common, ha, hadoop, hdfs, security > Attachments: Hadoop-12668.006.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > Currently Embeded jetty Server used across all hadoop services is configured > through ssl-server.xml file from their respective configuration section. > However, the SSL/TLS protocol being used for this jetty servers can be > downgraded to weak cipher suites. This code changes aims to add following > functionality: > 1) Add logic in hadoop common (HttpServer2.java and associated interfaces) to > spawn jetty servers with ability to exclude weak cipher suites. I propose we > make this though ssl-server.xml and hence each service can choose to disable > specific ciphers. > 2) Modify DFSUtil.java used by HDFS code to supply new parameter > ssl.server.exclude.cipher.list for hadoop-common code, so it can exclude the > ciphers supplied through this key. -- This message was sent by Atlassian JIRA (v6.3.4#6332)