[
https://issues.apache.org/jira/browse/NIFI-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15269068#comment-15269068
]
ASF GitHub Bot commented on NIFI-1614:
--------------------------------------
Github user alopresto commented on the pull request:
https://github.com/apache/nifi/pull/267#issuecomment-216594397
My recommendation would be a command line utility (could be a shell script
wrapping a JAR) which is invoked without arguments, provides a secure prompt
for entering a raw password, and returns the hashed password in _bcrypt_
format.
I think the Java code necessary to read from the XML configuration file,
accept a username and password entered in the UI form field, verify the
credentials are correct, and return a JWT authentication token should remain.
The administrative functionality of the utility (reading and writing the
XML file) does not seem necessary to me.
Again, I understand the desire for this from a proof-of-concept and
quick-deploy mindset, but I'll reiterate my feeling that this lightweight
option will become an accidental de facto default because it requires less
effort to deploy than LDAP, Kerberos, or client certificate authentication.
Currently, I believe those alternatives are all more robust and secure than
this approach:
- Each is a widely supported approach with many eyes on them, making
discovery of vulnerabilities more likely
- Each protects the knowledge of the end users' passwords from the
administrator, unlike this approach
- Each scales without the manual intervention of the administrator
(authorization still requires manual intervention)
I appreciate the effort to move away from anonymous access as the default
for the application. However, I believe there should be a balance here, as the
default is very clear that no authentication is performed. Administrators must
make an intentional effort to secure the instance with LDAP, Kerberos, or
client certificates, all of which I acknowledge have a higher cost of entry
than simple username/password authentication from a file store. My fear is that
as this method is the lowest cost, it will be explained (incompletely) on a
random blog article, become the quickest route for admins to get it running
without fully reading the documentation or knowing its limitations, and then be
deployed to a production environment.
I understand these concerns are mostly intuitive and not examples I can
point to with empirical evidence.
> Simple Username/Password Authentication
> ---------------------------------------
>
> Key: NIFI-1614
> URL: https://issues.apache.org/jira/browse/NIFI-1614
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Reporter: James Wing
> Priority: Minor
>
> NiFi should include a simple option for username/password authentication
> backed by a local file store. NiFi's existing certificate and LDAP
> authentication schemes are very secure. However, the configuration and setup
> is complex, making them more suitable for long-lived corporate and government
> installations, but less accessible for casual or short-term use. Simple
> username/password authentication would help more users secure more NiFi
> installations beyond anonymous admin access.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)