[
https://issues.apache.org/jira/browse/FLUME-2442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roshan Naik updated FLUME-2442:
-------------------------------
Description:
For some sources and sinks, currently, passwords to keystores/other are
specified in clear text in the flume config file. Since flume config files
are often easily accessible to a broader audience (like in source control for
instance), the visibility of these passwords can be too much and risky for
institutions where security is too critical (like banks)
To help address this visibility issue it would be desirable to do the following
two things :
1) Store the password in a separate file and provide the path of that password
file in the flume config. this will enable the flume config to be shared with a
wider audience and reduce risk. the password file will need to be very tightly
guarded. Some components like file channel & JMS source already do this.
2) As an additional measure, obfuscate the password in the external password
file. A simple command line tool can be used to generate the obfuscated
password file. Flume source/sink configuration will read the password file and
de-obfuscate the password before using it to access the keystore. This
obfuscation step IMO is nice but unclear to me if it is essential.
The following Sources and Sinks appear to use inline cleartext passwords:
- Avro Source
- Avro sink
- HTTP(S) source
- File Channel
- JMS Source
JDBC channel also uses inline passwords but i am not aware of anybody who uses
JDBC channel. So it may not be an issue.
was:
For some sources and sinks, currently, passwords to keystores/other are
specified in clear text in the flume config file. Since flume config files
are often easily accessible to a broader audience (like in source control for
instance), the visibility of these passwords can be too much and risky for
institutions where security is too critical (like banks)
To help address this visibility issue it would be desirable to do the following
two things :
1) Store the password in a separate file and provide the path of that password
file in the flume config. this will enable the flume config to be shared with a
wider audience and reduce risk. the password file will need to be very tightly
guarded. Some components like file channel & JMS source already do this.
2) As an additional measure, obfuscate the password in the external password
file. A simple command line tool can be used to generate the obfuscated
password file. Flume source/sink configuration will read the password file and
de-obfuscate the password before using it to access the keystore. This
obfuscation step IMO is nice but unclear to me if it is essential.
The following Sources and Sinks appear to use inline cleartext passwords:
- Avro Source
- Avro sink
- HTTP(S) source
JDBC channel also uses inline passwords but i am not aware of anybody who uses
JDBC channel. So it may not be an issue.
> Need an alternative to providing clear text passwords in flume config
> ---------------------------------------------------------------------
>
> Key: FLUME-2442
> URL: https://issues.apache.org/jira/browse/FLUME-2442
> Project: Flume
> Issue Type: Bug
> Components: Sinks+Sources
> Affects Versions: v1.5.0.1
> Reporter: Roshan Naik
> Assignee: Roshan Naik
> Labels: Security
> Attachments: FLUME-2442.v1.patch
>
>
> For some sources and sinks, currently, passwords to keystores/other are
> specified in clear text in the flume config file. Since flume config files
> are often easily accessible to a broader audience (like in source control for
> instance), the visibility of these passwords can be too much and risky for
> institutions where security is too critical (like banks)
> To help address this visibility issue it would be desirable to do the
> following two things :
> 1) Store the password in a separate file and provide the path of that
> password file in the flume config. this will enable the flume config to be
> shared with a wider audience and reduce risk. the password file will need to
> be very tightly guarded. Some components like file channel & JMS source
> already do this.
> 2) As an additional measure, obfuscate the password in the external password
> file. A simple command line tool can be used to generate the obfuscated
> password file. Flume source/sink configuration will read the password file
> and de-obfuscate the password before using it to access the keystore. This
> obfuscation step IMO is nice but unclear to me if it is essential.
> The following Sources and Sinks appear to use inline cleartext passwords:
> - Avro Source
> - Avro sink
> - HTTP(S) source
> - File Channel
> - JMS Source
> JDBC channel also uses inline passwords but i am not aware of anybody who
> uses JDBC channel. So it may not be an issue.
--
This message was sent by Atlassian JIRA
(v6.2#6252)