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

Improving the Keylime documentation #1035

Open
3 of 24 tasks
THS-on opened this issue Jun 20, 2022 · 3 comments
Open
3 of 24 tasks

Improving the Keylime documentation #1035

THS-on opened this issue Jun 20, 2022 · 3 comments

Comments

@THS-on
Copy link
Member

THS-on commented Jun 20, 2022

The Keylime documentation is now part of the main repository and want to improve it. Following things need to be improved:

How to use the TPM EK CA Store

There is currently no documentation on how to add custom CA to the cert store (there is only a comment in the keylime.conf).

Supported TPM Configurations

See #1105.

Keylime and virtualized TPMs

The Keylime test setup using the IBM TPM emulator does not have a EK certificate. We should provide documentation on how to add a EK CA and EK certficate for testing. Also there is no documentation on how to use Keylime with virtualized TPMs.

  • Add tutorial on how to add an EK certificate to the tpm_emulator using createekcert from the IBM TSS.
  • Add tutorial on how to use the libvrit swtpm integration and link to the general swtpm documentation.
  • Investigate vTPM implementations of Hyper-V and VMWare

IMA Validation

Keylime does support validation for many of the features provided by IMA. Unfortunately only the basic features are documented.

Measured Boot Validation

Keylime does provide a entire policy engine for measured boot. The current documentation only describes the general concept and not how to use it.

Keylime mTLS setup

The verifier/tenant connects to the agent using mTLS. The entire TLS setup is pretty complicated and will be simplified with keylime/enhancements#73. The following things should be documented:

  • How to deploy the agent using the current configuration (@THS-on)
  • Describe more complex setups

How to create runtime policies

Add documentation on how to get the information required to create policies.

  • Create list of information that is required before creating policies
  • IMA signature verification from a distribution that support it
  • Get file hashes from deb and RPM repositories
  • How to work with containers

Migration guide from older versions

  • How to handle DB updates. If auto migration was disabled, you can use alembic stamp to set the correct version and re enable from there
  • config upgrades

PR Template

  • Create a PR template that contains a reminder to also update the documentation.
@THS-on THS-on pinned this issue Jun 20, 2022
@maugustosilva
Copy link
Contributor

#1050 should start to address itens one and two on you list @THS-on. Remember, it is a working in progress, and so it will constantly refined.

@nishitiwari22
Copy link

Is this issue still open? I am looking to contribute to it.

@mpeters
Copy link
Member

mpeters commented Sep 29, 2023

@nishitiwari22 yes absolutely. If you would like to take a topic that's listed here and try it out and then improve the documentation (and feel free to ask any questions you'd like in our slack channel), your contributions would be very welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants