diff --git a/Docker-Compose.ign b/Docker-Compose.ign index ced9a15..9e1fcfc 100644 --- a/Docker-Compose.ign +++ b/Docker-Compose.ign @@ -1 +1 @@ -{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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/fail2ban/jail.local","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/xzMsUrEQBCH8X6f4g+p7xI8sDhIoaiVYqPVccUkOyEju7PH7KzGt5dYfx+/y9Pzy8Pn68c1dHijTXLLOGEhSc24nkOmjdXtFyNOocMjKdZSvWIphqKMtTQ7h4nUJfN+3Q9D6PD+zWYSGT373O/e3UTaf5GkY+yH4bCI8Q+lFI9z0eVfoNmlKEbIzWlKXA+5JZdbMQ+XWtd4Dax7iBjh1jj8BQAA//9uXLSpvgAAAA=="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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+vYM1QmBGNh+0vf5GzwOTDbBCWtUKkbC/thM1mAUu6GkYKhwfDFUnyQuqIeK+kYR4RFfGylWz2jvoksvnInxYEFntC/84wzG874mGCqqVxGDe5VW9nkRXYjnEylGE928K8GuzsTtoT7KWqSiSzcD/t19YDxbUPOuVXXPxG4m60rLGX5h30N/1Vrp+gRPW0EvjPUqBjA+cLWQ8wSXwIbp/+bXlo36VlFvn/gMAAD//9CerLZjAQAA"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/multi-user.target.wants/fail2ban.service","target":"/usr/lib/systemd/system/fail2ban.service"},{"path":"/etc/systemd/system/kdump.service.target","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/rpm-ostree install docker-compose fail2ban firewalld tuned qemu-guest-agent\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"postinst.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"},{"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"}]}} +{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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+vYM1QmBGNh+0vf5GzwOTDbBCWtUKkbC/thM1mAUu6GkYKhwfDFUnyQuqIeK+kYR4RFfGylWz2jvoksvnInxYEFntC/84wzG874mGCqqVxGDe5VW9nkRXYjnEylGE928K8GuzsTtoT7KWqSiSzcD/t19YDxbUPOuVXXPxG4m60rLGX5h30N/1Vrp+gRPW0EvjPUqBjA+cLWQ8wSXwIbp/+bXlo36VlFvn/gMAAD//9CerLZjAQAA"}},{"path":"/etc/unbound/unbound.conf","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/5SS0W6kPAyF73mKqP+1mWn/aYV4GzcxIWqwqR1mdvr0q9BhukW7Ky1ISPg7HOwTG+mZtG+cK7pYAWQ/isKQMvUusBl5UJHSvtG1irKBJy3wunCokgMVfzDLh1q1g8cVpyF5LGSt19I0zmGMSmbpTMBGvndXssa5ETUQA+YoEOTCUTHQDr5SlgvwjyATJt7BW4NWNM0zhR2Nedm7ZdRI8L6QJrIdUxpIFTPMWMYds1HWoQdLH3fPd8aJYEqcpmRYkvCfydqjL3fbFAhSIC6pXL8Vz6T2i9PCF+RCAZTmfIUyKtkoOfTu8fh5VZEReJwNBlFI9xjW/2MGJZuF7WvgM2bwmZABQ0i1PcwbUzUqoLJwUHn9SjxFFiXwAYaMcasGAZayBnqFLB7zKHabsnFOlhIlcYS5xjeTTqnUzp9O8PL8/P9z1ZiA0mJUJfcP53oYxd+PYXuHN7rF1QyiF9QAH8JU97dG3ruH9qFxbmN1XZfZihJOm9XGMATtXdeu93+BrY0iMdNvJaf29DfJ0/H42J+6l+Pno++6rvs3/emb/88AAAD//79tu1mWAwAA"}},{"path":"/etc/systemd/system/unbound.service.d/override.conf","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/2ySQW/bPAyG7/kVAr5DT+3xuxlwmjid0dQLbGfdMAyBLDMpYVk0RMqrL/vtg5I6WIad/OoRaRIP9H3vUH4sVnrQDVqU6ZGCa9GdKpBktdwdiqw+PObF+lBl5Zd8lakIq6x+ytdz3M/xW3Uos+rzvvwoi73l8nXxAj35aQ1uevUokL2DCQKJ+ACLggr4ufM4ooUT8AXGsxZYw4jmL1b3w3wmASOfqIcbsLJkultCTjzZJ09h4JubZ/AO7JZO/8Iv1AY7T/9P1W/IqvGgO1aB0Z0Uk+lAFA2C5FhZ7EDdMd17MzbhePegsvfBokGxk2qRdWNBHcmrERkvsh9uJ9bBxSJOjtrydZudJ5OgO3fZK60mFugTFo9GFiVcwrJtPTBvdI8WgZPl5pAXWa0+vv/HUGT1Ni+eY9wX+ddrbwnaCs42L/9faWuX3rxhHBk8cOK04Pjn9QatgE9+pSaKV6kZwj30wepoRaUtNOGk0g4mH52l/dmq6ik4USk1TBYEVOqBKXgDfN2n0D3woOMDmIAXWzLdDjyT01Hdmf0OAAD//5owRqa+AgAA"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/multi-user.target.wants/fail2ban.service","target":"/usr/lib/systemd/system/fail2ban.service"},{"path":"/etc/systemd/system/kdump.service.target","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/sed -i 's/#DNSSEC=no/DNSSEC=yes/g' /etc/systemd/resolved.conf\nExecStart=/usr/bin/systemctl restart systemd-resolved\nExecStart=/usr/bin/rpm-ostree install docker-compose firewalld qemu-guest-agent tuned unbound\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/bin/systemctl disable systemd-resolved\nExecStart=/bin/systemctl enable unbound\nExecStart=/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"postinst.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"},{"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"}]}} diff --git a/Docker-Compose.yml b/Docker-Compose.yml index 50f111b..5563a00 100644 --- a/Docker-Compose.yml +++ b/Docker-Compose.yml @@ -28,7 +28,9 @@ systemd: [Service] Type=oneshot RemainAfterExit=yes - ExecStart=/usr/bin/rpm-ostree install docker-compose fail2ban firewalld tuned qemu-guest-agent + ExecStart=/usr/bin/sed -i 's/#DNSSEC=no/DNSSEC=yes/g' /etc/systemd/resolved.conf + ExecStart=/usr/bin/systemctl restart systemd-resolved + ExecStart=/usr/bin/rpm-ostree install docker-compose firewalld qemu-guest-agent tuned unbound ExecStart=/bin/touch /var/lib/%N.stamp ExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf @@ -42,8 +44,27 @@ systemd: ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf + ExecStart=/bin/systemctl disable systemd-resolved ExecStart=/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=/bin/systemctl enable --now unbound + ExecStart=/bin/touch /var/lib/%N.stamp + [Install] WantedBy=multi-user.target - name: setsebool.service @@ -93,18 +114,6 @@ storage: days = [ "Sun" ] start_time = "0:00" length_minutes = 60 - - path: /etc/fail2ban/jail.local - contents: - inline: | - [DEFAULT] - # Maximum 3 failures: - maxentry = 3 - # Ban hosts for one hour: - bantime = 3600 - # Override /etc/fail2ban/jail.d/00-firewalld.conf: - banaction = iptables-multiport - [sshd] - enabled = true - path: /etc/tuned/active_profile overwrite: true contents: @@ -154,6 +163,70 @@ storage: [Install] WantedBy=multi-user.target + - path: /etc/unbound/unbound.conf + contents: + inline: | + server: + trust-anchor-file: dnssec-root.key + tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt + + aggressive-nsec: yes + harden-algo-downgrade: yes + harden-below-nxdomain: yes + harden-dnssec-stripped: yes + harden-glue: yes + harden-large-queries: yes + harden-referral-path: yes + harden-short-bufsize: yes + qname-minimisation: yes + qname-minimisation-strict: yes + hide-identity: yes + hide-version: yes + unwanted-reply-threshold: 10000000 + use-caps-for-id: yes + minimal-responses: yes + val-clean-additional: yes + rrset-roundrobin: yes + ignore-cd-flag: yes + do-not-query-localhost: yes + + outgoing-port-permit: 1024-65535 + + so-reuseport: yes + + prefetch: yes + prefetch-key: yes + + forward-zone: + name: "." + forward-tls-upstream: yes + forward-addr: 8.8.8.8#dns.google + forward-addr: 8.8.4.4#dns.google + forward-addr: 2001:4860:4860::8888#dns.google + forward-addr: 2001:4860:4860::8844#dns.google + - path: /etc/systemd/system/unbound.service.d/override.conf + contents: + inline: | + [Unit] + CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_SYS_RESOURCE CAP_NET_RAW + 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 + ProtectSystem=strict + 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 links: - path: /etc/localtime target: ../usr/share/zoneinfo/America/New_York diff --git a/Generic.ign b/Generic.ign index 477ee15..88aa34c 100644 --- a/Generic.ign +++ b/Generic.ign @@ -1 +1 @@ -{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/kdump.service.target","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/rpm-ostree install firewalld tuned qemu-guest-agent\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/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/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule \"0 5 0 * * 1\"\nExecStart=/bin/touch /var/lib/%N.stamp\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"},{"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"}]}} +{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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"}},{"overwrite":true,"path":"/etc/unbound/unbound.conf","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/5SS0W6kPAyF73mKqP+1mWn/aYV4GzcxIWqwqR1mdvr0q9BhukW7Ky1ISPg7HOwTG+mZtG+cK7pYAWQ/isKQMvUusBl5UJHSvtG1irKBJy3wunCokgMVfzDLh1q1g8cVpyF5LGSt19I0zmGMSmbpTMBGvndXssa5ETUQA+YoEOTCUTHQDr5SlgvwjyATJt7BW4NWNM0zhR2Nedm7ZdRI8L6QJrIdUxpIFTPMWMYds1HWoQdLH3fPd8aJYEqcpmRYkvCfydqjL3fbFAhSIC6pXL8Vz6T2i9PCF+RCAZTmfIUyKtkoOfTu8fh5VZEReJwNBlFI9xjW/2MGJZuF7WvgM2bwmZABQ0i1PcwbUzUqoLJwUHn9SjxFFiXwAYaMcasGAZayBnqFLB7zKHabsnFOlhIlcYS5xjeTTqnUzp9O8PL8/P9z1ZiA0mJUJfcP53oYxd+PYXuHN7rF1QyiF9QAH8JU97dG3ruH9qFxbmN1XZfZihJOm9XGMATtXdeu93+BrY0iMdNvJaf29DfJ0/H42J+6l+Pno++6rvs3/emb/88AAAD//79tu1mWAwAA"}},{"path":"/etc/systemd/system/unbound.service.d/override.conf","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/2ySQW/bPAyG7/kVAr5DT+3xuxlwmjid0dQLbGfdMAyBLDMpYVk0RMqrL/vtg5I6WIad/OoRaRIP9H3vUH4sVnrQDVqU6ZGCa9GdKpBktdwdiqw+PObF+lBl5Zd8lakIq6x+ytdz3M/xW3Uos+rzvvwoi73l8nXxAj35aQ1uevUokL2DCQKJ+ACLggr4ufM4ooUT8AXGsxZYw4jmL1b3w3wmASOfqIcbsLJkultCTjzZJ09h4JubZ/AO7JZO/8Iv1AY7T/9P1W/IqvGgO1aB0Z0Uk+lAFA2C5FhZ7EDdMd17MzbhePegsvfBokGxk2qRdWNBHcmrERkvsh9uJ9bBxSJOjtrydZudJ5OgO3fZK60mFugTFo9GFiVcwrJtPTBvdI8WgZPl5pAXWa0+vv/HUGT1Ni+eY9wX+ddrbwnaCs42L/9faWuX3rxhHBk8cOK04Pjn9QatgE9+pSaKV6kZwj30wepoRaUtNOGk0g4mH52l/dmq6ik4USk1TBYEVOqBKXgDfN2n0D3woOMDmIAXWzLdDjyT01Hdmf0OAAD//5owRqa+AgAA"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/kdump.service.target","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/sed -i 's/#DNSSEC=no/DNSSEC=yes/g' /etc/systemd/resolved.conf\nExecStart=/usr/bin/systemctl restart systemd-resolved\nExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/bin/systemctl disable systemd-resolved\nExecStart=/bin/systemctl enable unbound\nExecStart=/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/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule \"0 5 0 * * 1\"\nExecStart=/bin/touch /var/lib/%N.stamp\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"},{"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"}]}} diff --git a/Generic.yml b/Generic.yml index c920a4d..d6d488e 100644 --- a/Generic.yml +++ b/Generic.yml @@ -28,7 +28,9 @@ systemd: [Service] Type=oneshot RemainAfterExit=yes - ExecStart=/usr/bin/rpm-ostree install firewalld tuned qemu-guest-agent + ExecStart=/usr/bin/sed -i 's/#DNSSEC=no/DNSSEC=yes/g' /etc/systemd/resolved.conf + ExecStart=/usr/bin/systemctl restart systemd-resolved + ExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound ExecStart=/bin/touch /var/lib/%N.stamp ExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf @@ -42,6 +44,7 @@ systemd: ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf + ExecStart=/bin/systemctl disable systemd-resolved ExecStart=/bin/systemctl --no-block reboot [Install] @@ -59,6 +62,7 @@ systemd: [Service] Type=oneshot RemainAfterExit=yes + ExecStart=/bin/systemctl enable --now unbound ExecStart=/usr/bin/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule "0 5 0 * * 1" ExecStart=/bin/touch /var/lib/%N.stamp @@ -140,6 +144,71 @@ storage: inline: | GSSAPIAuthentication no VerifyHostKeyDNS yes + - path: /etc/unbound/unbound.conf + overwrite: true + contents: + inline: | + server: + trust-anchor-file: dnssec-root.key + tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt + + aggressive-nsec: yes + harden-algo-downgrade: yes + harden-below-nxdomain: yes + harden-dnssec-stripped: yes + harden-glue: yes + harden-large-queries: yes + harden-referral-path: yes + harden-short-bufsize: yes + qname-minimisation: yes + qname-minimisation-strict: yes + hide-identity: yes + hide-version: yes + unwanted-reply-threshold: 10000000 + use-caps-for-id: yes + minimal-responses: yes + val-clean-additional: yes + rrset-roundrobin: yes + ignore-cd-flag: yes + do-not-query-localhost: yes + + outgoing-port-permit: 1024-65535 + + so-reuseport: yes + + prefetch: yes + prefetch-key: yes + + forward-zone: + name: "." + forward-tls-upstream: yes + forward-addr: 8.8.8.8#dns.google + forward-addr: 8.8.4.4#dns.google + forward-addr: 2001:4860:4860::8888#dns.google + forward-addr: 2001:4860:4860::8844#dns.google + - path: /etc/systemd/system/unbound.service.d/override.conf + contents: + inline: | + [Unit] + CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_SYS_RESOURCE CAP_NET_RAW + 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 + ProtectSystem=strict + 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 links: - path: /etc/localtime target: ../usr/share/zoneinfo/America/New_York diff --git a/GitLab.ign b/GitLab.ign deleted file mode 100644 index 6307c56..0000000 --- a/GitLab.ign +++ /dev/null @@ -1 +0,0 @@ -{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/kdump.service.target","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/rpm-ostree install firewalld tuned qemu-guest-agent\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/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/echo \"export GITLAB_HOME=/srv/gitlab\" \u003e\u003e /etc/bashrc\nExecStart=/usr/bin/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule \"0 5 0 * * 1\"\nExecStart=/usr/bin/docker run --detach --hostname your_domain --publish 443:443 --publish 80:80 --publish 7022:22 --name gitlab --restart unless-stopped --volume /srv/gitlab/config:/etc/gitlab:Z --volume /srv/gitlab/logs:/var/log/gitlab:Z --volume /srv/gitlab/data:/var/opt/gitlab:Z gitlab/gitlab-ee:latest\nExecStart=/bin/touch /var/lib/%N.stamp\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"},{"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"}]}} diff --git a/GitLab.yml b/GitLab.yml deleted file mode 100644 index 0a5116c..0000000 --- a/GitLab.yml +++ /dev/null @@ -1,177 +0,0 @@ -variant: fcos -version: 1.4.0 -passwd: - users: - - name: tomster - ssh_authorized_keys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q== - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ== - 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/bin/rpm-ostree install firewalld tuned qemu-guest-agent - ExecStart=/bin/touch /var/lib/%N.stamp - ExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf - ExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d - ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d - ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf - ExecStart=/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/echo "export GITLAB_HOME=/srv/gitlab" >> /etc/bashrc - ExecStart=/usr/bin/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule "0 5 0 * * 1" - ExecStart=/usr/bin/docker run --detach --hostname your_domain --publish 443:443 --publish 80:80 --publish 7022:22 --name gitlab --restart unless-stopped --volume /srv/gitlab/config:/etc/gitlab:Z --volume /srv/gitlab/logs:/var/log/gitlab:Z --volume /srv/gitlab/data:/var/opt/gitlab:Z gitlab/gitlab-ee:latest - ExecStart=/bin/touch /var/lib/%N.stamp - - [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: 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/ssh/sshd_config.d/10-custom.conf - contents: - inline: | - X11Forwarding no - GSSAPIAuthentication no - - path: /etc/zincati/config.d/51-rollout-wariness.toml - contents: - inline: | - [identity] - rollout_wariness = 1 - - 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/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: | - # This config file enables a /dev/zram0 device with the default settings - [zram0] - zram-fraction = 1 - max-zram-size = 8192 - - 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 - links: - - path: /etc/localtime - target: ../usr/share/zoneinfo/America/New_York - - path: /etc/systemd/system/multi-user.target.wants/tuned.service - target: /usr/lib/systemd/system/tuned.service - - path: /etc/systemd/system/kdump.service.target - 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=on - - 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 diff --git a/OnlyOffice.ign b/OnlyOffice.ign deleted file mode 100644 index 29b2af1..0000000 --- a/OnlyOffice.ign +++ /dev/null @@ -1 +0,0 @@ -{"ignition":{"version":"3.3.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=on","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"]},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"tomster","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ=="]}]},"storage":{"files":[{"path":"/etc/ssh/sshd_config.d/10-custom.conf","contents":{"compression":"","source":"data:,X11Forwarding%20no%0AGSSAPIAuthentication%20no%0A"}},{"path":"/etc/zincati/config.d/51-rollout-wariness.toml","contents":{"compression":"","source":"data:,%5Bidentity%5D%0Arollout_wariness%20%3D%201%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="}},{"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:;base64,IyBUaGlzIGNvbmZpZyBmaWxlIGVuYWJsZXMgYSAvZGV2L3pyYW0wIGRldmljZSB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzClt6cmFtMF0KenJhbS1mcmFjdGlvbiA9IDEKbWF4LXpyYW0tc2l6ZSA9IDgxOTIK"}},{"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"}}],"links":[{"path":"/etc/localtime","target":"../usr/share/zoneinfo/America/New_York"},{"path":"/etc/systemd/system/multi-user.target.wants/tuned.service","target":"/usr/lib/systemd/system/tuned.service"},{"path":"/etc/systemd/system/kdump.service.target","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/rpm-ostree install firewalld tuned qemu-guest-agent\nExecStart=/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d\nExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf\nExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d\nExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf\nExecStart=/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/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule \"0 5 0 * * 1\"\nExecStart=/usr/bin/docker run --name onlyoffice --restart unless-stopped -i -t -d -p 80:80 -p 443:443 -e LETS_ENCRYPT_DOMAIN=your_domain -e LETS_ENCRYPT_MAIL=your_mail -e JWT_ENABLED=true -e JWT_SECRET=your_secret_here -v /srv/onlyoffice/DocumentServer/logs:/var/log/onlyoffice:Z -v /srv/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data:Z -v /srv/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice:Z -v /srv/onlyoffice/DocumentServer/rabbitmq:/var/lib/rabbitmq:Z -v /srv/onlyoffice/DocumentServer/redis:/var/lib/redis:Z -v /srv/onlyoffice/DocumentServer/db:/var/lib/postgresql:Z onlyoffice/documentserver\nExecStart=/bin/touch /var/lib/%N.stamp\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"},{"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"}]}} diff --git a/OnlyOffice.yml b/OnlyOffice.yml deleted file mode 100644 index 83d54e7..0000000 --- a/OnlyOffice.yml +++ /dev/null @@ -1,176 +0,0 @@ -variant: fcos -version: 1.4.0 -passwd: - users: - - name: tomster - ssh_authorized_keys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q== - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ== - 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/bin/rpm-ostree install firewalld tuned qemu-guest-agent - ExecStart=/bin/touch /var/lib/%N.stamp - ExecStart=/usr/bin/sed 's/nullok//g' /etc/pam.d/system-auth - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/modprobe.d/30_security-misc.conf -o /etc/modprobe.d/30_security-misc.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_security-misc.conf -o /etc/sysctl.d/30_security-misc.conf - ExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=3/g' /etc/sysctl.d/30_security-misc.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/Kicksecure/security-misc/master/etc/sysctl.d/30_silent-kernel-printk.conf -o /etc/sysctl.d/30_silent-kernel-printk.conf - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf -o /etc/chrony.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/NetworkManager.service.d - ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf -o /etc/systemd/system/NetworkManager.service.d/99-brace.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/irqbalance.service.d - ExecStart=/usr/bin/curl https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf -o /etc/systemd/system/irqbalance.service.d/99-brace.conf - ExecStart=/usr/bin/mkdir -p /etc/systemd/system/sshd.service.d - ExecStart=/usr/bin/curl https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/limits.conf -o /etc/systemd/system/sshd.service.d/limits.conf - ExecStart=/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/docker run --detach --privileged --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --schedule "0 5 0 * * 1" - ExecStart=/usr/bin/docker run --name onlyoffice --restart unless-stopped -i -t -d -p 80:80 -p 443:443 -e LETS_ENCRYPT_DOMAIN=your_domain -e LETS_ENCRYPT_MAIL=your_mail -e JWT_ENABLED=true -e JWT_SECRET=your_secret_here -v /srv/onlyoffice/DocumentServer/logs:/var/log/onlyoffice:Z -v /srv/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data:Z -v /srv/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice:Z -v /srv/onlyoffice/DocumentServer/rabbitmq:/var/lib/rabbitmq:Z -v /srv/onlyoffice/DocumentServer/redis:/var/lib/redis:Z -v /srv/onlyoffice/DocumentServer/db:/var/lib/postgresql:Z onlyoffice/documentserver - ExecStart=/bin/touch /var/lib/%N.stamp - - [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: 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/ssh/sshd_config.d/10-custom.conf - contents: - inline: | - X11Forwarding no - GSSAPIAuthentication no - - path: /etc/zincati/config.d/51-rollout-wariness.toml - contents: - inline: | - [identity] - rollout_wariness = 1 - - 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/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: | - # This config file enables a /dev/zram0 device with the default settings - [zram0] - zram-fraction = 1 - max-zram-size = 8192 - - 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 - links: - - path: /etc/localtime - target: ../usr/share/zoneinfo/America/New_York - - path: /etc/systemd/system/multi-user.target.wants/tuned.service - target: /usr/lib/systemd/system/tuned.service - - path: /etc/systemd/system/kdump.service.target - 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=on - - 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 \ No newline at end of file