[
https://issues.apache.org/jira/browse/HADOOP-14295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967365#comment-15967365
]
Wei-Chiu Chuang edited comment on HADOOP-14295 at 4/13/17 12:09 PM:
--------------------------------------------------------------------
Hi [~yuanbo] thanks for clarification.
bq. If we use a proxy server(Knox) to access Namenode log locally, it doesn't
print the warning log. If we access Namenode log directly, then we should
attach "x-forwarded-server", otherwise the warning log is unavoidable. It
doesn't have impact on RM/NM because they don't use
AuthenticationWithProxyUserFilter.java when they construct the filter chains.
bq. But I think the warning log is harmless, right? After all, it will ignore
"x-forwarded-server" and fallback to getRemoteAddr if the value is empty.
Understood it's a harmless false positive. However, our customers often get
confused and issue tickets when they see an unexpected warning message like
this. I assume this happens to other Hadoop vendors too.
At least, could you change the message to admit this can be a false positive
for NameNode?
was (Author: jojochuang):
Hi [~yuanbo] thanks for clarification.
bq. If we use a proxy server(Knox) to access Namenode log locally, it doesn't
print the warning log. If we access Namenode log directly, then we should
attach "x-forwarded-server", otherwise the warning log is unavoidable. It
doesn't have impact on RM/NM because they don't use
AuthenticationWithProxyUserFilter.java when they construct the filter chains.
But I think the warning log is harmless, right? After all, it will ignore
"x-forwarded-server" and fallback to getRemoteAddr if the value is empty.
Understood it's a harmless false positive. However, our customers often get
confused and issue tickets when they see an unexpected warning message like
this. I assume this happens to other Hadoop vendors too.
At least, could you change the message to admit this can be a false positive
for NameNode?
> Authentication proxy filter may fail authorization because of getRemoteAddr
> ---------------------------------------------------------------------------
>
> Key: HADOOP-14295
> URL: https://issues.apache.org/jira/browse/HADOOP-14295
> Project: Hadoop Common
> Issue Type: Bug
> Components: common
> Affects Versions: 2.7.4, 3.0.0-alpha2, 2.8.1
> Reporter: Jeffrey E Rodriguez
> Assignee: Jeffrey E Rodriguez
> Priority: Critical
> Fix For: 3.0.0-alpha2
>
> Attachments: hadoop-14295.001.patch, HADOOP-14295.002.patch,
> HADOOP-14295.003.patch
>
>
> When we turn on Hadoop UI Kerberos and try to access Datanode /logs the proxy
> (Knox) would get an Authorization failure and it hosts would should as
> 127.0.0.1 even though Knox wasn't in local host to Datanode, error message:
> {quote}
> "2017-04-08 07:01:23,029 ERROR security.AuthenticationWithProxyUserFilter
> (AuthenticationWithProxyUserFilter.java:getRemoteUser(94)) - Unable to verify
> proxy user: Unauthorized connection for super-user: knox from IP 127.0.0.1"
> {quote}
> We were able to figure out that Datanode have Jetty listening on localhost
> and that Netty is used to server request to DataNode, this was a measure to
> improve performance because of Netty Async NIO design.
> I propose to add a check for x-forwarded-for header since proxys usually
> inject that header before we do a getRemoteAddr
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]