From a97e3c0c8a22af905483fa84283e71030fe6a9a6 Mon Sep 17 00:00:00 2001 From: Ben Grande Date: Fri, 12 Jan 2024 17:22:58 +0100 Subject: [PATCH] feat: kicksecure minimal template --- .reuse/dep5 | 8 + salt/kicksecure-minimal/README.md | 43 + salt/kicksecure-minimal/clone.sls | 10 + salt/kicksecure-minimal/clone.top | 10 + salt/kicksecure-minimal/create.sls | 71 + salt/kicksecure-minimal/create.top | 10 + .../files/repo/derivative.asc | 1193 +++++++++++++++++ .../files/repo/derivative.sources | 6 + .../files/template/grub.d/40_qusal.cfg | 10 + .../hide-hardware-info.d/40_qusal.conf | 9 + .../files/template/ld.so.preload | 1 + .../permission-hardener.d/40_qusal.conf | 8 + salt/kicksecure-minimal/init.top | 13 + salt/kicksecure-minimal/install-repo.sls | 12 + salt/kicksecure-minimal/install-repo.top | 10 + salt/kicksecure-minimal/install-testing.sls | 71 + salt/kicksecure-minimal/install-testing.top | 10 + salt/kicksecure-minimal/install.sls | 83 ++ salt/kicksecure-minimal/install.top | 10 + salt/kicksecure-minimal/prefs.sls | 22 + salt/kicksecure-minimal/prefs.top | 10 + salt/kicksecure-minimal/template.jinja | 15 + salt/sys-cacher/install-client.sls | 1 + salt/utils/macros/clone-template.sls | 11 +- 24 files changed, 1644 insertions(+), 3 deletions(-) create mode 100644 salt/kicksecure-minimal/README.md create mode 100644 salt/kicksecure-minimal/clone.sls create mode 100644 salt/kicksecure-minimal/clone.top create mode 100644 salt/kicksecure-minimal/create.sls create mode 100644 salt/kicksecure-minimal/create.top create mode 100644 salt/kicksecure-minimal/files/repo/derivative.asc create mode 100644 salt/kicksecure-minimal/files/repo/derivative.sources create mode 100644 salt/kicksecure-minimal/files/template/grub.d/40_qusal.cfg create mode 100644 salt/kicksecure-minimal/files/template/hide-hardware-info.d/40_qusal.conf create mode 100644 salt/kicksecure-minimal/files/template/ld.so.preload create mode 100644 salt/kicksecure-minimal/files/template/permission-hardener.d/40_qusal.conf create mode 100644 salt/kicksecure-minimal/init.top create mode 100644 salt/kicksecure-minimal/install-repo.sls create mode 100644 salt/kicksecure-minimal/install-repo.top create mode 100644 salt/kicksecure-minimal/install-testing.sls create mode 100644 salt/kicksecure-minimal/install-testing.top create mode 100644 salt/kicksecure-minimal/install.sls create mode 100644 salt/kicksecure-minimal/install.top create mode 100644 salt/kicksecure-minimal/prefs.sls create mode 100644 salt/kicksecure-minimal/prefs.top create mode 100644 salt/kicksecure-minimal/template.jinja diff --git a/.reuse/dep5 b/.reuse/dep5 index 92344c9..c51f896 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -30,6 +30,10 @@ Copyright: The Qubes OS Project Simon Gaiser License: CC0-1.0 +Files: salt/kicksecure-minimal/files/template/ld.so.preload +Copyright: 2014 Patrick Schleizer +License: CC0-1.0 + Files: salt/ansible/files/repo/* Copyright: 2014 Ansible, Inc. License: CC0-1.0 @@ -42,6 +46,10 @@ Files: salt/docker/files/repo/* Copyright: 2017 Docker Inc. License: CC0-1.0 +Files: salt/kicksecure-minimal/files/repo/* +Copyright: 2014 Patrick Schleizer +License: CC0-1.0 + Files: salt/signal/files/repo/* Copyright: 2017 Open Whisper Systems License: CC0-1.0 diff --git a/salt/kicksecure-minimal/README.md b/salt/kicksecure-minimal/README.md new file mode 100644 index 0000000..4f26d73 --- /dev/null +++ b/salt/kicksecure-minimal/README.md @@ -0,0 +1,43 @@ +# kicksecure + +Kicksecure Template in Qubes OS. + +## Table of Contents + +* [Description](#description) +* [Installation](#installation) +* [Usage](#usage) + +## Description + +Creates the Kicksecure template as well as a Disposable Template based on it. + +## Installation + +- Top: +```sh +qubesctl top.enable kicksecure +qubesctl --targets=kicksecure-17 state.apply +qubesctl top.disable kicksecure +qubesctl state.apply kicksecure.prefs +``` + +- State: + +```sh +qubesctl state.apply kicksecure.create +qubesctl --skip-dom0 --targets=kicksecure-17 state.apply kicksecure.install +qubesctl state.apply kicksecure.prefs +``` + + +If you want to help improve Kicksecure on Qubes, install packages that are +known to be broken on Qubes and report bugs upstream (get a terminal with +qvm-console-dispvm): +```sh +qubesctl --skip-dom0 --targets=kicksecure-17 state.apply kicksecure.install-testing +``` + +## Usage + +AppVMs and StandaloneVMs can be based on this template. diff --git a/salt/kicksecure-minimal/clone.sls b/salt/kicksecure-minimal/clone.sls new file mode 100644 index 0000000..f87331d --- /dev/null +++ b/salt/kicksecure-minimal/clone.sls @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{%- import slsdotpath ~ "/template.jinja" as template -%} + +{% from 'utils/macros/clone-template.sls' import clone_template -%} +{{ clone_template('debian-minimal', template.template, 'noprefix') }} diff --git a/salt/kicksecure-minimal/clone.top b/salt/kicksecure-minimal/clone.top new file mode 100644 index 0000000..5d36082 --- /dev/null +++ b/salt/kicksecure-minimal/clone.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'dom0': + - match: nodegroup + - kicksecure-minimal.clone diff --git a/salt/kicksecure-minimal/create.sls b/salt/kicksecure-minimal/create.sls new file mode 100644 index 0000000..e2aa7f5 --- /dev/null +++ b/salt/kicksecure-minimal/create.sls @@ -0,0 +1,71 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{%- from "qvm/template.jinja" import load -%} + +{%- import slsdotpath ~ "/template.jinja" as template -%} + +include: + - .clone + +"{{ slsdotpath }}-updated": + pkg.uptodate: + - refresh: True + +"{{ slsdotpath }}-installed": + pkg.installed: + - refresh: True + - install_recommends: False + - skip_suggestions: True + - pkgs: + - grub2-xen-pvh + +{% load_yaml as defaults -%} +name: dvm-{{ template.template_clean }} +force: True +require: +- sls: {{ template.template_clean }}.clone +present: +- template: {{ template.template }} +- label: red +prefs: +- template: {{ template.template }} +- label: red +- memory: 300 +- maxmem: 600 +- vcpus: 1 +- template_for_dispvms: True +- include_in_backups: False +features: +- enable: + - appmenus-dispvm +- set: + - menu-items: "qubes-open-file-manager.desktop qubes-run-terminal.desktop qubes-start.desktop" +tags: +- add: + - updatevm-sys-cacher +{%- endload %} +{{ load(defaults) }} + +{% load_yaml as defaults -%} +name: {{ template.template }} +force: True +require: +- sls: {{ slsdotpath }}.clone +present: +- label: black +prefs: +- label: black +- memory: 300 +- maxmem: 600 +- vcpus: 2 +- include_in_backups: False +features: +- set: + - menu-items: "qubes-open-file-manager.desktop qubes-run-terminal.desktop qubes-start.desktop" + - default-menu-items: "qubes-open-file-manager.desktop qubes-run-terminal.desktop qubes-start.desktop" +{%- endload %} +{{ load(defaults) }} diff --git a/salt/kicksecure-minimal/create.top b/salt/kicksecure-minimal/create.top new file mode 100644 index 0000000..23e4caa --- /dev/null +++ b/salt/kicksecure-minimal/create.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'dom0': + - match: nodegroup + - kicksecure-minimal.create diff --git a/salt/kicksecure-minimal/files/repo/derivative.asc b/salt/kicksecure-minimal/files/repo/derivative.asc new file mode 100644 index 0000000..fa83892 --- /dev/null +++ b/salt/kicksecure-minimal/files/repo/derivative.asc @@ -0,0 +1,1193 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +Whapos8dv40= +=AgOr +-----END PGP PUBLIC KEY BLOCK----- diff --git a/salt/kicksecure-minimal/files/repo/derivative.sources b/salt/kicksecure-minimal/files/repo/derivative.sources new file mode 100644 index 0000000..69d839e --- /dev/null +++ b/salt/kicksecure-minimal/files/repo/derivative.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://deb.kicksecure.com +Suites: bookworm +Components: main contrib non-free +Signed-by: /usr/share/keyrings/derivative.asc +# vim:ft=debsources diff --git a/salt/kicksecure-minimal/files/template/grub.d/40_qusal.cfg b/salt/kicksecure-minimal/files/template/grub.d/40_qusal.cfg new file mode 100644 index 0000000..667c04b --- /dev/null +++ b/salt/kicksecure-minimal/files/template/grub.d/40_qusal.cfg @@ -0,0 +1,10 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# Values for the parameter "remountsecure" +# 0: disable remount secure +# 1: remount with nodev and nosuid +# 2: remount with nodev, nosuid and noexec for most mount points excluding /home +# 3: remount with nodev, nosuid, noexec for all mount points including /home +GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX remountsecure=3" diff --git a/salt/kicksecure-minimal/files/template/hide-hardware-info.d/40_qusal.conf b/salt/kicksecure-minimal/files/template/hide-hardware-info.d/40_qusal.conf new file mode 100644 index 0000000..28a724a --- /dev/null +++ b/salt/kicksecure-minimal/files/template/hide-hardware-info.d/40_qusal.conf @@ -0,0 +1,9 @@ +# vim: ft=sh +# shellcheck disable=SC2034 + +# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +sysfs_whitelist=0 +cpuionfo_whitelist=0 diff --git a/salt/kicksecure-minimal/files/template/ld.so.preload b/salt/kicksecure-minimal/files/template/ld.so.preload new file mode 100644 index 0000000..fdf2d64 --- /dev/null +++ b/salt/kicksecure-minimal/files/template/ld.so.preload @@ -0,0 +1 @@ +libhardened_malloc.so diff --git a/salt/kicksecure-minimal/files/template/permission-hardener.d/40_qusal.conf b/salt/kicksecure-minimal/files/template/permission-hardener.d/40_qusal.conf new file mode 100644 index 0000000..b6c901a --- /dev/null +++ b/salt/kicksecure-minimal/files/template/permission-hardener.d/40_qusal.conf @@ -0,0 +1,8 @@ +# vim: ft=sh +# shellcheck disable=SC2034 + +# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +whitelists_disable_all=true diff --git a/salt/kicksecure-minimal/init.top b/salt/kicksecure-minimal/init.top new file mode 100644 index 0000000..df05b6d --- /dev/null +++ b/salt/kicksecure-minimal/init.top @@ -0,0 +1,13 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'dom0': + - match: nodegroup + - kicksecure-minimal.create + 'I@qubes:type:template and E@^kicksecure-[0-9][0-9]-minimal$': + - match: compound + - kicksecure-minimal.install diff --git a/salt/kicksecure-minimal/install-repo.sls b/salt/kicksecure-minimal/install-repo.sls new file mode 100644 index 0000000..49421a6 --- /dev/null +++ b/salt/kicksecure-minimal/install-repo.sls @@ -0,0 +1,12 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if grains['nodename'] != 'dom0' -%} + +{% from 'utils/macros/install-repo.sls' import install_repo -%} +{{ install_repo(sls_path, 'derivative') }} + +{% endif -%} diff --git a/salt/kicksecure-minimal/install-repo.top b/salt/kicksecure-minimal/install-repo.top new file mode 100644 index 0000000..167c133 --- /dev/null +++ b/salt/kicksecure-minimal/install-repo.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'I@qubes:type:template and E@^kicksecure-[0-9][0-9]-minimal$': + - match: compound + - kicksecure-minimal.install-repo diff --git a/salt/kicksecure-minimal/install-testing.sls b/salt/kicksecure-minimal/install-testing.sls new file mode 100644 index 0000000..d0bae50 --- /dev/null +++ b/salt/kicksecure-minimal/install-testing.sls @@ -0,0 +1,71 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later + +Most likely the GUI agent will break, use qvm-console-dispvm to get a terminal. +#} + +{% if grains['nodename'] != 'dom0' -%} + +include: + - kicksecure-minimal.install + +## Breaks systemd service qubes-gui-agent +"{{ slsdotpath }}-proc-hidepid-enabled": + service.enabled: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: proc-hidepid + +## Breaks systemd services xen and systemd-binfmt +"{{ slsdotpath }}-harden-module-loading-enabled": + service.enabled: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: harden-module-loading + +## Breaks systemd services qubes-gui-agent and user@1000 +"{{ slsdotpath }}-hide-hardware-info-enabled": + service.enabled: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: hide-hardware-info + +"{{ slsdotpath }}-hide-hardware-info-conf": + file.managed: + - require: + - service: "{{ slsdotpath }}-hide-hardware-info-enabled" + - name: /etc/hide-hardware-info.d/40_qusal.conf + - source: salt://{{ slsdotpath }}/files/template/hide-hardware-info.d/40_qusal.conf + - mode: '0600' + - user: root + - group: root + - makedirs: True + +## Service ExecStart command-line not reading grub option +"{{ slsdotpath }}-remount-secure-enabled": + service.enabled: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: remount-secure + +"{{ slsdotpath }}-remount-secure-grub-cfg": + file.managed: + - require: + - service: "{{ slsdotpath }}-remount-secure-enabled" + - name: /etc/default/grub.d/40_qusal.cfg + - source: salt://{{ slsdotpath }}/files/template/grub.d/40_qusal.cfg + - mode: '0600' + - user: root + - group: root + - makedirs: True + +"{{ slsdotpath }}-update-grub": + cmd.run: + - require: + - file: "{{ slsdotpath }}-remount-secure-grub-cfg" + - name: update-grub + - runas: root + +{% endif %} diff --git a/salt/kicksecure-minimal/install-testing.top b/salt/kicksecure-minimal/install-testing.top new file mode 100644 index 0000000..9220875 --- /dev/null +++ b/salt/kicksecure-minimal/install-testing.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'I@qubes:type:template and E@^kicksecure-[0-9][0-9]-minimal$': + - match: compound + - kicksecure-minimal.install-testing diff --git a/salt/kicksecure-minimal/install.sls b/salt/kicksecure-minimal/install.sls new file mode 100644 index 0000000..e5a23b1 --- /dev/null +++ b/salt/kicksecure-minimal/install.sls @@ -0,0 +1,83 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later + +https://www.kicksecure.com/wiki/Debian +https://www.kicksecure.com/wiki/Security-misc +https://www.kicksecure.com/wiki/Hardened-kernel +https://www.kicksecure.com/wiki/Hardened_Malloc +https://www.kicksecure.com/wiki/Operating_System_Hardening +https://www.kicksecure.com/wiki/Linux_Kernel_Runtime_Guard_LKRG +https://www.qubes-os.org/doc/managing-vm-kernels/#distribution-kernel +#} + +{% if grains['nodename'] != 'dom0' -%} + +include: + - kicksecure-minimal.install-repo + - sys-cacher.install-client + - utils.tools.zsh + +"{{ slsdotpath }}-updated": + pkg.uptodate: + - refresh: True + +"{{ slsdotpath }}-installed": + pkg.installed: + - refresh: True + - install_recommends: False + - skip_suggestions: True + - pkgs: + - kicksecure-qubes-cli + - lkrg-dkms + - hardened-kernel + - tirdad + - linux-image-amd64 + - linux-headers-amd64 + - grub2 + - qubes-kernel-vm-support + +"{{ slsdotpath }}-remove-debian-default-sources.list": + file.absent: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: /etc/apt/sources.list + +"{{ slsdotpath }}-permission-hardener-enabled": + service.enabled: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: permission-hardening + #- name: permission-hardener + +"{{ slsdotpath }}-permission-hardener-conf": + file.managed: + - require: + - service: "{{ slsdotpath }}-permission-hardener-enabled" + - name: /etc/permission-hardener.d/40_qusal.conf + - source: salt://{{ slsdotpath }}/files/template/permission-hardener.d/40_qusal.conf + - mode: '0600' + - user: root + - group: root + - makedirs: True + +"{{ slsdotpath }}-hardened-malloc-preload": + file.managed: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: /etc/ld.so.preload + - source: salt://{{ slsdotpath }}/files/template/ld.so.preload + - mode: '0644' + - user: root + - group: root + - makedirs: True + +"{{ slsdotpath }}-distribution-kernel": + cmd.run: + - require: + - pkg: "{{ slsdotpath }}-installed" + - name: grub-install /dev/xvda + - runas: root + +{% endif %} diff --git a/salt/kicksecure-minimal/install.top b/salt/kicksecure-minimal/install.top new file mode 100644 index 0000000..eec4610 --- /dev/null +++ b/salt/kicksecure-minimal/install.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'I@qubes:type:template and E@^kicksecure-[0-9][0-9]-minimal$': + - match: compound + - kicksecure-minimal.install diff --git a/salt/kicksecure-minimal/prefs.sls b/salt/kicksecure-minimal/prefs.sls new file mode 100644 index 0000000..8209734 --- /dev/null +++ b/salt/kicksecure-minimal/prefs.sls @@ -0,0 +1,22 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{%- from "qvm/template.jinja" import load -%} + +{%- import slsdotpath ~ "/template.jinja" as template -%} + +include: + - .clone + +{% load_yaml as defaults -%} +name: {{ template.template }} +force: True +require: +- sls: {{ slsdotpath }}.clone +prefs: +- kernel: pvgrub2-pvh +{%- endload %} +{{ load(defaults) }} diff --git a/salt/kicksecure-minimal/prefs.top b/salt/kicksecure-minimal/prefs.top new file mode 100644 index 0000000..6324c49 --- /dev/null +++ b/salt/kicksecure-minimal/prefs.top @@ -0,0 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'dom0': + - match: nodegroup + - kicksecure-minimal.prefs diff --git a/salt/kicksecure-minimal/template.jinja b/salt/kicksecure-minimal/template.jinja new file mode 100644 index 0000000..0ff683b --- /dev/null +++ b/salt/kicksecure-minimal/template.jinja @@ -0,0 +1,15 @@ +{# +SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% set base = 'kicksecure' -%} +{% set version = salt['pillar.get']('qvm:kicksecure:version', '17') -%} +{% set flavor = salt['pillar.get']('qvm:kicksecure:flavor', 'minimal') -%} +#{% set repo = salt['pillar.get']('qvm:kicksecure:repo', 'qubes-templates-itl') -%} +{% if flavor -%} + {% set flavor = '-' ~ flavor -%} +{% endif -%} +{% set template = base ~ '-' ~ version ~ flavor -%} +{% set template_clean = base ~ flavor -%} diff --git a/salt/sys-cacher/install-client.sls b/salt/sys-cacher/install-client.sls index b1abe91..6c04de1 100644 --- a/salt/sys-cacher/install-client.sls +++ b/salt/sys-cacher/install-client.sls @@ -23,6 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later - repl: 'http://HTTPS/' - flags: [ 'IGNORECASE', 'MULTILINE' ] - backup: False + - ignore_if_missing: True {% endif -%} {% elif grains['os_family']|lower == 'arch' -%} diff --git a/salt/utils/macros/clone-template.sls b/salt/utils/macros/clone-template.sls index 239809f..feaabb3 100644 --- a/salt/utils/macros/clone-template.sls +++ b/salt/utils/macros/clone-template.sls @@ -13,18 +13,23 @@ Usage: {{ clone_template('debian-minimal', sls_path) }} #} -{% macro clone_template(source, name) -%} +{% macro clone_template(source, name, noprefix) -%} {%- import source ~ "/template.jinja" as template -%} include: - {{ source }}.create -"tpl-{{ name }}-clone": +{% set prefix = "tpl-" -%} +{% if noprefix -%} + {%- set prefix = "" -%} +{% endif -%} + +"{{ prefix }}{{ name }}-clone": qvm.clone: - require: - sls: {{ source }}.create - source: {{ template.template }} - - name: tpl-{{ name }} + - name: {{ prefix }}{{ name }} {% endmacro -%}