mirror of
https://github.com/tommytran732/Fedora-CoreOS-Ignition
synced 2024-12-22 06:32:18 -05:00
Code cleanup
Signed-off-by: Tommy <contact@tommytran.io>
This commit is contained in:
parent
8b6b26ad75
commit
89b9395dfe
@ -1,227 +0,0 @@
|
||||
{
|
||||
"ignition": {
|
||||
"version": "3.4.0"
|
||||
},
|
||||
"kernelArguments": {
|
||||
"shouldExist": [
|
||||
"spectre_v2=on",
|
||||
"spec_store_bypass_disable=on",
|
||||
"l1tf=full,force",
|
||||
"mds=full,nosmt",
|
||||
"tsx=off",
|
||||
"tsx_async_abort=full,nosmt",
|
||||
"kvm.nx_huge_pages=force",
|
||||
"nosmt=force",
|
||||
"l1d_flush=on",
|
||||
"mmio_stale_data=full,nosmt",
|
||||
"random.trust_bootloader=off",
|
||||
"random.trust_cpu=off",
|
||||
"intel_iommu=on",
|
||||
"amd_iommu=force_isolation",
|
||||
"efi=disable_early_pci_dma",
|
||||
"iommu=force",
|
||||
"iommu.passthrough=0",
|
||||
"iommu.strict=1",
|
||||
"slab_nomerge",
|
||||
"init_on_alloc=1",
|
||||
"init_on_free=1",
|
||||
"pti=on",
|
||||
"vsyscall=none",
|
||||
"ia32_emulation=0",
|
||||
"page_alloc.shuffle=1",
|
||||
"randomize_kstack_offset=on",
|
||||
"extra_latent_entropy",
|
||||
"debugfs=off"
|
||||
]
|
||||
},
|
||||
"passwd": {
|
||||
"users": [
|
||||
{
|
||||
"groups": [
|
||||
"wheel",
|
||||
"sudo"
|
||||
],
|
||||
"name": "tomster",
|
||||
"sshAuthorizedKeys": [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "unpriv"
|
||||
}
|
||||
]
|
||||
},
|
||||
"storage": {
|
||||
"files": [
|
||||
{
|
||||
"path": "/etc/zincati/config.d/51-rollout-wariness.toml",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,%5Bidentity%5D%0Arollout_wariness%20%3D%200%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/zincati/config.d/55-updates-strategy.toml",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/2SNMarEMAxEe51C6ADB1S8+5BRbGmNMLLIGRw62TMieflGRats3b2b8PHNSHgGG9qS837gindxLy2UjePLlQQG0HBw/TdjM2rZUjRD4H3e5iuR2hQA53QNX9EivKYT2lrpGK9qK+3eOoLLs+o5Hkals+p+DbwAAAP//4Po2vKAAAAA="
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/yum.repos.d/docker-ce.repo",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/7zSsU+EMBTH8b1/BcOtvepqwuS5upybcSjt7wqh15K2qPffGyjKQCAm8pxoHqQvn/B91V61CFyBxyQrizfm5BXlaRwXj0/FeRwXvDhUMkIGVbPh0Adb1il18UEI7T+c9VIf82VH5a/CNq7/FBdoH6Q4BFjIiHcE8XONyAsZ3PDQ5T0znVE1VJuPLW6/32A6w9gCwzWq3jTu4tdZp+9P9gKOO/kq846AGX0f1MavO4/v499ceQkpJyGmheIFMVHkNyyjY2ykN4HIwyMGrkQ36fZMjg7iGlMne1sgnvOcIrtpJalnI75ZRt7fv0hXKpyZe4a4u+grAAD//29EVAF/BwAA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/tuned/active_profile",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,virtual-guest%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/tuned/profile_mode",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,manual%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/systemd/zram-generator.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,%5Bzram0%5D%0Azram-fraction%20%3D%201%0Amax-zram-size%20%3D%208192%0Acompression-algorithm%20%3D%20zstd%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/security/limits.d/30-disable-coredump.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,*%20hard%20core%200%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/ssh/ssh_config.d/10-custom.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,GSSAPIAuthentication%20no%0AVerifyHostKeyDNS%20yes%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/automatic-updater.service",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/4yQsU78MAyHdz9Fpf/cyxNkuL8OIVaO6oaqQ0hMz2pqB8cB+vYM5YSEGNh+0vf5GzwOTDbBCWtUKkbC/thM1mAUu6GkYKhwfDFUnyQuqIeK+kYR4RFfGylWz2jvoksvnInxYEFntG/84wzG874mGCqqVxGDe5VW9nkRXYjnEylGE928K8GuzsTtoT7KWqSiSzcD/t19YDxbUPOuVXXPxG4m60rLGX5he6j7Cv1Va6XrEzxtBb0w1qsYwPjA1ULOE1wCG6b/m19bNupbRb194jMAAP//N1DJcGMBAAA="
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/sysconfig/chronyd",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
"source": "data:,%23%20Command-line%20options%20for%20chronyd%0AOPTIONS%3D%22-F%201%22%0A"
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/unbound/unbound.conf",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/6xSQWvcPBC9768Q/s5jezfZ5MNQ6CWFQktL00uPE2lsD5ElZzTa1Pn1RbtdlyyFQqkNxp4373ne0ySSA0m3McaOEqN2pqo2G2MwawSVnBQw2DEK9OypM1VzQGk8PzQ5PMQcXFNY9SMt1caYV4TEQ0DPYejMQmljTOmER1ogUVAO5E9A4fkElkThIQdXftOQ2iYl35RqaiweYe7ZolKqreiZxfNIkjpTff7y6d37D3dv7r/df737eDQxsiMYVWfIiQRwoKDnYY4YuzKJLq+KRxMnD6/qB5LEMaxDOwoLYPhFRnEUAP0QwcXnMAg6ugA9ykDwlEmY0gUm1JMIephRxwssjfGYTp/4ZdXkIUQhsA56j2vKE36H7GY4dV61t7tSjC57AhtDz0NnqgN6dqhRDCtJeSnH9xRwIpg48MQJlWOApMJ2DS2HZwxKDoRmv4COQmmM3nVm256u0pQILM4J+ijAbs0rZh0ihwHm4mUmmVgLcXcNN/v91b70zCUEtav983dZm59CfZRnFAcvMVDZ2zJzZ6q6GDhjZTPynFQIp7PUGUPnpDPbuty7t//vr/5LZLOwLrX1MbveoxC4kGobp9/w2rr9C97upr3prm/b9vTottvtPxBp2z+L/AgAAP//qRxiA+IDAAA="
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/unbound.service.d/override.conf",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/2yRQWvcPBCG7/srBN8hp+T43Qxekt12ycYsiUsLpRRZfrMZLGvMzMjEl/72oqUbauhJo2dmmNGj7y+QmQJ+bJ4wsiwPSMtXIcPuHSEbKpOMzUlo9oYHlFJdsXacrnc2BPvMI1bgPnIY1oSTCcdPwnnSVeYRkhCPfP4XfuI+x+v0/1z7Ruo6gR/UZaV0dsphgDmejDipizTA3SjfSpi7/Hpz53bvU6RAFhfXk/ouwr2yuJmUOopky916YptTKVovcxIOFaVLU8TmGWpCwbZ9L1Dd+5EiQavt/ueh2bXuz/l/CZpdezw0jyX80hy+ffQ+w0ejq7eXRQ3jvY9xK+GNysws0Cp5o/nv9J6iQapfdSiKXR2mfIsxR1/e7+oeXT67esAixU49Xvy5kXMyV3OnHGFwtUA5S4B+7NP4ETr58tULdHPkMJwgyskXSRf2OwAA///OGG3DOAIAAA=="
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/docker/daemon.json",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
"source": "data:;base64,H4sIAAAAAAAC/9RSS2rDMBDd+xRCaw/aB7zoOUoXiq04wfqhGbmUkrsXyU6oiigNNWmzMVjz5ul99N4wxhgf1EFGTRCipZNRfMd4iBZ7wDekID1vF9w6R75jy+blFHuYZlMc55GXdExsImIQ2vVSi/3Jiryxkn6mSeRPYUz8z8UwAwC8lnRwwXTpsraGsIpeXZi6o0PiBeDl+nduv2q/2Lyb/jLXTTxMs2EAaQfigJ3zyv63PqqIUvGtlf2d5Z9XuKXtaTYwqH0cH6LbrBS0GztBxourBfENvD5KWffq5udx76x++Siqea2cm2fWLN9z8xEAAP//Je94AgUGAAA="
|
||||
}
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"path": "/etc/localtime",
|
||||
"target": "../usr/share/zoneinfo/America/New_York"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/multi-user.target.wants/unbound.service",
|
||||
"target": "/usr/lib/systemd/system/unbound.service"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/multi-user.target.wants/tuned.service",
|
||||
"target": "/usr/lib/systemd/system/tuned.service"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/kdump.service",
|
||||
"target": "/dev/null"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/debug-shell.service",
|
||||
"target": "/dev/null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"systemd": {
|
||||
"units": [
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf | /usr/bin/tee /etc/chrony.conf\nExecStart=/usr/bin/systemctl restart chronyd\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf | /usr/bin/tee /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf | /usr/bin/tee /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf | /usr/bin/tee /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf | /usr/bin/tee /etc/sysctl.d/30_security-misc_kexec-disable.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf | /usr/bin/tee /etc/systemd/system/sshd.service.d/override.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf | /usr/bin/tee /etc/ssh/sshd_config.d/10-custom.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 2\n# We run this after the packages have been overlayed\nAfter=network-online.target\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/firewall-cmd --lockdown-on\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst2.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Service]\nType=oneshot\nExecStart=/usr/sbin/setsebool container_use_cephfs off\nExecStart=/usr/sbin/setsebool virt_use_nfs off\nExecStart=/usr/sbin/setsebool virt_use_samba off\nRemainAfterExit=yes\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "setsebool.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Unit]\nDescription=gVisor Update\nRequires=network-online.target\nBefore=docker.service\n\n[Service]\nWorkingDirectory=/var/home/unpriv\nType=oneshot\nExecStart=/usr/bin/sleep 5\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc.sha512\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1.sha512\nExecStart=/usr/bin/sha512sum -c runsc.sha512 -c containerd-shim-runsc-v1.sha512\nExecStart=/usr/bin/rm -f runsc.sha512 containerd-shim-runsc-v1.sha512\nExecStart=/usr/bin/chown root:root runsc containerd-shim-runsc-v1\nExecStart=/usr/bin/chmod a+rx runsc containerd-shim-runsc-v1\nExecStart=/usr/bin/mv runsc containerd-shim-runsc-v1 /var/usrlocal/bin\nExecStart=/usr/bin/chcon system_u:object_r:container_runtime_exec_t:s0 /var/usrlocal/bin/runsc\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "gvisor-updater.service"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "docker.service"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "fstrim.timer"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "systemd-oomd.service"
|
||||
},
|
||||
{
|
||||
"enabled": false,
|
||||
"mask": true,
|
||||
"name": "rpm-ostree-countme.timer"
|
||||
},
|
||||
{
|
||||
"enabled": false,
|
||||
"name": "sshd.service"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "sshd.socket"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,436 +0,0 @@
|
||||
# Copyright (C) 2023 Thien Tran
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
# use this file except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
|
||||
variant: fcos
|
||||
version: 1.5.0
|
||||
passwd:
|
||||
users:
|
||||
- name: tomster
|
||||
ssh_authorized_keys:
|
||||
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io
|
||||
groups:
|
||||
- wheel
|
||||
- sudo
|
||||
- name: unpriv
|
||||
systemd:
|
||||
units:
|
||||
- name: postinst.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
Description=Initial System Setup
|
||||
# We run after `systemd-machine-id-commit.service` to ensure that
|
||||
# `ConditionFirstBoot=true` services won't rerun on the next boot.
|
||||
After=systemd-machine-id-commit.service
|
||||
After=network-online.target
|
||||
# We run before `zincati.service` to avoid conflicting rpm-ostree
|
||||
# transactions.
|
||||
Before=zincati.service
|
||||
ConditionPathExists=!/var/lib/%N.stamp
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf | /usr/bin/tee /etc/chrony.conf
|
||||
ExecStart=/usr/bin/systemctl restart chronyd
|
||||
ExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac
|
||||
ExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld qemu-guest-agent tuned unbound
|
||||
ExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf | /usr/bin/tee /etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf | /usr/bin/tee /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf | /usr/bin/tee /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf | /usr/bin/tee /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf | /usr/bin/tee /etc/systemd/system/sshd.service.d/override.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf | /usr/bin/tee /etc/ssh/sshd_config.d/10-custom.conf
|
||||
ExecStart=/usr/bin/systemctl disable systemd-resolved
|
||||
ExecStart=/usr/bin/touch /var/lib/%N.stamp
|
||||
ExecStart=/usr/bin/systemctl --no-block reboot
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: postinst2.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
Description=Initial System Setup Part 2
|
||||
# We run this after the packages have been overlayed
|
||||
After=network-online.target
|
||||
ConditionPathExists=!/var/lib/%N.stamp
|
||||
ConditionPathExists=/var/lib/postinst.stamp
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/firewall-cmd --lockdown-on
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: setsebool.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/setsebool container_use_cephfs off
|
||||
ExecStart=/usr/sbin/setsebool virt_use_nfs off
|
||||
ExecStart=/usr/sbin/setsebool virt_use_samba off
|
||||
RemainAfterExit=yes
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: gvisor-updater.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
Description=gVisor Update
|
||||
Requires=network-online.target
|
||||
Before=docker.service
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/var/home/unpriv
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/sleep 5
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc.sha512
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1.sha512
|
||||
ExecStart=/usr/bin/sha512sum -c runsc.sha512 -c containerd-shim-runsc-v1.sha512
|
||||
ExecStart=/usr/bin/rm -f runsc.sha512 containerd-shim-runsc-v1.sha512
|
||||
ExecStart=/usr/bin/chown root:root runsc containerd-shim-runsc-v1
|
||||
ExecStart=/usr/bin/chmod a+rx runsc containerd-shim-runsc-v1
|
||||
ExecStart=/usr/bin/mv runsc containerd-shim-runsc-v1 /var/usrlocal/bin
|
||||
ExecStart=/usr/bin/chcon system_u:object_r:container_runtime_exec_t:s0 /var/usrlocal/bin/runsc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: docker.service
|
||||
enabled: true
|
||||
- name: fstrim.timer
|
||||
enabled: true
|
||||
- name: systemd-oomd.service
|
||||
enabled: true
|
||||
- name: rpm-ostree-countme.timer
|
||||
enabled: false
|
||||
mask: true
|
||||
- name: sshd.service
|
||||
enabled: false
|
||||
- name: sshd.socket
|
||||
enabled: true
|
||||
storage:
|
||||
files:
|
||||
- path: /etc/zincati/config.d/51-rollout-wariness.toml
|
||||
contents:
|
||||
inline: |
|
||||
[identity]
|
||||
rollout_wariness = 0
|
||||
- path: /etc/zincati/config.d/55-updates-strategy.toml
|
||||
contents:
|
||||
inline: |
|
||||
[updates]
|
||||
strategy = "periodic"
|
||||
[updates.periodic]
|
||||
time_zone = "localtime"
|
||||
[[updates.periodic.window]]
|
||||
days = [ "Sun" ]
|
||||
start_time = "0:00"
|
||||
length_minutes = 60
|
||||
- path: /etc/yum.repos.d/docker-ce.repo
|
||||
contents:
|
||||
inline: |
|
||||
[docker-ce-stable]
|
||||
name=Docker CE Stable - $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-stable-debuginfo]
|
||||
name=Docker CE Stable - Debuginfo $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/stable
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-stable-source]
|
||||
name=Docker CE Stable - Sources
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/source/stable
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-test]
|
||||
name=Docker CE Test - $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/test
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-test-debuginfo]
|
||||
name=Docker CE Test - Debuginfo $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/test
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-test-source]
|
||||
name=Docker CE Test - Sources
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/source/test
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-nightly]
|
||||
name=Docker CE Nightly - $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/nightly
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-nightly-debuginfo]
|
||||
name=Docker CE Nightly - Debuginfo $basearch
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/nightly
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
|
||||
[docker-ce-nightly-source]
|
||||
name=Docker CE Nightly - Sources
|
||||
baseurl=https://download.docker.com/linux/fedora/$releasever/source/nightly
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
- path: /etc/tuned/active_profile
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
virtual-guest
|
||||
- path: /etc/tuned/profile_mode
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
manual
|
||||
- path: /etc/systemd/zram-generator.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
[zram0]
|
||||
zram-fraction = 1
|
||||
max-zram-size = 8192
|
||||
compression-algorithm = zstd
|
||||
- path: /etc/security/limits.d/30-disable-coredump.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
* hard core 0
|
||||
- path: /etc/ssh/ssh_config.d/10-custom.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
GSSAPIAuthentication no
|
||||
VerifyHostKeyDNS yes
|
||||
- path: /etc/systemd/system/automatic-updater.service
|
||||
contents:
|
||||
inline: |
|
||||
[Unit]
|
||||
Description=Automatic Updater
|
||||
After=docker.service
|
||||
Requires=network-online.target
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/path/to/docker-compose/directory
|
||||
#ExecStart=/usr/bin/git pull
|
||||
ExecStart=/usr/bin/docker compose pull
|
||||
ExecStart=/usr/bin/docker compose up -d
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- path: /etc/sysconfig/chronyd
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
# Command-line options for chronyd
|
||||
OPTIONS="-F 1"
|
||||
- path: /etc/unbound/unbound.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
server:
|
||||
chroot: ""
|
||||
|
||||
auto-trust-anchor-file: "/var/lib/unbound/root.key"
|
||||
trust-anchor-signaling: yes
|
||||
root-key-sentinel: yes
|
||||
|
||||
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
|
||||
tls-ciphers: "PROFILE=SYSTEM"
|
||||
|
||||
hide-http-user-agent: yes
|
||||
hide-identity: yes
|
||||
hide-trustanchor: yes
|
||||
hide-version: yes
|
||||
|
||||
deny-any: yes
|
||||
harden-algo-downgrade: yes
|
||||
harden-large-queries: yes
|
||||
harden-referral-path: yes
|
||||
harden-short-bufsize: yes
|
||||
ignore-cd-flag: yes
|
||||
max-udp-size: 3072
|
||||
module-config: "validator iterator"
|
||||
qname-minimisation-strict: yes
|
||||
unwanted-reply-threshold: 10000000
|
||||
use-caps-for-id: yes
|
||||
|
||||
outgoing-port-permit: 1024-65535
|
||||
|
||||
prefetch: yes
|
||||
prefetch-key: yes
|
||||
|
||||
forward-zone:
|
||||
name: "."
|
||||
forward-tls-upstream: yes
|
||||
forward-addr: 1.1.1.2@853#security.cloudflare-dns.com
|
||||
forward-addr: 1.0.0.2@853#security.cloudflare-dns.com
|
||||
forward-addr: 2606:4700:4700::1112@853#security.cloudflare-dns.com
|
||||
forward-addr: 2606:4700:4700::1002@853#security.cloudflare-dns.com
|
||||
- path: /etc/systemd/system/unbound.service.d/override.conf
|
||||
contents:
|
||||
inline: |
|
||||
[Service]
|
||||
MemoryDenyWriteExecute=true
|
||||
PrivateDevices=true
|
||||
PrivateTmp=true
|
||||
ProtectHome=true
|
||||
ProtectClock=true
|
||||
ProtectControlGroups=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectKernelModules=true
|
||||
# This breaks using socket options like 'so-rcvbuf'. Explicitly disable for visibility.
|
||||
ProtectKernelTunables=true
|
||||
ProtectProc=invisible
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX
|
||||
RestrictRealtime=true
|
||||
SystemCallArchitectures=native
|
||||
SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module mount @obsolete @resources
|
||||
RestrictNamespaces=yes
|
||||
LockPersonality=yes
|
||||
- path: /etc/docker/daemon.json
|
||||
contents:
|
||||
inline: |
|
||||
{
|
||||
"default-runtime": "runsc-systrap",
|
||||
"runtimes": {
|
||||
"runsc-kvm": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=kvm",
|
||||
"--network=host"
|
||||
]
|
||||
},
|
||||
"runsc-systrap": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=systrap",
|
||||
"--network=host"
|
||||
]
|
||||
},
|
||||
"runsc-kvm --host-uds=open": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=kvm",
|
||||
"--network=host",
|
||||
"--host-uds=open"
|
||||
]
|
||||
},
|
||||
"runsc-systrap --host-uds=open": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=systrap",
|
||||
"--network=host",
|
||||
"--host-uds=open"
|
||||
]
|
||||
},
|
||||
"runsc-kvm-debug": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=kvm",
|
||||
"--network=host",
|
||||
"--debug-log=/tmp/runsc-kvm/",
|
||||
"--debug",
|
||||
"--strace"
|
||||
]
|
||||
},
|
||||
"runsc-systrap-debug": {
|
||||
"path": "/usr/local/bin/runsc",
|
||||
"runtimeArgs": [
|
||||
"--platform=systrap",
|
||||
"--network=host",
|
||||
"--debug-log=/tmp/runsc-systrap/",
|
||||
"--debug",
|
||||
"--strace"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
links:
|
||||
- path: /etc/localtime
|
||||
target: ../usr/share/zoneinfo/America/New_York
|
||||
- path: /etc/systemd/system/multi-user.target.wants/unbound.service
|
||||
target: /usr/lib/systemd/system/unbound.service
|
||||
- path: /etc/systemd/system/multi-user.target.wants/tuned.service
|
||||
target: /usr/lib/systemd/system/tuned.service
|
||||
- path: /etc/systemd/system/kdump.service
|
||||
target: /dev/null
|
||||
- path: /etc/systemd/system/debug-shell.service
|
||||
target: /dev/null
|
||||
kernel_arguments:
|
||||
should_exist:
|
||||
- spectre_v2=on
|
||||
- spec_store_bypass_disable=on
|
||||
- l1tf=full,force
|
||||
- mds=full,nosmt
|
||||
- tsx=off
|
||||
- tsx_async_abort=full,nosmt
|
||||
- kvm.nx_huge_pages=force
|
||||
- nosmt=force
|
||||
- l1d_flush=on
|
||||
- mmio_stale_data=full,nosmt
|
||||
- random.trust_bootloader=off
|
||||
- random.trust_cpu=off
|
||||
- intel_iommu=on
|
||||
- amd_iommu=force_isolation
|
||||
- efi=disable_early_pci_dma
|
||||
- iommu=force
|
||||
- iommu.passthrough=0
|
||||
- iommu.strict=1
|
||||
- slab_nomerge
|
||||
- init_on_alloc=1
|
||||
- init_on_free=1
|
||||
- pti=on
|
||||
- vsyscall=none
|
||||
- ia32_emulation=0
|
||||
- page_alloc.shuffle=1
|
||||
- randomize_kstack_offset=on
|
||||
- extra_latent_entropy
|
||||
- debugfs=off
|
71
Generic.ign
71
Generic.ign
@ -4,16 +4,14 @@
|
||||
},
|
||||
"kernelArguments": {
|
||||
"shouldExist": [
|
||||
"mitigations=auto,nosmt",
|
||||
"spectre_v2=on",
|
||||
"spec_store_bypass_disable=on",
|
||||
"l1tf=full,force",
|
||||
"mds=full,nosmt",
|
||||
"tsx=off",
|
||||
"tsx_async_abort=full,nosmt",
|
||||
"kvm.nx_huge_pages=force",
|
||||
"nosmt=force",
|
||||
"l1d_flush=on",
|
||||
"mmio_stale_data=full,nosmt",
|
||||
"spec_rstack_overflow=safe-ret",
|
||||
"random.trust_bootloader=off",
|
||||
"random.trust_cpu=off",
|
||||
"intel_iommu=on",
|
||||
@ -76,6 +74,60 @@
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/chrony.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/modprobe.d/30_security-misc.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/990-security-misc.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/30_silent-kernel-printk.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/30_security-misc_kexec-disable.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/NetworkManager.service.d/99-brace.conf",
|
||||
"contents": {
|
||||
"source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/irqbalance.service.d/99-brace.conf",
|
||||
"contents": {
|
||||
"source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/sshd.service.d/local.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/ssh/sshd_config/10-custom.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/tuned/active_profile",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -83,7 +135,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/tuned/profile_mode",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -91,7 +142,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/systemd/zram-generator.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -99,7 +149,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/security/limits.d/30-disable-coredump.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -107,7 +156,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/ssh/ssh_config.d/10-custom.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -123,7 +171,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/unbound/unbound.conf",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
@ -148,7 +195,7 @@
|
||||
"links": [
|
||||
{
|
||||
"path": "/etc/localtime",
|
||||
"target": "../usr/share/zoneinfo/America/New_York"
|
||||
"target": "../usr/share/zoneinfo/America/Phoenix"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/multi-user.target.wants/unbound.service",
|
||||
@ -171,12 +218,12 @@
|
||||
"systemd": {
|
||||
"units": [
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf | /usr/bin/tee /etc/chrony.conf\nExecStart=/usr/bin/systemctl restart chronyd\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/rpm-ostree install docker-ce firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf | /usr/bin/tee /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf -o /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf | /usr/bin/tee /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf | /usr/bin/tee /etc/sysctl.d/30_security-misc_kexec-disable.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf | /usr/bin/tee /etc/systemd/system/sshd.service.d/override.conf\nExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf | /usr/bin/tee /etc/ssh/sshd_config.d/10-custom.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/rpm-ostree install docker-ce firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 2\n# We run this after the packages have been overlayed\nAfter=network-online.target\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/firewall-cmd --lockdown-on\nExecStart=/usr/bin/docker run --detach --privileged --name watchtower --restart unless-stopped --runtime=runc -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule \"0 15 0 * * 0\"\nExecStart=/bin/touch /var/lib/%N.stamp\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 2\n# We run this after the packages have been overlayed\nAfter=network-online.target\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl enable --now firewalld\nExecStart=/usr/bin/firewall-cmd --lockdown-on\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst2.service"
|
||||
},
|
||||
|
60
Generic.yml
60
Generic.yml
@ -42,25 +42,14 @@ systemd:
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf | /usr/bin/tee /etc/chrony.conf
|
||||
ExecStart=/usr/bin/systemctl restart chronyd
|
||||
ExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac
|
||||
ExecStart=/usr/bin/rpm-ostree install docker-ce firewalld qemu-guest-agent tuned unbound
|
||||
ExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf | /usr/bin/tee /etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf -o /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf | /usr/bin/tee /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf | /usr/bin/tee /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf | /usr/bin/tee /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf | /usr/bin/tee /etc/systemd/system/sshd.service.d/override.conf
|
||||
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf | /usr/bin/tee /etc/ssh/sshd_config.d/10-custom.conf
|
||||
ExecStart=/usr/bin/systemctl disable systemd-resolved
|
||||
ExecStart=/usr/bin/touch /var/lib/%N.stamp
|
||||
ExecStart=/usr/bin/systemctl --no-block reboot
|
||||
@ -80,9 +69,8 @@ systemd:
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/systemctl enable --now firewalld
|
||||
ExecStart=/usr/bin/firewall-cmd --lockdown-on
|
||||
ExecStart=/usr/bin/docker run --detach --privileged --name watchtower --restart unless-stopped --runtime=runc -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule "0 15 0 * * 0"
|
||||
ExecStart=/bin/touch /var/lib/%N.stamp
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -218,18 +206,43 @@ storage:
|
||||
enabled=0
|
||||
gpgcheck=1
|
||||
gpgkey=https://download.docker.com/linux/fedora/gpg
|
||||
- path: /etc/tuned/active_profile
|
||||
- path: /etc/chrony.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
||||
overwrite: true
|
||||
- path: /etc/modprobe.d/30_security-misc.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf
|
||||
- path: /etc/sysctl.d/990-security-misc.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf
|
||||
- path: /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf
|
||||
- path: /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
- path: /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
contents:
|
||||
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
- path: /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
contents:
|
||||
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
- path: /etc/systemd/system/sshd.service.d/local.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf
|
||||
- path: /etc/ssh/sshd_config/10-custom.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf
|
||||
- path: /etc/tuned/active_profile
|
||||
contents:
|
||||
inline: |
|
||||
virtual-guest
|
||||
- path: /etc/tuned/profile_mode
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
manual
|
||||
- path: /etc/systemd/zram-generator.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
[zram0]
|
||||
@ -237,12 +250,10 @@ storage:
|
||||
max-zram-size = 8192
|
||||
compression-algorithm = zstd
|
||||
- path: /etc/security/limits.d/30-disable-coredump.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
* hard core 0
|
||||
- path: /etc/ssh/ssh_config.d/10-custom.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
GSSAPIAuthentication no
|
||||
@ -254,7 +265,6 @@ storage:
|
||||
# Command-line options for chronyd
|
||||
OPTIONS="-F 1"
|
||||
- path: /etc/unbound/unbound.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
server:
|
||||
@ -377,7 +387,7 @@ storage:
|
||||
}
|
||||
links:
|
||||
- path: /etc/localtime
|
||||
target: ../usr/share/zoneinfo/America/New_York
|
||||
target: ../usr/share/zoneinfo/America/Phoenix
|
||||
- path: /etc/systemd/system/multi-user.target.wants/unbound.service
|
||||
target: /usr/lib/systemd/system/unbound.service
|
||||
- path: /etc/systemd/system/multi-user.target.wants/tuned.service
|
||||
@ -388,16 +398,14 @@ storage:
|
||||
target: /dev/null
|
||||
kernel_arguments:
|
||||
should_exist:
|
||||
- mitigations=auto,nosmt
|
||||
- spectre_v2=on
|
||||
- spec_store_bypass_disable=on
|
||||
- l1tf=full,force
|
||||
- mds=full,nosmt
|
||||
- tsx=off
|
||||
- tsx_async_abort=full,nosmt
|
||||
- kvm.nx_huge_pages=force
|
||||
- nosmt=force
|
||||
- l1d_flush=on
|
||||
- mmio_stale_data=full,nosmt
|
||||
- spec_rstack_overflow=safe-ret
|
||||
- random.trust_bootloader=off
|
||||
- random.trust_cpu=off
|
||||
- intel_iommu=on
|
||||
|
@ -1,3 +0,0 @@
|
||||
# Notes
|
||||
1. mailcow-updater can be used instead of auto-updater to take advantage of mailcow's update.sh script
|
||||
2. You will need to compile and install the my-pdatesh module for SELinux to avoid the 203/EXEC error.
|
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=Mailcow Automatic Updater
|
||||
After=docker.service
|
||||
Wants=network-online.target
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/mailcow-dockerized/
|
||||
ExecStart=/opt/mailcow-dockerized/update.sh --force
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,7 +0,0 @@
|
||||
module my-pdatesh 1.0;
|
||||
|
||||
require {
|
||||
type init_t;
|
||||
type var_t;
|
||||
class file { execute execute_no_trans open read };
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{
|
||||
"ignition": {
|
||||
"version": "3.4.0"
|
||||
},
|
||||
"passwd": {
|
||||
"users": [
|
||||
{
|
||||
"groups": [
|
||||
"wheel",
|
||||
"sudo"
|
||||
],
|
||||
"name": "tomster",
|
||||
"sshAuthorizedKeys": [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
# Copyright (C) 2023 Thien Tran
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
# use this file except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
|
||||
variant: fcos
|
||||
version: 1.5.0
|
||||
passwd:
|
||||
users:
|
||||
- name: tomster
|
||||
ssh_authorized_keys:
|
||||
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io
|
||||
groups:
|
||||
- wheel
|
||||
- sudo
|
@ -4,16 +4,14 @@
|
||||
},
|
||||
"kernelArguments": {
|
||||
"shouldExist": [
|
||||
"mitigations=auto,nosmt",
|
||||
"spectre_v2=on",
|
||||
"spec_store_bypass_disable=on",
|
||||
"l1tf=full,force",
|
||||
"mds=full,nosmt",
|
||||
"tsx=off",
|
||||
"tsx_async_abort=full,nosmt",
|
||||
"kvm.nx_huge_pages=force",
|
||||
"nosmt=force",
|
||||
"l1d_flush=on",
|
||||
"mmio_stale_data=full,nosmt",
|
||||
"spec_rstack_overflow=safe-ret",
|
||||
"random.trust_bootloader=off",
|
||||
"random.trust_cpu=off",
|
||||
"intel_iommu=on",
|
||||
@ -69,6 +67,60 @@
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/chrony.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/modprobe.d/30_security-misc.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/990-security-misc.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/30_silent-kernel-printk.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/sysctl.d/30_security-misc_kexec-disable.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/NetworkManager.service.d/99-brace.conf",
|
||||
"contents": {
|
||||
"source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/irqbalance.service.d/99-brace.conf",
|
||||
"contents": {
|
||||
"source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/sshd.service.d/local.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/ssh/sshd_config/10-custom.conf",
|
||||
"contents": {
|
||||
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "/etc/tuned/active_profile",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -76,7 +128,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/tuned/profile_mode",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -84,7 +135,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/systemd/zram-generator.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -92,7 +142,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/security/limits.d/30-disable-coredump.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -100,7 +149,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/ssh/ssh_config.d/10-custom.conf",
|
||||
"contents": {
|
||||
"compression": "",
|
||||
@ -116,7 +164,6 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"overwrite": true,
|
||||
"path": "/etc/unbound/unbound.conf",
|
||||
"contents": {
|
||||
"compression": "gzip",
|
||||
@ -134,7 +181,7 @@
|
||||
"links": [
|
||||
{
|
||||
"path": "/etc/localtime",
|
||||
"target": "../usr/share/zoneinfo/America/New_York"
|
||||
"target": "../usr/share/zoneinfo/America/Phoenix"
|
||||
},
|
||||
{
|
||||
"path": "/etc/systemd/system/multi-user.target.wants/unbound.service",
|
||||
@ -157,20 +204,15 @@
|
||||
"systemd": {
|
||||
"units": [
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nConditionPathExists=!/var/home/unpriv/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nUser=unpriv\nWorkingDirectory=/var/home/unpriv\nExecStart=/usr/bin/sleep 5\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /var/home/unpriv/NetworkManager-brace.conf\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /var/home/unpriv/irqbalance-brace.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf\nExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf\nExecStart=/usr/bin/touch /var/home/unpriv/%N.stamp\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl restart chronyd\nExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sed -i '$ a\\allow 10.0.2.2/32' /etc/chrony.conf\nExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst.service"
|
||||
"name": "postinst1.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 2\n# We run this after files have been downloaded\nAfter=postinst.service\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/home/unpriv/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/cp /var/home/unpriv/chrony.conf /etc/chrony.conf\nExecStart=/usr/bin/cp /var/home/unpriv/30_security-misc.conf /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/cp /var/home/unpriv/990-security-misc.conf /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/cp /var/home/unpriv/30_silent-kernel-printk.conf /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/cp /var/home/unpriv/30_security-misc_kexec-disable.conf /etc/sysctl.d/30_security-misc_kexec-disable.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/cp /var/home/unpriv/local.conf /etc/systemd/system/sshd.service.d/override.conf\nExecStart=/usr/bin/cp /var/home/unpriv/10-custom.conf /etc/ssh/sshd_config.d/10-custom.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/cp /var/home/unpriv/NetworkManager-brace.conf /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/cp /var/home/unpriv/irqbalance-brace.conf /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/systemctl restart chronyd\nExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sed -i '$ a\\allow 10.0.2.2/32' /etc/chrony.conf\nExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 3\n# We run this after the packages have been overlayed\nAfter=firewalld.service\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl enable --now firewalld\nExecStart=/usr/bin/firewall-cmd --lockdown-on\nExecStart=/usr/bin/firewall-cmd --permanent --add-service=ntp\nExecStart=/usr/bin/firewall-cmd --reload\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst2.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Unit]\nDescription=Initial System Setup Part 3\n# We run this after the packages have been overlayed\nAfter=firewalld.service\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst2.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl enable --now firewalld\nExecStart=/usr/bin/firewall-cmd --lockdown-on\nExecStart=/usr/bin/firewall-cmd --permanent --add-service=ntp\nExecStart=/usr/bin/firewall-cmd --reload\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
||||
"name": "postinst3.service"
|
||||
},
|
||||
{
|
||||
"contents": "[Service]\nType=oneshot\nExecStart=/usr/sbin/setsebool container_use_cephfs off\nExecStart=/usr/sbin/setsebool virt_use_nfs off\nExecStart=/usr/sbin/setsebool virt_use_samba off\nRemainAfterExit=yes\n[Install]\nWantedBy=multi-user.target\n",
|
||||
"enabled": true,
|
@ -25,7 +25,7 @@ passwd:
|
||||
- name: unpriv
|
||||
systemd:
|
||||
units:
|
||||
- name: postinst.service
|
||||
- name: postinst1.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
@ -36,54 +36,12 @@ systemd:
|
||||
After=network-online.target
|
||||
# We run before `zincati.service` to avoid conflicting rpm-ostree
|
||||
# transactions.
|
||||
ConditionPathExists=!/var/home/unpriv/%N.stamp
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
User=unpriv
|
||||
WorkingDirectory=/var/home/unpriv
|
||||
ExecStart=/usr/bin/sleep 5
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /var/home/unpriv/NetworkManager-brace.conf
|
||||
ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /var/home/unpriv/irqbalance-brace.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf
|
||||
ExecStart=/usr/bin/curl -O https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf
|
||||
ExecStart=/usr/bin/touch /var/home/unpriv/%N.stamp
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: postinst2.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
Description=Initial System Setup Part 2
|
||||
# We run this after files have been downloaded
|
||||
After=postinst.service
|
||||
Before=zincati.service
|
||||
ConditionPathExists=!/var/lib/%N.stamp
|
||||
ConditionPathExists=/var/home/unpriv/postinst.stamp
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/chrony.conf /etc/chrony.conf
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/30_security-misc.conf /etc/modprobe.d/30_security-misc.conf
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/990-security-misc.conf /etc/sysctl.d/990-security-misc.conf
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/30_silent-kernel-printk.conf /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/30_security-misc_kexec-disable.conf /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/local.conf /etc/systemd/system/sshd.service.d/override.conf
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/10-custom.conf /etc/ssh/sshd_config.d/10-custom.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/NetworkManager-brace.conf /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d
|
||||
ExecStart=/usr/bin/cp /var/home/unpriv/irqbalance-brace.conf /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
ExecStart=/usr/bin/systemctl restart chronyd
|
||||
ExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound
|
||||
ExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac
|
||||
ExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth
|
||||
@ -99,7 +57,7 @@ systemd:
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: postinst3.service
|
||||
- name: postinst2.service
|
||||
enabled: true
|
||||
contents: |
|
||||
[Unit]
|
||||
@ -107,7 +65,7 @@ systemd:
|
||||
# We run this after the packages have been overlayed
|
||||
After=firewalld.service
|
||||
ConditionPathExists=!/var/lib/%N.stamp
|
||||
ConditionPathExists=/var/lib/postinst2.stamp
|
||||
ConditionPathExists=/var/lib/postinst.stamp
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
@ -155,18 +113,43 @@ storage:
|
||||
inline: |
|
||||
[updates]
|
||||
strategy = "immediate"
|
||||
- path: /etc/tuned/active_profile
|
||||
- path: /etc/chrony.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
||||
overwrite: true
|
||||
- path: /etc/modprobe.d/30_security-misc.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf
|
||||
- path: /etc/sysctl.d/990-security-misc.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/990-security-misc.conf
|
||||
- path: /etc/sysctl.d/30_silent-kernel-printk.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_silent-kernel-printk.conf
|
||||
- path: /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/Kicksecure/security-misc/master/usr/lib/sysctl.d/30_security-misc_kexec-disable.conf
|
||||
- path: /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
contents:
|
||||
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf
|
||||
- path: /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
contents:
|
||||
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf
|
||||
- path: /etc/systemd/system/sshd.service.d/local.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf
|
||||
- path: /etc/ssh/sshd_config/10-custom.conf
|
||||
contents:
|
||||
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf
|
||||
- path: /etc/tuned/active_profile
|
||||
contents:
|
||||
inline: |
|
||||
virtual-guest
|
||||
- path: /etc/tuned/profile_mode
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
manual
|
||||
- path: /etc/systemd/zram-generator.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
[zram0]
|
||||
@ -174,12 +157,10 @@ storage:
|
||||
max-zram-size = 8192
|
||||
compression-algorithm = zstd
|
||||
- path: /etc/security/limits.d/30-disable-coredump.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
* hard core 0
|
||||
- path: /etc/ssh/ssh_config.d/10-custom.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
GSSAPIAuthentication no
|
||||
@ -191,7 +172,6 @@ storage:
|
||||
# Command-line options for chronyd
|
||||
OPTIONS="-F 1"
|
||||
- path: /etc/unbound/unbound.conf
|
||||
overwrite: true
|
||||
contents:
|
||||
inline: |
|
||||
server:
|
||||
@ -256,7 +236,7 @@ storage:
|
||||
LockPersonality=yes
|
||||
links:
|
||||
- path: /etc/localtime
|
||||
target: ../usr/share/zoneinfo/America/New_York
|
||||
target: ../usr/share/zoneinfo/America/Phoenix
|
||||
- path: /etc/systemd/system/multi-user.target.wants/unbound.service
|
||||
target: /usr/lib/systemd/system/unbound.service
|
||||
- path: /etc/systemd/system/multi-user.target.wants/tuned.service
|
||||
@ -267,16 +247,14 @@ storage:
|
||||
target: /dev/null
|
||||
kernel_arguments:
|
||||
should_exist:
|
||||
- mitigations=auto,nosmt
|
||||
- spectre_v2=on
|
||||
- spec_store_bypass_disable=on
|
||||
- l1tf=full,force
|
||||
- mds=full,nosmt
|
||||
- tsx=off
|
||||
- tsx_async_abort=full,nosmt
|
||||
- kvm.nx_huge_pages=force
|
||||
- nosmt=force
|
||||
- l1d_flush=on
|
||||
- mmio_stale_data=full,nosmt
|
||||
- spec_rstack_overflow=safe-ret
|
||||
- random.trust_bootloader=off
|
||||
- random.trust_cpu=off
|
||||
- intel_iommu=on
|
2
kargs
2
kargs
@ -12,4 +12,4 @@
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
|
||||
spectre_v2=on spec_store_bypass_disable=on l1tf=full,force mds=full,nosmt tsx=off tsx_async_abort=full,nosmt kvm.nx_huge_pages=force nosmt=force l1d_flush=on mmio_stale_data=full,nosmt random.trust_bootloader=off random.trust_cpu=off intel_iommu=on amd_iommu=force_isolation efi=disable_early_pci_dma iommu=force iommu.passthrough=0 iommu.strict=1 slab_nomerge init_on_alloc=1 init_on_free=1 pti=on vsyscall=none page_alloc.shuffle=1 randomize_kstack_offset=on extra_latent_entropy debugfs=off
|
||||
mitigations=auto,nosmt spectre_v2=on spec_store_bypass_disable=on tsx=off kvm.nx_huge_pages=force nosmt=force l1d_flush=on spec_rstack_overflow=safe-ret random.trust_bootloader=off random.trust_cpu=off intel_iommu=on amd_iommu=isolation_force efi=disable_early_pci_dma iommu=force iommu.passthrough=0 iommu.strict=1 slab_nomerge init_on_alloc=1 init_on_free=1 pti=on vsyscall=none ia32_emulation=0 page_alloc.shuffle=1 randomize_kstack_offset=on extra_latent_entropy debugfs=off
|
Loading…
Reference in New Issue
Block a user