2024-02-07 14:38:17 -05:00
{
"ignition": {
"version": "3.4.0"
},
"kernelArguments": {
"shouldExist": [
"mitigations=auto,nosmt",
"spectre_v2=on",
2024-05-27 16:23:30 -04:00
"spectre_bhi=on",
2024-02-07 14:38:17 -05:00
"spec_store_bypass_disable=on",
"tsx=off",
"kvm.nx_huge_pages=force",
"nosmt=force",
"l1d_flush=on",
"spec_rstack_overflow=safe-ret",
2024-05-27 16:23:30 -04:00
"gather_data_sampling=force",
"reg_file_data_sampling=on",
2024-02-07 14:38:17 -05:00
"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",
2024-02-28 11:40:01 -05:00
"debugfs=off",
2024-04-19 17:50:41 -04:00
"lockdown=confidentiality",
"module.sig_enforce=1",
2024-06-17 04:19:59 -04:00
"oops=panic",
2024-02-28 11:40:01 -05:00
"console=tty0",
"console=ttyS0,115200"
2024-02-07 14:38:17 -05:00
]
},
"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": {
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/51-rollout-wariness.toml"
}
},
{
"path": "/etc/zincati/config.d/55-updates-strategy.toml",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/55-updates-strategy.toml"
}
},
{
2024-06-07 01:54:40 -04:00
"path": "/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo",
2024-02-07 14:38:17 -05:00
"contents": {
2024-06-07 01:54:40 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo"
2024-02-07 14:38:17 -05:00
}
},
2024-02-27 01:36:13 -05:00
{
2024-06-07 01:54:40 -04:00
"path": "/etc/yum.repos.d/docker-ce.repo",
2024-02-27 01:36:13 -05:00
"contents": {
2024-06-07 01:54:40 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/docker-ce.repo"
2024-02-27 01:36:13 -05:00
}
},
{
2024-06-07 01:54:40 -04:00
"path": "/etc/docker/daemon.json",
2024-02-27 01:36:13 -05:00
"contents": {
2024-06-07 01:54:40 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/docker/daemon.json"
2024-02-27 01:36:13 -05:00
}
},
2024-02-07 14:38:17 -05:00
{
"overwrite": true,
"path": "/etc/chrony.conf",
"contents": {
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf"
}
},
{
2024-06-07 07:51:45 -04:00
"path": "/etc/modprobe.d/vps-blacklist.conf",
2024-02-07 14:38:17 -05:00
"contents": {
2024-07-26 08:10:01 -04:00
"source": "https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf"
2024-02-07 14:38:17 -05:00
}
},
{
2024-06-04 16:58:01 -04:00
"path": "/etc/sysctl.d/99-server.conf",
2024-02-07 14:38:17 -05:00
"contents": {
2024-06-04 16:58:01 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysctl.d/99-server.conf"
2024-02-07 14:38:17 -05:00
}
},
{
"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/ssh/sshd_config.d/10-custom.conf",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config.d/10-custom.conf"
}
},
{
"path": "/etc/ssh/ssh_config.d/10-custom.conf",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf"
}
},
{
2024-10-15 17:39:46 -04:00
"path": "/etc/systemd/system/sshd.service.d/override.conf",
2024-02-07 14:38:17 -05:00
"contents": {
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf"
}
},
{
"path": "/etc/tuned/active_profile",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/tuned/active_profile"
}
},
{
"path": "/etc/tuned/profile_mode",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/tuned/profile_mode"
}
},
{
"path": "/etc/systemd/zram-generator.conf",
"contents": {
2024-05-17 02:18:07 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/zram-generator.conf"
2024-02-07 14:38:17 -05:00
}
},
{
"path": "/etc/security/limits.d/30-disable-coredump.conf",
"contents": {
2024-02-13 19:02:21 -05:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/security/limits.d/30-disable-coredump.conf"
2024-02-07 14:38:17 -05:00
}
},
2024-06-04 17:09:50 -04:00
{
"path": "/etc/systemd/coredump.conf.d",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/coredump.conf.d/disable.conf"
}
},
2024-02-07 14:38:17 -05:00
{
"overwrite": true,
"path": "/etc/sysconfig/chronyd",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd"
}
},
{
"path": "/etc/unbound/unbound.conf",
"contents": {
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf"
}
},
{
"path": "/etc/systemd/system/unbound.service.d/override.conf",
"contents": {
2024-06-26 01:32:16 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/system/unbound.service.d/override.conf"
2024-02-07 14:38:17 -05:00
}
2024-02-13 18:01:42 -05:00
},
{
"overwrite": true,
"path": "/etc/issue",
"contents": {
2024-05-17 02:18:07 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue"
2024-02-13 18:01:42 -05:00
}
},
{
"overwrite": true,
"path": "/etc/issue.net",
"contents": {
2024-05-17 02:18:07 -04:00
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue"
2024-02-13 18:01:42 -05:00
}
2024-02-07 14:38:17 -05:00
}
],
"links": [
{
"path": "/etc/localtime",
2024-06-20 08:21:05 -04:00
"target": "../usr/share/zoneinfo/Etc/UTC"
2024-02-07 14:38:17 -05:00
},
{
"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"
}
]
},
"systemd": {
"units": [
{
2024-12-19 22:20:40 -05:00
"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/sbin/restorecon -R /var\nExecStart=/usr/sbin/setsebool -P container_use_cephfs off\nExecStart=/usr/sbin/setsebool -P virt_use_nfs off\nExecStart=/usr/sbin/setsebool -P virt_use_samba off\nExecStart=/usr/bin/rpm-ostree override remove intel-gpu-firmware amd-ucode-firmware linux-firmware amd-gpu-firmware bootc btrfs-progs cifs-utils clevis clevis-dracut clevis-luks clevis-pin-tpm2 clevis-systemd containerd containers-common-extra crun crun-wasm cryptsetup docker-cli dnsmasq e2fsprogs-libs e2fsprogs flatpak-session-helper fuse-overlayfs fuse-sshfs fwupd google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs kdump-utils kexec-tools libnvme lvm2 lvm2-libs mdadm moby-engine nvme-cli podman rsync runc samba-client-libs samba-common libwbclient libsmbclient samba-common-libs socat sssd-client sssd-ldap sssd-common sssd-krb5-common sssd-nfs-idmap sssd-ad sssd-krb5 sssd-ipa sssd-common-pac systemd-resolved toolbox tpm2-tools tpm2-tss-fapi vim-data vim-minimal wireguard-tools\nExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld hardened_malloc qemu-guest-agent tuned unbound\nExecStart=/usr/bin/sed -i 's/\\s+nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/echo 'EDITOR=nano' \u003e\u003e /etc/bashrc\nExecStart=/usr/bin/echo 'VISUAL=nano' \u003e\u003e /etc/bashrc\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",
2024-02-07 14:38:17 -05:00
"enabled": true,
"name": "postinst.service"
},
{
2024-05-07 02:47:45 -04:00
"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/echo 'libhardened_malloc.so' \u003e /etc/ld.so.preload\nExecStart=/usr/bin/systemctl enable --now firewalld\nExecStart=/usr/bin/firewall-cmd --lockdown-on\nExecStart=/usr/bin/firewall-cmd --permanent --remove-service=mds\nExecStart=/usr/bin/firewall-cmd --permanent --remove-service=dhcpv6-client\nExecStart=/usr/bin/rm /etc/unbound/unbound_control.key\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n",
2024-02-07 14:38:17 -05:00
"enabled": true,
"name": "postinst2.service"
},
{
2024-10-08 17:33:04 -04:00
"contents": "[Unit]\nDescription=Update gVisor\nRequires=network-online.target\nAfter=network-online.target\nBefore=docker.service\n\n[Service]\nType=oneshot\nRuntimeDirectory=gvisor-updater\nWorkingDirectory=/run/gvisor-updater\n\nExecStart=/usr/bin/sleep 5\nExecStart=curl -sS --remote-name-all 'https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc' 'https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc.sha512' 'https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1' 'https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1.sha512'\nExecStart=sha512sum -c runsc.sha512 -c containerd-shim-runsc-v1.sha512\nExecStart=+chown root:root runsc containerd-shim-runsc-v1\nExecStart=+chmod a+rx runsc containerd-shim-runsc-v1\nExecStart=+mv -Z runsc containerd-shim-runsc-v1 /usr/local/bin/\n\nDynamicUser=true\nCapabilityBoundingSet=\nLockPersonality=true\nMemoryDenyWriteExecute=true\nNoNewPrivileges=true\nPrivateDevices=true\nPrivateIPC=true\nPrivateTmp=true\nProcSubset=pid\nProtectClock=true\nProtectControlGroups=true\nProtectHome=true\nProtectHostname=true\nProtectKernelLogs=true\nProtectKernelModules=true\nProtectKernelTunables=true\nProtectProc=invisible\nProtectSystem=strict\nRestrictAddressFamilies=\nRestrictNamespaces=true\nRestrictRealtime=true\nRestrictSUIDSGID=true\nRuntimeDirectoryMode=700\nSystemCallArchitectures=native\nSystemCallFilter=@system-service\nSystemCallFilter=~@obsolete\n\n[Install]\nWantedBy=multi-user.target\n",
2024-02-07 14:38:17 -05:00
"enabled": true,
"name": "gvisor-updater.service"
},
{
2024-09-27 19:31:58 -04:00
"contents": "[Unit]\nDescription=Docker Compose Updater for /srv/%I\nRequires=network-online.target\nRequisite=docker.service\nAfter=network-online.target\nAfter=docker.service\n\n[Service]\nType=oneshot\nUser=root\nGroup=root\nWorkingDirectory=/srv/%i\nExecStart=/usr/bin/docker image prune -f -a --filter 'until=240h'\n#ExecStart=/usr/bin/git pull\nExecStart=/usr/bin/docker compose pull\nExecStart=/usr/bin/docker compose up -d\n",
2024-02-07 14:38:17 -05:00
"enabled": false,
2024-05-03 17:55:36 -04:00
"name": "docker-compose-updater@.service"
2024-02-07 14:38:17 -05:00
},
2024-04-05 17:21:39 -04:00
{
2024-07-21 23:03:39 -04:00
"contents": "[Unit]\nDescription=Run docker-compose-updater for /srv/%I once a week, 15 mintues after OS updates\n\n[Timer]\nOnCalendar=Fri 2:15\nPersistent=true\n\n[Install]\nWantedBy=timers.target\n",
2024-04-05 17:21:39 -04:00
"enabled": false,
2024-05-03 17:55:36 -04:00
"name": "docker-compose-updater@.timer"
2024-04-05 17:21:39 -04:00
},
2024-02-07 14:38:17 -05:00
{
"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"
2024-02-27 23:56:58 -05:00
},
{
"enabled": false,
"mask": true,
"name": "kdump.service"
},
{
"enabled": false,
"mask": true,
"name": "debug-shell.service"
2024-03-24 17:00:46 -04:00
},
{
"enabled": false,
"mask": true,
"name": "coreos-cni-networking-check.service"
2024-02-07 14:38:17 -05:00
}
]
}
}