Skip to content

Commit 1a404c2

Browse files
committed
Add docs for TLS version and ciphers
1 parent 519f72e commit 1a404c2

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

docs/user-guide/tls.md

+22-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
- [HSTS](#http-strict-transport-security)
77
- [Server-side HTTPS enforcement through redirect](#server-side-https-enforcement-through-redirect)
88
- [Kube-Lego](#automated-certificate-management-with-kube-lego)
9+
- [Default TLS Version and Ciphers](#default-tls-version-and-ciphers)
10+
- [Legacy TLS](#legacy-tls)
911

1012
## Default SSL Certificate
1113

@@ -130,7 +132,7 @@ By default the controller redirects (301) to HTTPS if there is a TLS Ingress rul
130132

131133
To disable this behavior use `hsts: "false"` in the configuration ConfigMap.
132134

133-
### Server-side HTTPS enforcement through redirect
135+
## Server-side HTTPS enforcement through redirect
134136

135137
By default the controller redirects (301) to `HTTPS` if TLS is enabled for that ingress. If you want to disable that behavior globally, you can use `ssl-redirect: "false"` in the NGINX config map.
136138

@@ -152,3 +154,22 @@ version to fully support Kube-Lego is nginx Ingress controller 0.8.
152154
[full example]:https://github.com/jetstack/kube-lego/tree/master/examples
153155
[Kube-Lego]:https://github.com/jetstack/kube-lego
154156
[Let's Encrypt]:https://letsencrypt.org
157+
158+
## Default TLS Version and Ciphers
159+
160+
To provide the most secure baseline configuration possible, nginx-ingress defaults to using TLS 1.2 and a [secure set of TLS ciphers](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/configmap.md#ssl-ciphers)
161+
162+
## Legacy TLS
163+
The default configuration, though secure, does not support some older browsers and operating systems. For instance, 20% of Android phones in use today are not compatible with nginx-ingress's default configuration. To change this default behavior, use a [ConfigMap](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/configmap.md#ssl-ciphers).
164+
165+
A sample ConfigMap to allow these older clients connect could look something like the following:
166+
167+
```
168+
kind: ConfigMap
169+
apiVersion: v1
170+
metadata:
171+
name: nginx-config
172+
data:
173+
ssl-ciphers: "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"
174+
ssl-protocols: "TLSv1 TLSv1.1 TLSv1.2"
175+
```

0 commit comments

Comments
 (0)