mirror of
https://github.com/tommytran732/Fedora-CoreOS-Ignition
synced 2025-02-20 23:11:33 -05:00
Compare commits
No commits in common. "7278fd8753eca471407c44f06f0346514a2cba5b" and "b08e7b7aad27c4d6dfb122ece2d21d5bfd4b2261" have entirely different histories.
7278fd8753
...
b08e7b7aad
12
README.md
12
README.md
@ -6,18 +6,16 @@ Ignition configurations for Fedora CoreOS<br />
|
|||||||
2. Only ED25519 SSH keys are accepted with the SSHD hardening configuration. If you do not use ED25519 keys, you will need to adjust the `/etc/ssh/sshd_config.d/10-custom.conf` file accordingly.
|
2. Only ED25519 SSH keys are accepted with the SSHD hardening configuration. If you do not use ED25519 keys, you will need to adjust the `/etc/ssh/sshd_config.d/10-custom.conf` file accordingly.
|
||||||
3. If you create a passwordless user that requires administrative privileges, ensure that it is part of the `sudo` group (CoreOS allows this group to use sudo without a password) as the configs will disable empty password system authentication.
|
3. If you create a passwordless user that requires administrative privileges, ensure that it is part of the `sudo` group (CoreOS allows this group to use sudo without a password) as the configs will disable empty password system authentication.
|
||||||
4. These configurations are made with a VPS in mind. You should adapt it for a bare metal deployment if that is what you are using (adding additional kernel parameters, configuring drive encryption, configuring storage, etc). You should also change the tuned profile from `virtual-guest` appropriately.
|
4. These configurations are made with a VPS in mind. You should adapt it for a bare metal deployment if that is what you are using (adding additional kernel parameters, configuring drive encryption, configuring storage, etc). You should also change the tuned profile from `virtual-guest` appropriately.
|
||||||
5. The docker-compose-updater.service in `/etc/systemd/system` can be enabled to have automatic updates for your containers created by Docker Compose.
|
5. The docker-compose-updater.service in `/etc/systemd/system` can be enabled to have automatic updates for your containers created by Docker Compose. Please make sure that the `WorkingDirectory` is appropriate.
|
||||||
|
|
||||||
# Upgrading from Fedora CoreOS 40 to 41
|
# Upgrading from Fedora CoreOS 39 to 40
|
||||||
|
|
||||||
I am aware of a dependency issue which may cause the system to not automatically update itself to FCOS 41. To fix the problem, run:
|
I am aware of a dependency issue which may cause the system to not automatically update itself to FCOS 40. To fix the problem, run:
|
||||||
|
|
||||||
```
|
```
|
||||||
systemctl stop zincati
|
systemctl stop zincati
|
||||||
rpm-ostree remove docker-ce
|
rpm-ostree override reset clevis tpm2-tools tpm2-tss-fapi
|
||||||
rpm-ostree override reset --all
|
|
||||||
rpm-ostree upgrade
|
rpm-ostree upgrade
|
||||||
rpm-ostree override remove cifs-utils containerd docker-cli dnsmasq google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs moby-engine runc samba-client-libs samba-common libwbclient libsmbclient samba-common-libs sssd-client sssd-ldap sssd-common sssd-krb5-common sssd-nfs-idmap sssd-ad sssd-krb5 sssd-ipa sssd-common-pac systemd-resolved
|
rpm-ostree override remove clevis tpm2-tools tpm2-tss-fapi clevis-pin-tpm2
|
||||||
rpm-ostree install docker-ce
|
|
||||||
reboot
|
reboot
|
||||||
```
|
```
|
235
UTM-Chrony.ign
Normal file
235
UTM-Chrony.ign
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
{
|
||||||
|
"ignition": {
|
||||||
|
"version": "3.4.0"
|
||||||
|
},
|
||||||
|
"kernelArguments": {
|
||||||
|
"shouldExist": [
|
||||||
|
"mitigations=auto,nosmt",
|
||||||
|
"spectre_v2=on",
|
||||||
|
"spectre_bhi=on",
|
||||||
|
"spec_store_bypass_disable=on",
|
||||||
|
"tsx=off",
|
||||||
|
"kvm.nx_huge_pages=force",
|
||||||
|
"nosmt=force",
|
||||||
|
"l1d_flush=on",
|
||||||
|
"spec_rstack_overflow=safe-ret",
|
||||||
|
"gather_data_sampling=force",
|
||||||
|
"reg_file_data_sampling=on",
|
||||||
|
"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",
|
||||||
|
"debugfs=off",
|
||||||
|
"oops=panic",
|
||||||
|
"lockdown=confidentiality",
|
||||||
|
"module.sig_enforce=1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"passwd": {
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"groups": [
|
||||||
|
"wheel",
|
||||||
|
"sudo"
|
||||||
|
],
|
||||||
|
"name": "tomster",
|
||||||
|
"sshAuthorizedKeys": [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": {
|
||||||
|
"compression": "",
|
||||||
|
"source": "data:,%5Bupdates%5D%0Astrategy%20%3D%20%22immediate%22%0A"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"overwrite": true,
|
||||||
|
"path": "/etc/chrony.conf",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/modprobe.d/vps-blacklist.conf",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/sysctl.d/99-server.conf",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysctl.d/99-server.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/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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/systemd/system/sshd.service.d/override.conf",
|
||||||
|
"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": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/zram-generator.conf"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/security/limits.d/30-disable-coredump.conf",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/security/limits.d/30-disable-coredump.conf"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"overwrite": true,
|
||||||
|
"path": "/etc/sysconfig/chronyd",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"overwrite": true,
|
||||||
|
"path": "/etc/issue",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"overwrite": true,
|
||||||
|
"path": "/etc/issue.net",
|
||||||
|
"contents": {
|
||||||
|
"source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"path": "/etc/localtime",
|
||||||
|
"target": "../usr/share/zoneinfo/Etc/UTC"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/etc/systemd/system/multi-user.target.wants/tuned.service",
|
||||||
|
"target": "/usr/lib/systemd/system/tuned.service"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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/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 install firewalld qemu-guest-agent tuned\nExecStart=/usr/bin/rpm-ostree override intel-gpu-firmware amd-ucode-firmware linux-firmware linux-firmware-whence amd-gpu-firmware nvidia-gpu-firmware qed-firmware bootc btrfs-progs cifs-utils clevis clevis-dracut clevis-luks clevis-pin-tpm2 clevis-systemd containerd containers-common-extra crun crun-wasm cryptsetup dnsmasq e2fsprogs-libs e2fsprogs flatpak-session-helper fuse-overlayfs fuse-sshfs fwupd google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs 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 toolbox tpm2-tools tpm2-tss-fapi vim-data vim-minimal wireguard-tools\nExecStart=/usr/bin/sed -i 's/\\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/echo 'EDITOR=nano' \u003e\u003e /etc/bashrc\nExecStart=/usr/bin/echo 'VISUAL=nano' \u003e\u003e /etc/bashrc\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 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/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 --add-service=ntp\nExecStart=/usr/bin/firewall-cmd --reload\n\n[Install]\nWantedBy=multi-user.target\n",
|
||||||
|
"enabled": true,
|
||||||
|
"name": "postinst2.service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": false,
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": false,
|
||||||
|
"mask": true,
|
||||||
|
"name": "kdump.service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": false,
|
||||||
|
"mask": true,
|
||||||
|
"name": "debug-shell.service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": false,
|
||||||
|
"mask": true,
|
||||||
|
"name": "coreos-cni-networking-check.service"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
201
UTM-Chrony.yml
Normal file
201
UTM-Chrony.yml
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
# Copyright (C) 2021-2024 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
|
||||||
|
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/sbin/restorecon -R /var
|
||||||
|
ExecStart=/usr/sbin/setsebool -P container_use_cephfs off
|
||||||
|
ExecStart=/usr/sbin/setsebool -P virt_use_nfs off
|
||||||
|
ExecStart=/usr/sbin/setsebool -P virt_use_samba off
|
||||||
|
ExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned
|
||||||
|
ExecStart=/usr/bin/rpm-ostree override intel-gpu-firmware amd-ucode-firmware linux-firmware linux-firmware-whence amd-gpu-firmware nvidia-gpu-firmware qed-firmware bootc btrfs-progs cifs-utils clevis clevis-dracut clevis-luks clevis-pin-tpm2 clevis-systemd containerd containers-common-extra crun crun-wasm cryptsetup dnsmasq e2fsprogs-libs e2fsprogs flatpak-session-helper fuse-overlayfs fuse-sshfs fwupd google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs 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 toolbox tpm2-tools tpm2-tss-fapi vim-data vim-minimal wireguard-tools
|
||||||
|
ExecStart=/usr/bin/sed -i 's/\s+nullok//g' /etc/pam.d/system-auth
|
||||||
|
ExecStart=/usr/bin/sed -i '$ a\allow 10.0.2.2/32' /etc/chrony.conf
|
||||||
|
ExecStart=/usr/bin/echo 'EDITOR=nano' >> /etc/bashrc
|
||||||
|
ExecStart=/usr/bin/echo 'VISUAL=nano' >> /etc/bashrc
|
||||||
|
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 3
|
||||||
|
# We run this after the packages have been overlayed
|
||||||
|
After=firewalld.service
|
||||||
|
ConditionPathExists=!/var/lib/%N.stamp
|
||||||
|
ConditionPathExists=/var/lib/postinst.stamp
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/bin/echo 'libhardened_malloc.so' > /etc/ld.so.preload
|
||||||
|
ExecStart=/usr/bin/systemctl enable --now firewalld
|
||||||
|
ExecStart=/usr/bin/firewall-cmd --lockdown-on
|
||||||
|
ExecStart=/usr/bin/firewall-cmd --permanent --add-service=ntp
|
||||||
|
ExecStart=/usr/bin/firewall-cmd --reload
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
- name: docker.service
|
||||||
|
enabled: false
|
||||||
|
- 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
|
||||||
|
- name: kdump.service
|
||||||
|
enabled: false
|
||||||
|
mask: true
|
||||||
|
- name: debug-shell.service
|
||||||
|
enabled: false
|
||||||
|
mask: true
|
||||||
|
- name: coreos-cni-networking-check.service
|
||||||
|
enabled: false
|
||||||
|
mask: true
|
||||||
|
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:
|
||||||
|
inline: |
|
||||||
|
[updates]
|
||||||
|
strategy = "immediate"
|
||||||
|
- path: /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo
|
||||||
|
- path: /etc/chrony.conf
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
||||||
|
overwrite: true
|
||||||
|
- path: /etc/modprobe.d/vps-blacklist.conf
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf
|
||||||
|
- path: /etc/sysctl.d/99-server.conf
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysctl.d/99-server.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/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
|
||||||
|
- path: /etc/systemd/system/sshd.service.d/override.conf
|
||||||
|
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:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/zram-generator.conf
|
||||||
|
- path: /etc/security/limits.d/30-disable-coredump.conf
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/security/limits.d/30-disable-coredump.conf
|
||||||
|
- path: /etc/sysconfig/chronyd
|
||||||
|
overwrite: true
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd
|
||||||
|
- path: /etc/issue
|
||||||
|
overwrite: true
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue
|
||||||
|
- path: /etc/issue.net
|
||||||
|
overwrite: true
|
||||||
|
contents:
|
||||||
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue
|
||||||
|
links:
|
||||||
|
- path: /etc/localtime
|
||||||
|
target: ../usr/share/zoneinfo/Etc/UTC
|
||||||
|
- path: /etc/systemd/system/multi-user.target.wants/tuned.service
|
||||||
|
target: /usr/lib/systemd/system/tuned.service
|
||||||
|
kernel_arguments:
|
||||||
|
should_exist:
|
||||||
|
- mitigations=auto,nosmt
|
||||||
|
- spectre_v2=on
|
||||||
|
- spectre_bhi=on
|
||||||
|
- spec_store_bypass_disable=on
|
||||||
|
- tsx=off
|
||||||
|
- kvm.nx_huge_pages=force
|
||||||
|
- nosmt=force
|
||||||
|
- l1d_flush=on
|
||||||
|
- spec_rstack_overflow=safe-ret
|
||||||
|
- gather_data_sampling=force
|
||||||
|
- reg_file_data_sampling=on
|
||||||
|
- 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
|
||||||
|
- debugfs=off
|
||||||
|
- oops=panic
|
||||||
|
- lockdown=confidentiality
|
||||||
|
- module.sig_enforce=1
|
@ -96,7 +96,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "/etc/modprobe.d/server-blacklist.conf",
|
"path": "/etc/modprobe.d/vps-blacklist.conf",
|
||||||
"contents": {
|
"contents": {
|
||||||
"source": "https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf"
|
"source": "https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf"
|
||||||
}
|
}
|
||||||
@ -219,7 +219,7 @@
|
|||||||
"systemd": {
|
"systemd": {
|
||||||
"units": [
|
"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/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 cifs-utils containerd docker-cli dnsmasq google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs moby-engine runc samba-client-libs samba-common libwbclient libsmbclient samba-common-libs sssd-client sssd-ldap sssd-common sssd-krb5-common sssd-nfs-idmap sssd-ad sssd-krb5 sssd-ipa sssd-common-pac systemd-resolved\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",
|
"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 linux-firmware-whence amd-gpu-firmware nvidia-gpu-firmware qed-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",
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"name": "postinst.service"
|
"name": "postinst.service"
|
||||||
},
|
},
|
@ -46,7 +46,7 @@ systemd:
|
|||||||
ExecStart=/usr/sbin/setsebool -P container_use_cephfs off
|
ExecStart=/usr/sbin/setsebool -P container_use_cephfs off
|
||||||
ExecStart=/usr/sbin/setsebool -P virt_use_nfs off
|
ExecStart=/usr/sbin/setsebool -P virt_use_nfs off
|
||||||
ExecStart=/usr/sbin/setsebool -P virt_use_samba off
|
ExecStart=/usr/sbin/setsebool -P virt_use_samba off
|
||||||
ExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd docker-cli dnsmasq google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs moby-engine runc samba-client-libs samba-common libwbclient libsmbclient samba-common-libs sssd-client sssd-ldap sssd-common sssd-krb5-common sssd-nfs-idmap sssd-ad sssd-krb5 sssd-ipa sssd-common-pac systemd-resolved
|
ExecStart=/usr/bin/rpm-ostree override remove intel-gpu-firmware amd-ucode-firmware linux-firmware linux-firmware-whence amd-gpu-firmware nvidia-gpu-firmware qed-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
|
||||||
ExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld hardened_malloc qemu-guest-agent tuned unbound
|
ExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld hardened_malloc qemu-guest-agent tuned unbound
|
||||||
ExecStart=/usr/bin/sed -i 's/\s+nullok//g' /etc/pam.d/system-auth
|
ExecStart=/usr/bin/sed -i 's/\s+nullok//g' /etc/pam.d/system-auth
|
||||||
ExecStart=/usr/bin/echo 'EDITOR=nano' >> /etc/bashrc
|
ExecStart=/usr/bin/echo 'EDITOR=nano' >> /etc/bashrc
|
||||||
@ -205,7 +205,7 @@ storage:
|
|||||||
contents:
|
contents:
|
||||||
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
||||||
overwrite: true
|
overwrite: true
|
||||||
- path: /etc/modprobe.d/server-blacklist.conf
|
- path: /etc/modprobe.d/vps-blacklist.conf
|
||||||
contents:
|
contents:
|
||||||
source: https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf
|
source: https://raw.githubusercontent.com/secureblue/secureblue/live/files/system/usr/etc/modprobe.d/blacklist.conf
|
||||||
- path: /etc/sysctl.d/99-server.conf
|
- path: /etc/sysctl.d/99-server.conf
|
Loading…
Reference in New Issue
Block a user