Hi All,

I am working on setting up a 2 node secure NiFi Cluster (version 1.1.1). I
am using the NiFi Toolkit in standalone mode for the cert and other
information. The 2 nodes are on AWS EC2 instances (1 node per EC2
instance). I am using and embedded Zookeeper for each instance for now, and
will move to use external Zookeeper (3 instances) once I have worked out
the following setup.

There do not look to be any errors during startup. As soon as making the
request from my web browser (with the client cert created from the
Toolkit), It results in an error. After that all looks well in the logs
with regard to recurring errors.

The error displayed in the UI is: "An unexpected error has occurred, please
check the logs"

Searching thru the logs I am seeing the following errors:

*nifi-app.log*

2017-03-16 12:58:44,199 WARN [Replicate Request Thread-5]
o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET
/nifi-api/flow/current-user to my-server-hostname:443 due to {}

com.sun.jersey.api.client.ClientHandlerException:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during
handshake

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.Client.handle(Client.java:652)
~[jersey-client-1.19.jar:1.19]

at
com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
~[jersey-client-1.19.jar:1.19]

at
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
~[nifi-framework-cluster-1.1.1.jar:1.1.1]

at
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770)
~[nifi-framework-cluster-1.1.1.jar:1.1.1]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_121]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]

at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_121]

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_121]

at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]

Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed
connection during handshake

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992)
~[na:1.8.0_121]

at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
~[na:1.8.0_121]

at
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
~[na:1.8.0_121]

at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
~[na:1.8.0_121]

at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
~[na:1.8.0_121]

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
~[jersey-client-1.19.jar:1.19]

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
~[jersey-client-1.19.jar:1.19]

... 12 common frames omitted

Caused by: java.io.EOFException: SSL peer shut down incorrectly

at sun.security.ssl.InputRecord.read(InputRecord.java:505) ~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
~[na:1.8.0_121]

... 23 common frames omitted

2017-03-16 12:58:44,200 WARN [Replicate Request Thread-5]
o.a.n.c.c.h.r.ThreadPoolRequestReplicator

com.sun.jersey.api.client.ClientHandlerException:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during
handshake

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.Client.handle(Client.java:652)
~[jersey-client-1.19.jar:1.19]

at
com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
~[jersey-client-1.19.jar:1.19]

at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509)
~[jersey-client-1.19.jar:1.19]

at
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:578)
~[nifi-framework-cluster-1.1.1.jar:1.1.1]

at
org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:770)
~[nifi-framework-cluster-1.1.1.jar:1.1.1]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_121]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]

at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_121]

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_121]

at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]

Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed
connection during handshake

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992)
~[na:1.8.0_121]

at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
~[na:1.8.0_121]

at
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
~[na:1.8.0_121]

at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
~[na:1.8.0_121]

at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
~[na:1.8.0_121]

at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
~[na:1.8.0_121]

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
~[jersey-client-1.19.jar:1.19]

at
com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
~[jersey-client-1.19.jar:1.19]

... 12 common frames omitted

Caused by: java.io.EOFException: SSL peer shut down incorrectly

at sun.security.ssl.InputRecord.read(InputRecord.java:505) ~[na:1.8.0_121]

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
~[na:1.8.0_121]

... 23 common frames omitted

*nifi-bootstrap.log (additional logging turned on in bootstrap.config)*

2017-03-16 12:39:41,195 INFO [NiFi logging handler] org.apache.nifi.StdOut
*** ServerHelloDone

2017-03-16 12:39:41,195 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-117, WRITE: TLSv1.2 Handshake, length = 2225

2017-03-16 12:39:41,196 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-16, WRITE: TLSv1.2 Application Data, length = 16384

2017-03-16 12:39:41,197 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-16, WRITE: TLSv1.2 Application Data, length = 5589

2017-03-16 12:39:41,197 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-16, WRITE: TLSv1.2 Application Data, length = 7213

2017-03-16 12:39:41,197 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-16, WRITE: TLSv1.2 Application Data, length = 7

2017-03-16 12:39:41,270 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-122, WRITE: TLSv1.2 Application Data, length = 16384

2017-03-16 12:39:41,270 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-122, WRITE: TLSv1.2 Application Data, length = 5378

2017-03-16 12:39:41,272 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-122, WRITE: TLSv1.2 Application Data, length = 16384

2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-118, called closeInbound()

*2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-118, fatal error: 80: Inbound closed before receiving
peer's close_notify: possible truncation attack?*

*2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
javax.net.ssl.SSLException: Inbound closed before receiving peer's
close_notify: possible truncation attack?*

2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
%% Invalidated:  [Session-7405, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]

2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-118, SEND TLSv1.2 ALERT:  fatal, description =
internal_error

2017-03-16 12:39:41,275 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-118, WRITE: TLSv1.2 Alert, length = 2

2017-03-16 12:39:41,282 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-117, WRITE: TLSv1.2 Application Data, length = 7663

2017-03-16 12:39:41,282 INFO [NiFi logging handler] org.apache.nifi.StdOut
NiFi Web Server-117, WRITE: TLSv1.2 Application Data, length = 7

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Allow unsafe renegotiation: false

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Allow legacy hello messages: true

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Is initial handshake: true

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Is secure renegotiation: false

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Replicate Request Thread-4, setSoTimeout(5000) called

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring disabled protocol: SSLv3

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
for TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
for TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
for TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for
TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for
TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for
TLSv1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
for TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
for TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for
TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
for TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for
TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for
TLSv1.1

2017-03-16 12:39:41,289 INFO [NiFi logging handler] org.apache.nifi.StdOut
Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for
TLSv1.1

2017-03-16 12:39:41,290 INFO [NiFi logging handler] org.apache.nifi.StdOut
%% No cached client session

2017-03-16 12:39:41,290 INFO [NiFi logging handler] org.apache.nifi.StdOut
*** ClientHello, TLSv1.2


*nifi-user.log*

2017-03-16 12:39:41,110 INFO [NiFi Web Server-117]
o.a.n.w.a.c.IllegalStateExceptionMapper java.lang.IllegalStateException:
Kerberos ticket login not supported by this NiFi.. Returning Conflict
response.

2017-03-16 12:39:41,280 INFO [NiFi Web Server-18]
o.a.n.w.s.NiFiAuthenticationFilter Attempting request for (CN=adminuser,
OU=NIFI) GET https://my-server-ip-address/nifi-api/flow/current-user
(source ip: my-local-ip-address)

2017-03-16 12:39:41,280 INFO [NiFi Web Server-18]
o.a.n.w.s.NiFiAuthenticationFilter Authentication success for CN=adminuser,
OU=NIFI


Main articles followed for the secure cluster setup and for points of
reference:

http://bryanbende.com/development/2016/08/17/apache-nifi-1-0-0-authorization-and-multi-tenancy

https://pierrevillard.com/2016/11/29/apache-nifi-1-1-0-secured-cluster-setup/

https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#security-configuration


Any help or direction is greatly appreciated!


Cheers,

Ryan H.

Reply via email to