Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mesh-wide CA path #1973

Closed
wants to merge 4 commits into from
Closed

Mesh-wide CA path #1973

wants to merge 4 commits into from

Conversation

Kmoneal
Copy link
Contributor

@Kmoneal Kmoneal commented May 7, 2021

Address istio/istio#32539

  • Specify that SE SAN is not applied with SIMPLE TLS mode.
  • Remove that DR SAN overrides SE SAN.

* Add VerifyCertificateAtClient boolean to ProxyConfig
* Add DefaultCertificateAuthorityPath string to ProxyCOnfig
* Add InsecureSkipVerify boolean to DestinationRule
* Make `VerifyCertificateAtClient` hidden for meshConfig
* Reorganize documentation to be more legible
@istio-testing istio-testing added the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label May 7, 2021
@istio-testing
Copy link
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@google-cla google-cla bot added the cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. label May 7, 2021
@istio-testing istio-testing added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label May 7, 2021
//
// If `VerifyCertificateAtClient` is `true`,
// `DefaultCertificateAuthorityPath` will default to the OS CA bundle for the proxy.
string default_certificate_authority_path = 36;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should have a path. Default should always be system certificates, which is context specific for each proxy (depending on OS)

@@ -498,6 +498,32 @@ message ProxyConfig {
// The plugin certificates (the 'cacerts' secret), self-signed certificates (the 'istio-ca-secret' secret)
// are added automatically by Istiod.
repeated string ca_certificates_pem = 34;

// `VerifyCertificateAtClient` sets the mesh global default for peer certificate validation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not a mesh global, its a per proxy configuration

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Didn't catch this when I was updating the doc

@@ -923,6 +923,10 @@ message ClientTLSSettings {
// certificates to use in verifying a presented server certificate. If
// omitted, the proxy will not verify the server's certificate.
// Should be empty if mode is `ISTIO_MUTUAL`.
//
// If `CaCertificates`is set, proxy verifies CA signature based on given CaCertificates.
// This setting take priority over ProxyConfig `DefaultCertificateAuthorityPath` and
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can I "unset" VerifyCertificateAtClient=true to not verify?

// destination rule to verify the SANs. If unset, and
// `VerifyCertificateAtClient` is false, proxy does not verify SANs.
//
// Client-side proxy will exact match host as well as one level wildcard if
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this the current semantics today?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is brought over from VerifyCertificateAtClient in MeshConfigs. It seemed more suitable here

* Delete ProxyConfig.DefaultCertificateAuthorityPath
* Fix typo in documentation stating mesh wide effects
  instead of proxy effects
* Clarify documentation
@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label May 21, 2021
@istio-testing
Copy link
Collaborator

@Kmoneal: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@istio-policy-bot
Copy link

🚧 This issue or pull request has been closed due to not having had activity from an Istio team member since 2021-05-14. If you feel this issue or pull request deserves attention, please reopen the issue. Please see this wiki page for more information. Thank you for your contributions.

Created by the issue and PR lifecycle manager.

@istio-policy-bot istio-policy-bot added the lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. label Jun 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. needs-rebase Indicates a PR needs to be rebased before being merged size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants