[
https://issues.apache.org/jira/browse/NIFI-13414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856600#comment-17856600
]
ASF subversion and git services commented on NIFI-13414:
--------------------------------------------------------
Commit 49a04010589c9cda9e931b3e4196333dd79c5002 in nifi's branch
refs/heads/main from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=49a0401058 ]
NIFI-13414 Removed Property Protection Modules and Encrypt Config
This closes #8978
- Removed nifi-property-protection-api and implementation modules
- Removed nifi-toolkit-encrypt-config and minifi-toolkit-encrypt-config modules
- Removed extra bootstrap.conf configuration files for property protection
implementations
Signed-off-by: Joseph Witt <[email protected]>
> Remove Property Protection Modules and Encrypt Config Tools
> -----------------------------------------------------------
>
> Key: NIFI-13414
> URL: https://issues.apache.org/jira/browse/NIFI-13414
> Project: Apache NiFi
> Issue Type: Improvement
> Reporter: David Handermann
> Assignee: David Handermann
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> NiFi and NiFi Registry have supported several strategies for encrypting and
> decrypting application properties located in {{nifi.properties}} apart from
> protection of sensitive values in the flow configuration. The initial
> implementation supported property encryption using AES-GCM with the key
> located in {{bootstrap.conf}}. Subsequent implementations provided
> integration with external secret management services. Supporting each of
> these implementations requires a large number of third-party libraries, and
> does not provide a public method for extensible implementation. Issues with
> both the security and maintainability of these existing approaches
> necessitates their deprecation and removal from the current main branch.
> The local AES-GCM implementation does not provide sufficient security from a
> holistic perspective of the installation. Although values in
> {{nifi.properties}} can be encrypted, the encryption key must be stored in
> plaintext in {{bootstrap.conf}}, and both of these files are located in the
> {{conf}} directory. Anyone with access to read the filesystem as the
> operating system user can put these configurations together to read the
> values in {{nifi.properties}}.
> The service-based implementations provide externalization using property
> value references or encrypted values that require interaction with the
> service for reading. This approach is beneficial, but it requires maintaining
> separate implementations for each service provider, and it also requires
> configuring access credentials in supplementary bootstrap configuration
> files. These service-based implementations have large dependency trees, the
> contents of each is stored in the {{properties}} directory under the {{lib}}
> directory. Incorporating copies of service provider libraries for all
> supported implementations adds significant weight to the standard
> distribution, and makes it more difficult to maintain, given the lack of
> dependency isolation.
> The existing {{nifi-property-protection-api}} and provided implementations do
> not support a maintainable pattern for application property security. The
> {{nifi-toolkit-encrypt-config}} module also contains a significant amount of
> code required to run out-of-band for encrypting application properties. The
> {{encrypt-config}} command is packaged apart from the standard NiFi
> distribution, making it less useful for common deployment scenarios.
> Taking these issues together, existing property protection modules for
> {{nifi.properties}} should be removed from the main branch. This will provide
> a streamlined distribution in the short term, and also provide a better
> foundation for considerating more robust approaches that are not subject to
> the same types of security concerns.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)