keylime_server
keylime_server
Ansible role for configuring and deploying the server components for Keylime Remote Attestation.
Supported Distributions
- RHEL-9.1+, CentOS Stream 9.1+
- Fedora 36+
Requirements
See below
Collection requirements
If you want to manage rpm-ostree
systems with this role, you will need to
install additional collections. Please run the following command line to
install the collection.
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Role Variables
These are the variables that can be passed to the role. NOTE: Use Ansible Vault to encrypt passwords, keys, and other secrets.
Variable | Default/Choices | Description |
---|---|---|
keylime_server_verifier_ip |
127.0.0.1 | The IP address of the verifier |
keylime_server_verifier_port |
8881 | The port of the verifier |
keylime_server_verifier_database_url |
sqlite / empty string (legacy Keylime) | The URL connection for the verifier database. If set to sqlite , it will use the configuration set by the file located at /var/lib/keylime/cv_data.sqlite . See https://keylime.readthedocs.io/en/latest/installation.html#database-support for instructions on using different database configurations. When using When using systems with legacy Keylime, e.g. Fedora 36 and/or Fedora 37, this should be set to an empty string, if one wants to use default sqlite configuration |
keylime_server_verifier_tls_dir |
generate | This option defines the directory where the keys and certificates are stored. If set to generate , it will automatically generate a CA, keys and certificates for the client and server in the /var/lib/keylime/cv_ca directory, if they are not yet present. If set as default , the /var/lib/keylime/cv_ca directory is used, and it should contain the files indicated by keylime_server_verifier_server_key , keylime_server_verifier_server_cert , keylime_server_verifier_client_key , keylime_server_verifier_client_cert , keylime_server_verifier_trusted_client_ca and keylime_server_verifier_trusted_server_ca options keylime_server_verifier_server_key |
keylime_server_verifier_server_key_passphrase |
default | Set the password used to decrypt the server private key file. If keylime_server_verifier_tls_dir is set to generate , this password will also be used to protect the generated server private key. If left empty, the private key will not be encrypted |
keylime_server_verifier_server_cert |
default | The name of the file containing the Keylime verifier server certificate. The file should be stored in the directory set in the keylime_server_verifier_tls_dir option. If set as default , the value server-cert.crt is used |
keylime_server_verifier_trusted_client_ca |
default | The list of trusted client CA certificates. The files in the list should be stored in the directory set in the keylime_server_verifier_tls_dir option. If set as default , the value is set as [cacert.crt] |
keylime_server_verifier_client_key |
default | The name of the file containing the Keylime verifier client private key. The file should be stored in the directory set in the keylime_server_verifier_tls_dir option. This private key is used by the Keylime verifier to connect to the other services using TLS. If set as default , the client-private.pem value is used |
keylime_server_verifier_client_key_passphrase |
default | Set the password used to decrypt the client private key file. If keylime_server_verifier_tls_dir is set to generate , this password will also be used to protect the generated client private key. If left empty, the private key will not be encrypted |
keylime_server_verifier_client_cert |
default | The name of the file containing the Keylime verifier client certificate, which should be stored in the directory set in the keylime_server_verifier_tls_dir option. This certificate is used by the Keylime verifier to connect to the other services using TLS. If set as default , the value client-cert.crt value is used |
keylime_server_verifier_trusted_server_ca |
default | The list of trusted server CA certificates. The files in the list should be stored in the directory set in the keylime_server_verifier_tls_dir option. If set as default , the value is set as [cacert.crt] |
keylime_server_registrar_ip |
127.0.0.1 | The IP address of the registrar |
keylime_server_registrar_port |
8891 | The port of the registrar |
keylime_server_registrar_database_url |
sqlite / empty string (legacy Keylime) | The URL connection for the registrar database. If set to sqlite , it will the configuration set by the file located at /var/lib/keylime/reg_data.sqlite . See https://keylime.readthedocs.io/en/latest/installation.html#database-support for instructions on using different database configurations. When using When using systems with legacy Keylime, e.g. Fedora 36 and/or Fedora 37, this should be set to an empty string, if one wants to use default sqlite configuration |
keylime_server_registrar_tls_dir |
default | Similarly to keylime_server_verifier_tls_dir , the keylime_server_registrar_tls_dir option defines the directory where the keys and certificates are stored. If set as generate , it will automatically generate a CA, keys, and certificates for the registrar server in the /var/lib/keylime/reg_ca directory, if they are not yet present. The options keylime_server_registrar_server_key , keylime_server_registrar_server_cert and keylime_server_registrar_trusted_client_ca should all be set to default , when generate is used for the keylime_server_registrar_tls_dir option. If set as default , it shares files with the verifier by using the var/lib/keylime/cv_ca directory, which should contain the files indicated by the keylime_server_registrar_server_key , keylime_server_registrar_server_cert and keylime_server_registrar_trusted_client_ca options |
keylime_server_registrar_server_key |
default | The name of the file containing the Keylime registrar server private key, and it should be stored in the directory set in the keylime_server_registrar_tls_dir option. If set as default , the value server-private.pem is used |
keylime_server_registrar_server_key_passphrase |
default | This option sets the password used to decrypt the private key file. If keylime_server_registrar_tls_dir is set to generate , this password will also be used to protect the generated server private key. If left empty, the private key will not be encrypted |
keylime_server_registrar_server_cert |
default | The name of the file containing the Keylime registrar server certificate, and this file should be stored in the directory specified in the keylime_server_registrar_tls_dir option. If set as default , the value server-cert.crt is used |
keylime_server_registrar_trusted_client_ca |
default | The list of trusted client CA certificates. The files in the list should be stored in the directory set in the keylime_server_registrar_tls_dir option. If set as default , the value is set as [cacert.crt] |
Example Playbooks
- name: Manage keylime servers
hosts: all
vars:
keylime_server_verifier_ip: "{{ ansible_host }}"
keylime_server_registrar_ip: "{{ ansible_host }}"
roles:
- linux-system-roles.keylime_server
rpm-ostree
See README-ostree.md
License
MIT