Skip to content

Commit a3ebb0b

Browse files
committed
Remove TLSv1.1 from default protocols
This commit removes "TLSv1.1" from the list of default protocols in Elasticsearch (starting with ES9.0) TLSv1.1 has been deprecated by the IETF since March 2021 This affects a variety of TLS contexts, include - The HTTP Server (Rest API) - Transport protocol (including CCS and CCR) - Outgoing connections for features that have configurable SSL settings. This includes - reindex - watcher - security realms (SAML, OIDC, LDAP, etc) - monitoring exporters - inference services In practice, however, TLSv1.1 has been disabled in most Elasticsearch deployments since around 7.12 because most JDK releases have disabled TLSv1.1 (by default) starting in April 2021 That is, if you run a default installation of Elasticsearch (for any currently supported version of ES) that uses the bundled JVM then TLSv1.1 is already disabled. And, since ES9+ requires JDK21+, all supported JDKs ship with TLSv1.1 disabled by default. In addition, incoming HTTP connections to Elastic Cloud deployments have required TLSv1.2 or higher since April 2020 This change simply makes it clear that Elasticsearch does not attempt to enable TLSv1.1 and administrators who wish to use that protocol will need to explicitly enable it in both the JVM and in Elasticsearch. Resolves: #108057
1 parent 2de1a3d commit a3ebb0b

File tree

2 files changed

+2
-9
lines changed

2 files changed

+2
-9
lines changed

libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/SslConfigurationLoader.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313

1414
import java.nio.file.Path;
1515
import java.security.KeyStore;
16-
import java.util.Arrays;
17-
import java.util.Collections;
1816
import java.util.List;
1917
import java.util.Objects;
2018
import java.util.Set;
@@ -25,7 +23,6 @@
2523
import javax.net.ssl.TrustManagerFactory;
2624

2725
import static org.elasticsearch.common.ssl.KeyStoreUtil.inferKeyStoreType;
28-
import static org.elasticsearch.common.ssl.SslConfiguration.ORDERED_PROTOCOL_ALGORITHM_MAP;
2926
import static org.elasticsearch.common.ssl.SslConfigurationKeys.CERTIFICATE;
3027
import static org.elasticsearch.common.ssl.SslConfigurationKeys.CERTIFICATE_AUTHORITIES;
3128
import static org.elasticsearch.common.ssl.SslConfigurationKeys.CIPHERS;
@@ -63,11 +60,7 @@
6360
*/
6461
public abstract class SslConfigurationLoader {
6562

66-
static final List<String> DEFAULT_PROTOCOLS = Collections.unmodifiableList(
67-
ORDERED_PROTOCOL_ALGORITHM_MAP.containsKey("TLSv1.3")
68-
? Arrays.asList("TLSv1.3", "TLSv1.2", "TLSv1.1")
69-
: Arrays.asList("TLSv1.2", "TLSv1.1")
70-
);
63+
static final List<String> DEFAULT_PROTOCOLS = List.of("TLSv1.3", "TLSv1.2");
7164

7265
private static final List<String> JDK12_CIPHERS = List.of(
7366
// TLSv1.3 cipher has PFS, AEAD, hardware support

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ public static Setting<String> defaultStoredSecureTokenHashAlgorithmSetting(
317317
}, Property.NodeScope);
318318
}
319319

320-
public static final List<String> DEFAULT_SUPPORTED_PROTOCOLS = Arrays.asList("TLSv1.3", "TLSv1.2", "TLSv1.1");
320+
public static final List<String> DEFAULT_SUPPORTED_PROTOCOLS = Arrays.asList("TLSv1.3", "TLSv1.2");
321321

322322
public static final SslClientAuthenticationMode CLIENT_AUTH_DEFAULT = SslClientAuthenticationMode.REQUIRED;
323323
public static final SslClientAuthenticationMode HTTP_CLIENT_AUTH_DEFAULT = SslClientAuthenticationMode.NONE;

0 commit comments

Comments
 (0)