Accepting request 908894 from home:aplanas:branches:security
- Add generate-cargo-lock-file.patch to fix the build system in OBS - Add keylime.conf.diff to adjust the default config file - Adjust build requirements - Add firewalld XML rules - Add systemd keylime_agent.service - Fix license tag - Update to version 0.0.1+git.1626706730.a009476: * libarchive-devel is needed to build on Fedora * Accept sets of U and V keys; use new Key types * Output mask info * Fix for race condition bug * Do not resend pubkey to CV after attestation * Run payload script from a shell * Write out data and run payload * Decrypt payload after key handlers find symm key * Add handler for U and V keys * Add helper functions for handling U and V keys * Some TPM fixes for IMA PCR validation * Do not flush AK context as this causes an error * Fix bug in revocation service * Drop references to vmask * Better documentation of consts * Do not fail if EK cert is not present in TPM NV * Add more verbose logging to better match Python agent * Remove verify stub as we are not using it * tests: Don't pass --allow-signing to swtpm_setup * Fix typos * Add dependency for libzmq3-dev / zeromq-devel * Fix new clippy lints * Add handling for Identity and Integrity quotes * Add Quote functionality * Add marshaling functions for TPM structs OBS-URL: https://build.opensuse.org/request/show/908894 OBS-URL: https://build.opensuse.org/package/show/security/rust-keylime?expand=0&rev=3
This commit is contained in:
parent
a42c69290a
commit
27546596af
2
_service
2
_service
@ -1,6 +1,6 @@
|
|||||||
<services>
|
<services>
|
||||||
<service name="tar_scm" mode="disabled">
|
<service name="tar_scm" mode="disabled">
|
||||||
<param name="versionformat">0.0.1+git.%ct.%h</param>
|
<param name="versionformat">0.1.0+git.%ct.%h</param>
|
||||||
<param name="revision">master</param>
|
<param name="revision">master</param>
|
||||||
<param name="url">https://github.com/keylime/rust-keylime.git</param>
|
<param name="url">https://github.com/keylime/rust-keylime.git</param>
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<servicedata>
|
<servicedata>
|
||||||
<service name="tar_scm">
|
<service name="tar_scm">
|
||||||
<param name="url">https://github.com/keylime/rust-keylime.git</param>
|
<param name="url">https://github.com/keylime/rust-keylime.git</param>
|
||||||
<param name="changesrevision">4df2148b8063a592fd5cc4835332a9de4df54398</param></service></servicedata>
|
<param name="changesrevision">a009476300e6eebd49a00b04890318f3b2d24858</param></service></servicedata>
|
@ -1,5 +1,10 @@
|
|||||||
[source.crates-io]
|
[source.crates-io]
|
||||||
replace-with = "vendored-sources"
|
replace-with = "vendored-sources"
|
||||||
|
|
||||||
|
[source."https://github.com/puiterwijk/rust-tss-esapi.git"]
|
||||||
|
git = "https://github.com/puiterwijk/rust-tss-esapi.git"
|
||||||
|
branch = "keylime"
|
||||||
|
replace-with = "vendored-sources"
|
||||||
|
|
||||||
[source.vendored-sources]
|
[source.vendored-sources]
|
||||||
directory = "vendor"
|
directory = "vendor"
|
||||||
|
3005
generate-cargo-lock-file.patch
Normal file
3005
generate-cargo-lock-file.patch
Normal file
File diff suppressed because it is too large
Load Diff
74
keylime.conf.diff
Normal file
74
keylime.conf.diff
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
Index: rust-keylime-0.1.0+git.1626706730.a009476/keylime.conf
|
||||||
|
===================================================================
|
||||||
|
--- rust-keylime-0.1.0+git.1626706730.a009476.orig/keylime.conf
|
||||||
|
+++ rust-keylime-0.1.0+git.1626706730.a009476/keylime.conf
|
||||||
|
@@ -11,7 +11,8 @@ tls_check_hostnames = False
|
||||||
|
# Valid options are 'cfssl' or 'openssl' For cfssl to work, you must have the
|
||||||
|
# go binary installed in your path or in /usr/local/
|
||||||
|
# Revocation list generation is only supported by cfssl
|
||||||
|
-ca_implementation = openssl
|
||||||
|
+# ca_implementation = openssl
|
||||||
|
+ca_implementation = cfssl
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
[cloud_agent]
|
||||||
|
@@ -19,7 +20,8 @@ ca_implementation = openssl
|
||||||
|
|
||||||
|
# The Agent's IP address and port used to communicate with other services
|
||||||
|
# as well as a bind address for the agent server.
|
||||||
|
-cloudagent_ip = 127.0.0.1
|
||||||
|
+# cloudagent_ip = 127.0.0.1
|
||||||
|
+cloudagent_ip = 0.0.0.0
|
||||||
|
cloudagent_port = 9002
|
||||||
|
|
||||||
|
# What is the name of the rsa key that keylime should use for protecting
|
||||||
|
@@ -54,7 +56,8 @@ extract_payload_zip = True
|
||||||
|
# If you set this to 'generate', keylime will create a random uuid
|
||||||
|
# If you set this to 'hash_ek', keylime will set the UUID to the result
|
||||||
|
# of SHA256(public EK in PEM format)
|
||||||
|
-agent_uuid = D432FBB3-D2F1-4A97-9EF7-75BD81C00000
|
||||||
|
+# agent_uuid = D432FBB3-D2F1-4A97-9EF7-75BD81C00000
|
||||||
|
+agent_uuid = hash_ek
|
||||||
|
|
||||||
|
# Whether to listen for revocation notifications from the verifier
|
||||||
|
listen_notfications = True
|
||||||
|
@@ -115,7 +118,8 @@ ek_handle = generate
|
||||||
|
|
||||||
|
# The cloud verifier IP address and port used to communicate with other services
|
||||||
|
# as well as a bind address for the verifier server.
|
||||||
|
-cloudverifier_ip = 127.0.0.1
|
||||||
|
+# cloudverifier_ip = 127.0.0.1
|
||||||
|
+cloudverifier_ip = 0.0.0.0
|
||||||
|
cloudverifier_port = 8881
|
||||||
|
|
||||||
|
# Cloud Verifier TLS options. This is for authenticating the CV itself,
|
||||||
|
@@ -204,7 +208,8 @@ revocation_notifier = True
|
||||||
|
# The revocation notifier IP address and port used to start the revocation service.
|
||||||
|
# If the revocation_notifier is true, then the verifier automatically
|
||||||
|
# starts revocation service.
|
||||||
|
-revocation_notifier_ip = 127.0.0.1
|
||||||
|
+# revocation_notifier_ip = 127.0.0.1
|
||||||
|
+revocation_notifier_ip = 0.0.0.0
|
||||||
|
revocation_notifier_port = 8992
|
||||||
|
|
||||||
|
# The verifier limits the size of upload payloads (whitelists) which defaults to
|
||||||
|
@@ -330,7 +335,8 @@ max_retries = 10
|
||||||
|
# might provide a signed list of EK public key hashes. Then you could write
|
||||||
|
# an ek_check_script that checks the signature of the whitelist and then
|
||||||
|
# compares the hash of the given EK with the whistlist
|
||||||
|
-require_ek_cert = True
|
||||||
|
+# require_ek_cert = True
|
||||||
|
+require_ek_cert = False
|
||||||
|
|
||||||
|
# Optional script to execute to check the EK and/or EK certificate against a
|
||||||
|
# whitelist or any other additional EK processing you want to do. Runs in
|
||||||
|
@@ -356,7 +362,8 @@ ek_check_script=
|
||||||
|
|
||||||
|
# The registrar's IP address and port used to communicate with other
|
||||||
|
# services as well as a bind address for the registrar server.
|
||||||
|
-registrar_ip = 127.0.0.1
|
||||||
|
+# registrar_ip = 127.0.0.1
|
||||||
|
+registrar_ip = 0.0.0.0
|
||||||
|
registrar_port = 8890
|
||||||
|
registrar_tls_port = 8891
|
||||||
|
|
12
keylime.xml
Normal file
12
keylime.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<service>
|
||||||
|
<short>Keylime</short>
|
||||||
|
<description>Keylime is a remote attestation tool that requires access to several ports.</description>
|
||||||
|
<port protocol="tcp" port="443"/><!-- Webapp -->
|
||||||
|
<port protocol="tcp" port="8881"/><!-- Verifier -->
|
||||||
|
<port protocol="tcp" port="8888"/><!-- CFSSL -->
|
||||||
|
<port protocol="tcp" port="8890"/><!-- Registrar -->
|
||||||
|
<port protocol="tcp" port="8891"/><!-- Registrar TLS -->
|
||||||
|
<port protocol="tcp" port="8992"/><!-- Revocation -->
|
||||||
|
<port protocol="tcp" port="9002"/><!-- Agent -->
|
||||||
|
</service>
|
8
keylime_agent.service
Normal file
8
keylime_agent.service
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=The Keylime compute agent
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/keylime_agent
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:94764e762fbea4cf35cb90964a8d9a0c9510055eed81e5f2f0f433db14c16134
|
|
||||||
size 31748
|
|
3
rust-keylime-0.1.0+git.1626706730.a009476.tar.xz
Normal file
3
rust-keylime-0.1.0+git.1626706730.a009476.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0a91310d4a9f1eb2fa427095b87d0237584386a0aa5b3e91fd8067ef1593622a
|
||||||
|
size 39692
|
@ -1,3 +1,43 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 28 08:56:33 UTC 2021 - Alberto Planas Dominguez <aplanas@suse.com>
|
||||||
|
|
||||||
|
- Add generate-cargo-lock-file.patch to fix the build system in OBS
|
||||||
|
- Add keylime.conf.diff to adjust the default config file
|
||||||
|
- Adjust build requirements
|
||||||
|
- Add firewalld XML rules
|
||||||
|
- Add systemd keylime_agent.service
|
||||||
|
- Fix license tag
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 22 09:20:38 UTC 2021 - aplanas@suse.com
|
||||||
|
|
||||||
|
- Update to version 0.0.1+git.1626706730.a009476:
|
||||||
|
* libarchive-devel is needed to build on Fedora
|
||||||
|
* Accept sets of U and V keys; use new Key types
|
||||||
|
* Output mask info
|
||||||
|
* Fix for race condition bug
|
||||||
|
* Do not resend pubkey to CV after attestation
|
||||||
|
* Run payload script from a shell
|
||||||
|
* Write out data and run payload
|
||||||
|
* Decrypt payload after key handlers find symm key
|
||||||
|
* Add handler for U and V keys
|
||||||
|
* Add helper functions for handling U and V keys
|
||||||
|
* Some TPM fixes for IMA PCR validation
|
||||||
|
* Do not flush AK context as this causes an error
|
||||||
|
* Fix bug in revocation service
|
||||||
|
* Drop references to vmask
|
||||||
|
* Better documentation of consts
|
||||||
|
* Do not fail if EK cert is not present in TPM NV
|
||||||
|
* Add more verbose logging to better match Python agent
|
||||||
|
* Remove verify stub as we are not using it
|
||||||
|
* tests: Don't pass --allow-signing to swtpm_setup
|
||||||
|
* Fix typos
|
||||||
|
* Add dependency for libzmq3-dev / zeromq-devel
|
||||||
|
* Fix new clippy lints
|
||||||
|
* Add handling for Identity and Integrity quotes
|
||||||
|
* Add Quote functionality
|
||||||
|
* Add marshaling functions for TPM structs
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jun 08 11:59:11 UTC 2021 - aplanas@suse.com
|
Tue Jun 08 11:59:11 UTC 2021 - aplanas@suse.com
|
||||||
|
|
||||||
|
@ -18,18 +18,26 @@
|
|||||||
|
|
||||||
%global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
|
%global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
|
||||||
Name: rust-keylime
|
Name: rust-keylime
|
||||||
Version: 0.0.1+git.1620935374.4df2148
|
Version: 0.1.0+git.1626706730.a009476
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Rust implementation of the keylime agent
|
Summary: Rust implementation of the keylime agent
|
||||||
License: MIT
|
License: Apache-2.0 AND MIT
|
||||||
URL: https://github.com/keylime/rust-keylime
|
URL: https://github.com/keylime/rust-keylime
|
||||||
Source: rust-keylime-%{version}.tar.xz
|
Source: rust-keylime-%{version}.tar.xz
|
||||||
Source1: vendor.tar.xz
|
Source1: vendor.tar.xz
|
||||||
Source2: cargo_config
|
Source2: cargo_config
|
||||||
|
Source3: keylime_agent.service
|
||||||
|
Source4: keylime.xml
|
||||||
|
# PATCH-FIX-OPENSUSE keylime.conf.diff
|
||||||
|
Patch1: keylime.conf.diff
|
||||||
|
# PATCH-FIX-UPSTREAM generate-cargo-lock-file.patch gh#keylime/rust-keylime!244
|
||||||
|
Patch2: generate-cargo-lock-file.patch
|
||||||
BuildRequires: cargo
|
BuildRequires: cargo
|
||||||
BuildRequires: czmq-devel
|
BuildRequires: firewall-macros
|
||||||
|
BuildRequires: libarchive-devel
|
||||||
BuildRequires: rust
|
BuildRequires: rust
|
||||||
BuildRequires: tpm2-0-tss-devel
|
BuildRequires: tpm2-0-tss-devel
|
||||||
|
BuildRequires: zeromq-devel
|
||||||
ExcludeArch: %{ix86} s390x ppc64 ppc64le armhfp armv7hl
|
ExcludeArch: %{ix86} s390x ppc64 ppc64le armhfp armv7hl
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -37,7 +45,7 @@ Rust implementation of keylime agent. Keylime is system integrity
|
|||||||
monitoring system.
|
monitoring system.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -qa1
|
%autosetup -a1
|
||||||
mkdir .cargo
|
mkdir .cargo
|
||||||
cp %{SOURCE2} .cargo/config
|
cp %{SOURCE2} .cargo/config
|
||||||
|
|
||||||
@ -45,15 +53,37 @@ cp %{SOURCE2} .cargo/config
|
|||||||
RUSTFLAGS=%{rustflags} cargo build --release
|
RUSTFLAGS=%{rustflags} cargo build --release
|
||||||
|
|
||||||
%install
|
%install
|
||||||
RUSTFLAGS=%{rustflags} cargo install --root=%{buildroot}%{_prefix} --path .
|
RUSTFLAGS=%{rustflags} cargo install --frozen --root=%{buildroot}%{_prefix} --path .
|
||||||
|
|
||||||
install -Dpm 644 keylime.conf %{buildroot}%{_sysconfdir}/keylime.conf
|
install -Dpm 644 keylime.conf %{buildroot}%{_sysconfdir}/keylime.conf
|
||||||
|
install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/keylime_agent.service
|
||||||
|
|
||||||
|
install -D -m 644 %{SOURCE4} %{buildroot}%{_prefix}/lib/firewalld/services/keylime.xml
|
||||||
|
|
||||||
rm %{buildroot}%{_prefix}/.crates.toml
|
rm %{buildroot}%{_prefix}/.crates.toml
|
||||||
rm %{buildroot}%{_prefix}/.crates2.json
|
rm %{buildroot}%{_prefix}/.crates2.json
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%service_add_pre keylime_agent.service
|
||||||
|
|
||||||
|
%post
|
||||||
|
%firewalld_reload
|
||||||
|
%service_add_post keylime_agent.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%service_del_preun keylime_agent.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%service_del_postun keylime_agent.service
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE
|
||||||
%{_bindir}/keylime_agent
|
%{_bindir}/keylime_agent
|
||||||
%config(noreplace) %{_sysconfdir}/keylime.conf
|
%config(noreplace) %{_sysconfdir}/keylime.conf
|
||||||
|
%dir %{_prefix}/lib/firewalld
|
||||||
|
%dir %{_prefix}/lib/firewalld/services
|
||||||
|
%{_prefix}/lib/firewalld/services/keylime.xml
|
||||||
|
%{_unitdir}/keylime_agent.service
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7108bec5444d6f122bccb2ad850f038bfa3e32e08818e72ae63b378b72d87214
|
oid sha256:3a91a7293c73eaafcf7d1e8ffa6bcdb0e475a5ceb791544cbaeca2685b5b45a3
|
||||||
size 15297844
|
size 15756232
|
||||||
|
Loading…
x
Reference in New Issue
Block a user