Rushabh Shah created HBASE-28757: ------------------------------------ Summary: Understand how supportplaintext property works in TLS setup. Key: HBASE-28757 URL: https://issues.apache.org/jira/browse/HBASE-28757 Project: HBase Issue Type: Improvement Components: security Affects Versions: 2.6.0 Reporter: Rushabh Shah
We are testing TLS feature and I am confused on how hbase.server.netty.tls.supportplaintext property works. Here is our current setup. This is a fresh cluster deployment. hbase.server.netty.tls.enabled --> true hbase.client.netty.tls.enabled --> true hbase.server.netty.tls.supportplaintext --> false (We don't want to fallback on kerberos) We still have our kerberos related configuration enabled. hbase.security.authentication --> kerberos *Our expectation:* During regionserver startup, regionserver will use TLS for authentication and the communication will succeed. *Actual observation* During regionserver startup, hmaster authenticates regionserver* via kerberos authentication*and *regionserver's reportForDuty RPC fails*. RS logs: {noformat} 2024-07-25 16:59:55,098 INFO [regionserver/regionserver-0:60020] regionserver.HRegionServer - reportForDuty to master=hmaster-0,60000,1721926791062 with isa=regionserver-0/<rs-ip-address>:60020, startcode=1721926793434 2024-07-25 16:59:55,548 DEBUG [RS-EventLoopGroup-1-2] ssl.SslHandler - [id: 0xa48e3487, L:/<rs-ip-address>:39837 - R:hmaster-0/<hmaster-ip-address>:60000] HANDSHAKEN: protocol:TLSv1.2 cipher suite:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 2024-07-25 16:59:55,578 DEBUG [RS-EventLoopGroup-1-2] security.UserGroupInformation - PrivilegedAction [as: hbase/regionserver-0. (auth:KERBEROS)][action: org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2@3769e55] java.lang.Exception at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1896) at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:161) at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:43) ... ... 2024-07-25 16:59:55,581 DEBUG [RS-EventLoopGroup-1-2] security.UserGroupInformation - PrivilegedAction [as: hbase/regionserver-0 (auth:KERBEROS)][action: org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2@c6f0806] java.lang.Exception at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1896) at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:161) at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:43) at org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) 2024-07-25 16:59:55,602 WARN [regionserver/regionserver-0:60020] regionserver.HRegionServer - error telling master we are up org.apache.hbase.thirdparty.com.google.protobuf.ServiceException: org.apache.hadoop.hbase.exceptions.ConnectionClosedException: Call to address=hmaster-0:60000 failed on local exception: org.apache.hadoop.hbase.exceptions.ConnectionClosedException: Connection closed at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:340) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$200(AbstractRpcClient.java:92) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:595) at org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.regionServerStartup(RegionServerStatusProtos.java:16398) at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2997) at org.apache.hadoop.hbase.regionserver.HRegionServer.lambda$run$2(HRegionServer.java:1084) at org.apache.hadoop.hbase.trace.TraceUtil.trace(TraceUtil.java:187) at org.apache.hadoop.hbase.trace.TraceUtil.trace(TraceUtil.java:177) at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:1079) Caused by: org.apache.hadoop.hbase.exceptions.ConnectionClosedException: Call to address=hmaster-0:60000 failed on local exception: org.apache.hadoop.hbase.exceptions.ConnectionClosedException: Connection closed at org.apache.hadoop.hbase.ipc.IPCUtil.wrapException(IPCUtil.java:233) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.onCallFinished(AbstractRpcClient.java:391) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$100(AbstractRpcClient.java:92) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:425) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:420) at org.apache.hadoop.hbase.ipc.Call.callComplete(Call.java:114) at org.apache.hadoop.hbase.ipc.Call.setException(Call.java:129) at org.apache.hadoop.hbase.ipc.NettyRpcDuplexHandler.cleanupCalls(NettyRpcDuplexHandler.java:231) at org.apache.hadoop.hbase.ipc.NettyRpcDuplexHandler.channelInactive(NettyRpcDuplexHandler.java:239) at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) {noformat} Hmaster logs {noformat} 2024-07-25 16:59:55,378 DEBUG [RS-EventLoopGroup-1-2] ipc.NettyRpcServer - SSL handler added for channel: [id: 0xd4071764, L:/<hmaster-ip>:60000 - R:regionserver-0/<rs-ip>:39837] 2024-07-25 16:59:55,526 DEBUG [RS-EventLoopGroup-1-2] ssl.SslHandler - [id: 0xd4071764, L:/<hmaster-ip>:60000 - R:regionserver-0/<rs-ip>:39837] HANDSHAKEN: protocol:TLSv1.2 cipher suite:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 2024-07-25 16:59:55,583 INFO [RS-EventLoopGroup-1-2] hbase.Server - Auth successful for hbase/regionserver-0 (auth:KERBEROS) {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)