2023-06-26 07:50:15 -04:00
|
|
|
variant: fcos
|
2023-12-06 16:11:25 -05:00
|
|
|
version: 1.5.0
|
2023-06-26 07:50:15 -04:00
|
|
|
passwd:
|
|
|
|
users:
|
|
|
|
- name: tomster
|
|
|
|
ssh_authorized_keys:
|
2023-11-04 16:54:13 -04:00
|
|
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io
|
2023-06-26 07:50:15 -04:00
|
|
|
groups:
|
|
|
|
- wheel
|
|
|
|
- sudo
|
2023-12-02 10:15:27 -05:00
|
|
|
- name: unpriv
|
2023-06-26 07:50:15 -04:00
|
|
|
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
|
2023-12-02 10:15:27 -05:00
|
|
|
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf | /usr/bin/tee /etc/chrony.conf
|
2023-10-21 21:11:27 -04:00
|
|
|
ExecStart=/usr/bin/echo "allow 10.0.2.2/32" >> /etc/chrony.conf
|
|
|
|
ExecStart=/usr/bin/systemctl restart chronyd
|
2023-11-01 19:09:46 -04:00
|
|
|
ExecStart=/usr/bin/rpm-ostree install auditd firewalld qemu-guest-agent tuned unbound
|
2023-10-21 21:11:27 -04:00
|
|
|
ExecStart=/usr/bin/rpm-ostree override remove cifs-utils 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
|
2023-06-26 07:50:15 -04:00
|
|
|
ExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth
|
2023-12-02 10:15:27 -05:00
|
|
|
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
|
2023-11-15 16:18:29 -05:00
|
|
|
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/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
|
2023-12-02 10:15:27 -05:00
|
|
|
ExecStart=/usr/bin/sudo -u unpriv /usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/lib/sysctl.d/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/lib/sysctl.d/sysctl.d/30_security-misc_kexec-disable.conf | /usr/bin/tee /etc/sysctl.d/30_security-misc_kexec-disable.conf
|
2023-06-26 07:50:15 -04:00
|
|
|
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d
|
2023-12-02 10:15:27 -05:00
|
|
|
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
|
2023-06-26 07:50:15 -04:00
|
|
|
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d
|
2023-12-02 10:15:27 -05:00
|
|
|
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
|
2023-06-26 07:50:15 -04:00
|
|
|
ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d
|
2023-12-02 10:15:27 -05:00
|
|
|
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 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
|
2023-12-06 16:10:56 -05:00
|
|
|
ExecStart=/usr/bin/echo 'CtrlAltDelBurstAction=none' >> /etc/systemd/system.conf
|
2023-10-21 21:11:27 -04:00
|
|
|
ExecStart=/usr/bin/systemctl disable systemd-resolved
|
|
|
|
ExecStart=/usr/bin/touch /var/lib/%N.stamp
|
|
|
|
ExecStart=/usr/bin/systemctl --no-block reboot
|
2023-06-26 07:50:15 -04:00
|
|
|
|
|
|
|
[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
|
2023-10-21 21:11:27 -04:00
|
|
|
- name: docker.service
|
|
|
|
enabled: false
|
2023-06-26 07:50:15 -04:00
|
|
|
- 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]
|
2023-06-26 09:29:56 -04:00
|
|
|
strategy = "immediate"
|
2023-10-25 18:18:07 -04:00
|
|
|
- path: /etc/issue
|
|
|
|
overwrite: true
|
2023-10-25 18:43:51 -04:00
|
|
|
contents:
|
|
|
|
inline: |
|
|
|
|
Authorized uses only. All activity may be monitored and reported.
|
2023-10-25 18:18:07 -04:00
|
|
|
- path: /etc/issue.net
|
|
|
|
overwrite: true
|
2023-10-25 18:43:51 -04:00
|
|
|
contents:
|
|
|
|
inline: |
|
|
|
|
Authorized uses only. All activity may be monitored and reported.
|
2023-10-21 21:11:27 -04:00
|
|
|
- path: /etc/tuned/active_profile
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
|
|
|
inline: |
|
|
|
|
virtual-guest
|
|
|
|
- path: /etc/tuned/profile_mode
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
|
|
|
inline: |
|
|
|
|
manual
|
2023-06-26 07:50:15 -04:00
|
|
|
- path: /etc/systemd/zram-generator.conf
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
|
|
|
inline: |
|
|
|
|
[zram0]
|
|
|
|
zram-fraction = 1
|
|
|
|
max-zram-size = 8192
|
2023-10-21 21:11:27 -04:00
|
|
|
compression-algorithm = zstd
|
2023-06-26 07:50:15 -04:00
|
|
|
- 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
|
2023-10-21 21:11:27 -04:00
|
|
|
- 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.comff
|
|
|
|
- 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
|
2023-06-26 07:50:15 -04:00
|
|
|
links:
|
2023-10-21 21:11:27 -04:00
|
|
|
- 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
|
2023-06-26 07:50:15 -04:00
|
|
|
- path: /etc/systemd/system/kdump.service.target
|
|
|
|
target: /dev/null
|
2023-10-25 19:07:17 -04:00
|
|
|
- path: /etc/systemd/system/debug-shell.service
|
|
|
|
target: /dev/null
|
2023-10-25 19:41:48 -04:00
|
|
|
- path: /etc/systemd/system/ctrl-alt-del.target
|
|
|
|
target: /dev/null
|
2023-06-26 07:50:15 -04:00
|
|
|
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
|
2023-12-06 15:56:57 -05:00
|
|
|
- amd_iommu=force_isolation
|
|
|
|
- iommu=force
|
|
|
|
- iommu.passthrough=0
|
|
|
|
- iommu.strict=1
|
2023-06-26 07:50:15 -04:00
|
|
|
- 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
|
2023-10-21 21:11:27 -04:00
|
|
|
- debugfs=off
|