Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6E5E31890E for ; Wed, 13 Jan 2016 17:14:40 +0000 (UTC) Received: (qmail 96448 invoked by uid 500); 13 Jan 2016 17:14:40 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 96399 invoked by uid 500); 13 Jan 2016 17:14:40 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 96368 invoked by uid 99); 13 Jan 2016 17:14:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Jan 2016 17:14:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id E64202C1F5B for ; Wed, 13 Jan 2016 17:14:39 +0000 (UTC) Date: Wed, 13 Jan 2016 17:14:39 +0000 (UTC) From: "Vijay Singh (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HADOOP-12668) Modify HDFS embeded jetty server logic in HttpServer2.java to exclude weak Ciphers through ssl-server.conf MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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} ssl.server.exclude.cipher.list 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 Optional. The weak security cipher suites that you want excluded from SSL communication. {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)