Skip to content

Commit fbcc7d0

Browse files
authored
Merge pull request #89670 from ShaunaDiaz/OSDOCS-11187
OSDOCS-11187: adds TLS config procedure MicroShift
2 parents 4b53b09 + d773f8d commit fbcc7d0

12 files changed

+164
-8
lines changed

_topic_maps/_topic_map_ms.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,21 @@ Topics:
122122
File: microshift-nw-ipv6-config
123123
- Name: Using ingress control for a MicroShift cluster
124124
File: microshift-ingress-controller
125-
- Name: Cluster access with kubeconfig
126-
File: microshift-cluster-access-kubeconfig
127-
- Name: Using custom certificate authorities
128-
File: microshift-custom-ca
129-
- Name: Checking the status of Greenboot health checks
130-
File: microshift-greenboot-checking-status
131-
- Name: Configuring audit logging policies
132-
File: microshift-audit-logs-config
133125
- Name: Disabling LVMS CSI provider and CSI snapshot
134126
File: microshift-disable-lvms-csi-provider-csi-snapshot
127+
- Name: Checking the status of Greenboot health checks
128+
File: microshift-greenboot-checking-status
129+
- Name: Cluster access with kubeconfig
130+
File: microshift-cluster-access-kubeconfig
131+
- Name: Configuring MicroShift authentication and security
132+
Dir: microshift_auth_security
133+
Topics:
134+
- Name: Using custom certificate authorities
135+
File: microshift-custom-ca
136+
- Name: Configuring TLS security profiles
137+
File: microshift-tls-config
138+
- Name: Configuring audit logging policies
139+
File: microshift-audit-logs-config
135140
- Name: Configuring low latency
136141
Dir: microshift_low_latency
137142
Topics:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../_attributes/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../images/
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="microshift-tls-config"]
3+
= Configuring TLS security profiles
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-tls-config
6+
7+
toc::[]
8+
9+
Use transport layer security (TLS) protocols to help prevent known insecure protocols, ciphers, or algorithms from accessing the applications you run on {microshift-short}.
10+
11+
include::modules/microshift-tls-config-con.adoc[leveloffset=+1]
12+
13+
include::modules/microshift-tls-config-proc.adoc[leveloffset=+1]
14+
15+
include::modules/microshift-tls-default-cipher-suites.adoc[leveloffset=+2]
16+
17+
[id="additional-resources_microshift-tls-config_{context}"]
18+
[role="_additional-resources"]
19+
== Additional resources
20+
21+
* xref:../../microshift_configuring/microshift-using-config-yaml.adoc#microshift-config-snippets_microshift-configuring[Using configuration snippets].
22+
23+
* To secure pods using security content constraints (SCC), see xref:../../microshift_running_apps/microshift-authentication.adoc#authentication-microshift[Pod security authentication and authorization].
24+
25+
* xref:../../microshift_configuring/microshift-cluster-access-kubeconfig.adoc#microshift-kubeconfig[Cluster access with kubeconfig].
26+
27+
* xref:../microshift_auth_security/microshift-custom-ca.adoc#microshift-custom-ca[Configuring custom certificate authorities].
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../modules/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../snippets/
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * microshift_configurig/microshift_tls-config.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="microshift-tls-config-con_{context}"]
7+
= Using TLS with {microshift-short}
8+
9+
Transport layer security (TLS) profiles provide a way for servers to regulate which ciphers a client can use when connecting to the server. Using TLS helps to ensure that {microshift-short} applications use cryptographic libraries that do not allow known insecure protocols, ciphers, or algorithms. You can use either the TLS 1.2 or TLS 1.3 security profiles with {microshift-short}.
10+
11+
{microshift-short} API server cipher suites apply automatically to the following internal control plane components:
12+
13+
* API server
14+
* Kubelet
15+
* Kube controller manager
16+
* Kube scheduler
17+
* etcd
18+
* Route controller manager
19+
20+
The API server uses the configured minimum TLS version and the associated cipher suites. If you leave the cipher suites parameter empty, the defaults for the configured minimum version are used automatically.
21+
22+
include::snippets/microshift-tls-ciphers.adoc[leveloffset=+2]
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * microshift_configurig/microshift_tls-config.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="microshift-tls-config-proc_{context}"]
7+
= Configuring TLS for {microshift-short}
8+
9+
You can choose to use either the TLS 1.2 or TLS 1.3 security profiles with {microshift-short} for system hardening.
10+
11+
.Prerequisites
12+
13+
* You have access to the cluster as a root user.
14+
* {microshift-short} has either not started for the first time, or is stopped.
15+
* The OpenShift CLI (`oc`) is installed.
16+
* The certificate authority has issued the custom certificates (CAs).
17+
18+
.Procedure
19+
20+
. Make a copy of the provided `config.yaml.default` file in the `/etc/microshift/` directory, renaming it `config.yaml`.
21+
22+
. Keep the new {microshift-short} `config.yaml` in the `/etc/microshift/` directory. Your `config.yaml` file is read every time the {microshift-short} service starts.
23+
+
24+
[NOTE]
25+
====
26+
After you create it, the `config.yaml` file takes precedence over built-in settings.
27+
====
28+
29+
. Optional: Use a configuration snippet if you are using an existing {microshift-short} YAML. See "Using configuration snippets" in the Additional resources section for more information.
30+
31+
. Replace the default values in the `tls` section of the {microshift-short} YAML with your valid values.
32+
+
33+
.Example TLS 1.2 configuration
34+
[source,yaml]
35+
----
36+
apiServer:
37+
# ...
38+
tls:
39+
cipherSuites: # <1>
40+
- <cipher_suite_1> # <2>
41+
- ...
42+
minVersion: VersionTLS12 # <3>
43+
# ...
44+
----
45+
<1> Defaults to the suites of the configured `minVersion`. If `minVersion` is not configured, the default value is TLS 1.2.
46+
<2> Specify the cipher suites you want to use from the list of supported cipher suites. If you do not configure this list, all of the supported cipher suites are used. All clients connecting to the API server must support the configured cipher suites or the connections fail during the TLS handshake phase. Be sure to add the CA certificate bundle to the list of CA certificates that the TLS client or server trusts.
47+
<3> Specify `VersionTLS12` or `VersionTLS13`.
48+
+
49+
[IMPORTANT]
50+
====
51+
When you choose TLS 1.3 as the minimum TLS version, only the default {microshift-short} cipher suites can be used. Additional cipher suites are not configurable. If other cipher suites to use with TLS 1.3 are configured, those suites are ignored and overwritten by the {microshift-short} defaults.
52+
====
53+
54+
. Complete any other additional configurations that you require, then restart {microshift-short} by running the following command:
55+
+
56+
[source,terminal]
57+
----
58+
$ sudo systemctl restart microshift
59+
----

0 commit comments

Comments
 (0)