[
https://issues.apache.org/jira/browse/FLINK-38815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
dengxaing updated FLINK-38815:
------------------------------
Description:
The debug log contains sensitive information of data security cookie
certification in task manager and jobmanager. It will print the password,
algorithms, and so on.
调试日志包含任务管理器和作业管理器中数据安全cookie认证的敏感信息,会把密码、算法等都打印出来。
{code:java}
private static ActorSystem startActorSystem(
Config config, String actorSystemName, Logger logger) {
logger.debug("Using pekko configuration\n {}", config);
ActorSystem actorSystem = PekkoUtils.createActorSystem(actorSystemName,
config);
logger.info("Actor system started at {}",
PekkoUtils.getAddress(actorSystem));
return actorSystem;
} {code}
This section will print all the information in the config because the code
constructed by config uses the toString method:
这部分会打印config里的所有信息,是因为config构造的代码使用了toString方法:
{code:java}
private static class ConfigBuilder {
private final StringWriter stringWriter = new StringWriter();
private final PrintWriter printWriter = new PrintWriter(stringWriter);
public ConfigBuilder add(String configLine) {
printWriter.println(configLine);
return this;
} public Config build() {
return ConfigFactory.parseString(stringWriter.toString()).resolve();
}
}{code}
The build code for config is as follows:
config的build代码如下:
{code:java}
configBuilder
.add("pekko {")
.add(" remote.classic {")
.add(" enabled-transports =
[\"pekko.remote.classic.netty.ssl\"]")
.add(" netty {")
.add(" ssl = ${pekko.remote.classic.netty.tcp}")
.add(" ssl {")
.add(" enable-ssl = " + enableSSL)
.add(" ssl-engine-provider = " + sslEngineProviderName)
.add(" security {")
.add(" key-store = \"" + sslKeyStore + "\"")
.add(" key-store-password = \"" + sslKeyStorePassword
+ "\"")
.add(" key-store-type = \"" + sslKeyStoreType + "\"")
.add(" key-password = \"" + sslKeyPassword + "\"")
.add(" trust-store = \"" + sslTrustStore + "\"")
.add(" trust-store-password = \"" +
sslTrustStorePassword + "\"")
.add(" trust-store-type = \"" + sslTrustStoreType +
"\"")
.add(" protocol = " + sslProtocol + "")
.add(" enabled-algorithms = " + sslAlgorithms + "")
.add(" random-number-generator = \"\"")
.add(" require-mutual-authentication = on")
.add(" cert-fingerprints = " + sslCertFingerprints +
"")
.add(" }")
.add(" }")
.add(" }")
.add(" }")
.add("}"); {code}
was:
The debug log contains sensitive information of data security cookie
certification in task manager and jobmanager. It will print the password,
algorithms, and so on.
调试日志包含任务管理器和作业管理器中数据安全cookie认证的敏感信息,会把密码、算法等都打印出来。
{code:java}
private static ActorSystem startActorSystem(
Config config, String actorSystemName, Logger logger) {
logger.debug("Using pekko configuration\n {}", config);
ActorSystem actorSystem = PekkoUtils.createActorSystem(actorSystemName,
config);
logger.info("Actor system started at {}",
PekkoUtils.getAddress(actorSystem));
return actorSystem;
} {code}
This section will print all the information in the config because the code
constructed by config uses the toString method:
这部分会打印config里的所有信息,是因为config构造的代码使用了toString方法:
{code:java}
private static class ConfigBuilder {
private final StringWriter stringWriter = new StringWriter();
private final PrintWriter printWriter = new PrintWriter(stringWriter);
public ConfigBuilder add(String configLine) {
printWriter.println(configLine);
return this;
} public Config build() {
return ConfigFactory.parseString(stringWriter.toString()).resolve();
}
}{code}
The build code for config is as follows:
config的build代码如下:
{code:java}
configBuilder
.add("pekko {")
.add(" remote.classic {")
.add(" enabled-transports =
[\"pekko.remote.classic.netty.ssl\"]")
.add(" netty {")
.add(" ssl = ${pekko.remote.classic.netty.tcp}")
.add(" ssl {")
.add(" enable-ssl = " + enableSSL)
.add(" ssl-engine-provider = " + sslEngineProviderName)
.add(" security {")
.add(" key-store = \"" + sslKeyStore + "\"")
.add(" key-store-password = \"" + sslKeyStorePassword
+ "\"")
.add(" key-store-type = \"" + sslKeyStoreType + "\"")
.add(" key-password = \"" + sslKeyPassword + "\"")
.add(" trust-store = \"" + sslTrustStore + "\"")
.add(" trust-store-password = \"" +
sslTrustStorePassword + "\"")
.add(" trust-store-type = \"" + sslTrustStoreType +
"\"")
.add(" protocol = " + sslProtocol + "")
.add(" enabled-algorithms = " + sslAlgorithms + "")
.add(" random-number-generator = \"\"")
.add(" require-mutual-authentication = on")
.add(" cert-fingerprints = " + sslCertFingerprints +
"")
.add(" }")
.add(" }")
.add(" }")
.add(" }")
.add("}"); {code}
> The debug log will print the sensitive information of data security cookie
> certification in task manager and jobmanager
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-38815
> URL: https://issues.apache.org/jira/browse/FLINK-38815
> Project: Flink
> Issue Type: Bug
> Components: Runtime / RPC
> Affects Versions: 2.0.0, 1.20.0, 2.1.0, 2.2.0, 2.3.0
> Reporter: dengxaing
> Priority: Critical
>
> The debug log contains sensitive information of data security cookie
> certification in task manager and jobmanager. It will print the password,
> algorithms, and so on.
> 调试日志包含任务管理器和作业管理器中数据安全cookie认证的敏感信息,会把密码、算法等都打印出来。
>
> {code:java}
> private static ActorSystem startActorSystem(
> Config config, String actorSystemName, Logger logger) {
> logger.debug("Using pekko configuration\n {}", config);
> ActorSystem actorSystem =
> PekkoUtils.createActorSystem(actorSystemName, config);
> logger.info("Actor system started at {}",
> PekkoUtils.getAddress(actorSystem));
> return actorSystem;
> } {code}
>
> This section will print all the information in the config because the code
> constructed by config uses the toString method:
> 这部分会打印config里的所有信息,是因为config构造的代码使用了toString方法:
>
> {code:java}
> private static class ConfigBuilder {
> private final StringWriter stringWriter = new StringWriter();
> private final PrintWriter printWriter = new PrintWriter(stringWriter);
> public ConfigBuilder add(String configLine) {
> printWriter.println(configLine);
> return this;
> } public Config build() {
> return
> ConfigFactory.parseString(stringWriter.toString()).resolve();
> }
> }{code}
> The build code for config is as follows:
> config的build代码如下:
> {code:java}
> configBuilder
> .add("pekko {")
> .add(" remote.classic {")
> .add(" enabled-transports =
> [\"pekko.remote.classic.netty.ssl\"]")
> .add(" netty {")
> .add(" ssl = ${pekko.remote.classic.netty.tcp}")
> .add(" ssl {")
> .add(" enable-ssl = " + enableSSL)
> .add(" ssl-engine-provider = " + sslEngineProviderName)
> .add(" security {")
> .add(" key-store = \"" + sslKeyStore + "\"")
> .add(" key-store-password = \"" +
> sslKeyStorePassword + "\"")
> .add(" key-store-type = \"" + sslKeyStoreType + "\"")
> .add(" key-password = \"" + sslKeyPassword + "\"")
> .add(" trust-store = \"" + sslTrustStore + "\"")
> .add(" trust-store-password = \"" +
> sslTrustStorePassword + "\"")
> .add(" trust-store-type = \"" + sslTrustStoreType +
> "\"")
> .add(" protocol = " + sslProtocol + "")
> .add(" enabled-algorithms = " + sslAlgorithms + "")
> .add(" random-number-generator = \"\"")
> .add(" require-mutual-authentication = on")
> .add(" cert-fingerprints = " + sslCertFingerprints +
> "")
> .add(" }")
> .add(" }")
> .add(" }")
> .add(" }")
> .add("}"); {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)