You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For Fleet managed agents that are running Elastic Defend, upgrading the RPM or DEB packages does not send a signed upgrade action to Defend which is what allows Defend to upgrade without believing it is being tampered with. The tamper protection feature of Defend is based on all operations requiring a digital signature signed by a private key in Kibana. There is no way to provide a signed token for DEB or RPM upgrades, so Defend legitimately believes it was being tampered with and orphaned from agent here.
h.log.Debugf("handlerUpgrade: after action dispatched '%+v', err: %v", a, err)
iferr!=nil {
returnerr
}
} else {
// Log and continue
h.log.Debugf("No components running for %v action type", a.Type())
}
}
To make the upgrade command work with tamper protection properly we'd have to allow it to accept an uninstall token to allow endpoint to unprotect itself for a CLI upgrade.
Describe a specific use case for the enhancement or feature:
Upgrading an Elastic Agent installed with either the RPM or DEB packages when Elastic Defend is used. Without this change, the only way to upgrade in this situation is to temporarily disable tamper protection.
What is the definition of done?
Tests exists proving that the RPM and DEB packages can be upgraded when Elastic Defend is installed without disabling tamper protection.
These packages types can ideally indicate to users that they should supply an uninstall token when defend is installed.
The documentation for the RPM and DEB packages is updated to indicate that an uninstall token is required in this situation.
The text was updated successfully, but these errors were encountered:
Describe the enhancement:
For Fleet managed agents that are running Elastic Defend, upgrading the RPM or DEB packages does not send a signed upgrade action to Defend which is what allows Defend to upgrade without believing it is being tampered with. The tamper protection feature of Defend is based on all operations requiring a digital signature signed by a private key in Kibana. There is no way to provide a signed token for DEB or RPM upgrades, so Defend legitimately believes it was being tampered with and orphaned from agent here.
Specifically using the CLI skips this block
elastic-agent/internal/pkg/agent/application/actions/handlers/handler_action_upgrade.go
Lines 58 to 74 in 54932dc
To make the upgrade command work with tamper protection properly we'd have to allow it to accept an uninstall token to allow endpoint to unprotect itself for a CLI upgrade.
Describe a specific use case for the enhancement or feature:
Upgrading an Elastic Agent installed with either the RPM or DEB packages when Elastic Defend is used. Without this change, the only way to upgrade in this situation is to temporarily disable tamper protection.
What is the definition of done?
The text was updated successfully, but these errors were encountered: