A report signing backend that returns a confidential-computing attestation report obtained via configfs-tsm. Implements io.systemd.Report.Signer.Sign(): embeds the digest as the report's inblob and returns the outblob (plus provider and any aux/manifest blobs). Wired up as the "tsm" mechanism with a socket-activated service. Signed-off-by: Paul Meyer <katexochen0@gmail.com>
47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
[Unit]
|
|
Description=Report Signing Service (configfs-tsm)
|
|
Documentation=man:systemd-report-sign-tsm@.service(8)
|
|
DefaultDependencies=no
|
|
Before=shutdown.target
|
|
Conflicts=shutdown.target
|
|
Wants=sys-kernel-config.mount
|
|
After=sys-kernel-config.mount
|
|
|
|
[Service]
|
|
ExecStart={{LIBEXECDIR}}/systemd-report-sign-tsm
|
|
CapabilityBoundingSet=
|
|
DeviceAllow=
|
|
IPAddressDeny=any
|
|
LockPersonality=yes
|
|
MemoryDenyWriteExecute=yes
|
|
NoNewPrivileges=yes
|
|
PrivateDevices=yes
|
|
PrivateIPC=yes
|
|
PrivateNetwork=yes
|
|
PrivateTmp=disconnected
|
|
ProtectControlGroups=yes
|
|
ProtectHome=yes
|
|
ProtectHostname=yes
|
|
ProtectKernelLogs=yes
|
|
ProtectKernelModules=yes
|
|
ProtectKernelTunables=yes
|
|
ProtectSystem=strict
|
|
ReadWritePaths=-/sys/kernel/config/tsm/report
|
|
RestrictAddressFamilies=AF_UNIX
|
|
RestrictNamespaces=yes
|
|
RestrictRealtime=yes
|
|
RestrictSUIDSGID=yes
|
|
RuntimeMaxSec=5min
|
|
SystemCallArchitectures=native
|
|
SystemCallErrorNumber=EPERM
|
|
SystemCallFilter=@system-service
|