-
Notifications
You must be signed in to change notification settings - Fork 119
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
Signing packages: prepare procedure for revoking compromised certificates #576
Comments
@jen-huang We'll need to wait for this to be completed before we can ship the package signature verification feature |
I guess that we can start working on this then. Based on the delivery schedule, it looks like the 8.4.0 ended up yesterday, so we will slip it to 8.5.0. @jen-huang Do you have preferences regarding these questions or should we propose something:
|
I will let @hop-dev and @kpollich weigh in on the above... :) From what I understand, although we have completed work on our side, package storage v2 still needs to be "turned" on for this feature to go live. Let's make sure we make sure we get this process in place prior to flipping the switch. cc @jlind23 |
Package Storage v2 is already populated with signatures and technically ready to switch. We have these blockers to close before proceeding:
I pinged also the Infosec team to comment on the revocation procedure as it's a global Elastic-wide case. On our side, we can prepare a job that will regenerate signatures for all packages in the storage (step 2). The job will depend on the Elastic signing job, so the private key must be renewed there. |
@mtojek I'll just describe the situation as it stands and we can see if any changes need to be made. Currently we download the public key from The location of the key can be changed by config We then store the ID of the key against every package we have verified e.g:
Currently we only display a package as unverified (see below for what this looks like) if:
So as it stands if the key changed then all of a users verified packages would show as unverified until they were upgraded or reinstalled. |
👍
What will happen if we decide to resign the same .zip package?
Will Fleet show the "unverified" notification while interacting with the Package Storage with signature paths? Let's say we decide to switch back to v1 (no signatures present). |
We do have a reinstall button now which would re-verify them, but it would be a manual process. I think we may need specific instructions in the UI for the case where the key has been invalidated as opposed to just telling them the package is unverified.
If the package does not have a signature file then we do not perform verification. The verification status is stored on the package installation saved object. So if I installed a package from the v2 registry, then we switch back to v1 it wouldnt show as unverified as it would still have the verification details from when it was first installed. |
👍
I see a possibility that we will resign 1-2 packages for testing purposes or by accident, but we don't revoke the old signature. I guess that Fleet UI won't notify the user that the package signature has changed in the meantime, right? |
@hop-dev Writing the doc about the revoke/resign procedure that it should be followed, I was wondering if the "Unverified" badge/status is shown in the tiles in these two scenarios:
If not, is there a specific badge/status for the second scenario? |
Adding @kpollich and @jen-huang for awareness |
@hop-dev are both cases/scenarios shown as "unverified" in the UI? |
@mrodm Sorry I missed your first message i have been on leave.
|
Thanks @hop-dev ! |
The goal of this issue is to describe and describe steps to perform when the Elastic signing key for packages is leaked.
Related questions:
Related issue:
elastic/package-registry#728
The text was updated successfully, but these errors were encountered: