Bug 1891806 - Proposal to amend or improve Load Balancing requirements for API and Ingress
Summary: Proposal to amend or improve Load Balancing requirements for API and Ingress
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Documentation
Version: 4.11
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: 4.5.z
Assignee: Lisa Pettyjohn
QA Contact: Melvin Joseph
Latha S
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-27 12:15 UTC by Robert Sandu
Modified: 2023-09-18 00:23 UTC (History)
14 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-03-09 01:00:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Robert Sandu 2020-10-27 12:15:19 UTC
Document URL: 

https://docs.openshift.com/container-platform/4.5/installing/installing_bare_metal/installing-bare-metal.html#network-topology-requirements

https://docs.openshift.com/container-platform/4.5/installing/installing_vsphere/installing-restricted-networks-vsphere.html#network-topology-requirements

https://docs.openshift.com/container-platform/4.5/installing/installing_ibm_z/installing-restricted-networks-ibm-z.html#network-topology-requirements

Section Number and Name: 
- Network topology requirements

Describe the issue: 
- Load balancing SSL Bridge/Re-encrypt termination is likely to break mTLS for the OAuth component, unless a mechanism is put in place to validate client certificates.

Suggestions for improvement: 
- SSL Passthrough requirement for API and Ingress should prevail and SSL Bridge/Re-encrypt should be (likely, temporarily) removed, at least until a more fine-grained list of load balancing requirements (and supported SSL/TLS Terminations) is made available following this [0] parallel Documentation bug.

---
[0] Lack of information on prerequisites for external load balancers - https://bugzilla.redhat.com/show_bug.cgi?id=1809694

Comment 5 Hongan Li 2021-08-06 07:12:34 UTC
The doc PR looks good, moving to verified. thanks.

Comment 10 Pablo Alonso Rodriguez 2022-10-07 12:18:54 UTC
Hi,

I am reopening this bug because the documentation doesn't have the changes in the PR. Not sure why the PR was closed, but it was premature.

Can you please have a look?

Comment 11 Rupesh Patel 2022-10-07 12:23:47 UTC
The latest git clone still shows the same lines, did we miss it?

[root@vm252-124 openshift-docs]# git grep 'SSL Bridge mode'
modules/installation-load-balancing-user-infra.adoc:  ** Layer 4 load balancing only. This can be referred to as Raw TCP, SSL Passthrough, or SSL Bridge mode. If you use SSL Bridge mode, you must enable Server Name Indication (SNI) for the API routes.
modules/installation-load-balancing-user-infra.adoc:  ** Layer 4 load balancing only. This can be referred to as Raw TCP, SSL Passthrough, or SSL Bridge mode. If you use SSL Bridge mode, you must enable Server Name Indication (SNI) for the ingress routes.
[root@vm252-124 openshift-docs]#

Comment 14 Ian Tewksbury 2022-10-10 17:44:55 UTC
i would argue against explicitly not allowing ssl re-encrypt for oauth. i know of a couple clients who have re-encrypt WAFs in front of their wildcard comains, including the oauth name, and the only trick to make it work was being sure to inject sni headers into the re-encrypt. at least for those couple of clients we haven't seen any negative effects. 

if this is ultimately the way we are going, i worry about clients who wont see this specific change in requirements and suddenly their clusters will not be in compliance.

Comment 15 Pablo Alonso Rodriguez 2022-10-13 07:46:47 UTC
Ian the main problem is not SNI but the fact that the certificates presented by the front load balancer must be consistent with what the cluster expects. OCP4 manages a number of certificates, some of which are customizable and some of them aren't, and the system expects that, once it sets a certificate somewhere, that change is in effect without any external intervention. Besides, the list of system routes (which are not for external consumption) and their certificates settings might change between versions.

If your customers have not had any problem with this setup, it has been a combination of them having been very careful with keeping this certificate consistency (which is very good on their side) plus pure luck. However, I have seen already situations with customers where this hasn't been the case and where it was difficult to troubleshoot that there was some certificate mismatch due to reencryption in the main load balancer.

Comment 17 Ian Tewksbury 2022-10-13 12:12:39 UTC
Pablo, understood. thanks for the clarification.

Comment 18 Ian Tewksbury 2022-10-13 12:16:44 UTC
Pablo, will this supportability requirment apply only to the oauth dns entry or for the entire wildcard dns entry? i understand making it apply to the oauth dns entry, but making it apply to the entire wildcard precludes the option of using a WAF for client applications using the wildcard dns.

Comment 19 Pablo Alonso Rodriguez 2022-10-13 12:45:59 UTC
It would impact the whole default wildcard. 

However, an additional ingress controller with a different wildcard should have no problem (you would need proper SNI config for passthrough routes to work, but I understand that's not a problem for your customer). The key is that re-encryption doesn't impact any of the system routes (either current or that might exist in future versions).

Comment 20 Ian Tewksbury 2022-10-13 14:16:59 UTC
could we not ammend the documentation to say that if putting a WAF (or similar re-encyrpt) in front of the wildcard that for these specific system routes, like oauth, that those dns entries need to bypass the re-encyprt. this way people can still put a WAF in front of their default wildcard without having to deal with setting up another, but then the system routs that dont like the re-encrypt can have specific dns entires that bypass the re-encrypt and go direct to the routers.

Comment 21 Pablo Alonso Rodriguez 2022-10-13 14:51:20 UTC
The problem with that approach is that system routes may change without previous notice, so that approach is not feasible.

Comment 23 Latha S 2022-10-17 07:17:17 UTC
Lisa, Is this bug fix applicable for 4.8.z+ versions, if yes, then please work on the bug fix, else close this bug at the earliest.

Comment 24 Pablo Alonso Rodriguez 2022-10-17 07:48:51 UTC
It is applicable to all versions, so setting to latest version accordingly.

Comment 28 Shiftzilla 2023-03-09 01:00:06 UTC
OpenShift has moved to Jira for its defect tracking! This bug can now be found in the OCPBUGS project in Jira.

https://issues.redhat.com/browse/OCPBUGS-8817

Comment 29 Red Hat Bugzilla 2023-09-18 00:23:13 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days


Note You need to log in before you can comment on or make changes to this bug.