172dc1336f
This module implements a significant refactoring in grsecurity configuration for NixOS, making it far more usable by default and much easier to configure. - New security.grsecurity NixOS attributes. - All grsec kernels supported - Allows default 'auto' grsec configuration, or custom config - Supports custom kernel options through kernelExtraConfig - Defaults to high-security - user must choose kernel, server/desktop mode, and any virtualisation software. That's all. - kptr_restrict is fixed under grsecurity (it's unwriteable) - grsecurity patch creation is now significantly abstracted - only need revision, version, and SHA1 - kernel version requirements are asserted for sanity - built kernels can have the uname specify the exact grsec version for development or bug reports. Off by default (requires `security.grsecurity.config.verboseVersion = true;`) - grsecurity sysctl support - By default, disabled. - For people who enable it, NixOS deploys a 'grsec-lock' systemd service which runs at startup. You are expected to configure sysctl through NixOS like you regularly would, which will occur before the service is started. As a result, changing sysctl settings requires a reboot. - New default group: 'grsecurity' - Root is a member by default - GRKERNSEC_PROC_GID is implicitly set to the 'grsecurity' GID, making it possible to easily add users to this group for /proc access - AppArmor is now automatically enabled where it wasn't before, despite implying features.apparmor = true The most trivial example of enabling grsecurity in your kernel is by specifying: security.grsecurity.enable = true; security.grsecurity.testing = true; # testing 3.13 kernel security.grsecurity.config.system = "desktop"; # or "server" This specifies absolutely no virtualisation support. In general, you probably at least want KVM host support, which is a little more work. So: security.grsecurity.enable = true; security.grsecurity.stable = true; # enable stable 3.2 kernel security.grsecurity.config = { system = "server"; priority = "security"; virtualisationConfig = "host"; virtualisationSoftware = "kvm"; hardwareVirtualisation = true; } This module has primarily been tested on Hetzner EX40 & VQ7 servers using NixOps. Signed-off-by: Austin Seipp <aseipp@pobox.com> |
||
---|---|---|
.. | ||
915resolution | ||
acpi | ||
acpi-call | ||
acpid | ||
acpitool | ||
afuse | ||
alienfx | ||
alsa-lib | ||
alsa-oss | ||
alsa-plugins | ||
alsa-utils | ||
apparmor | ||
ati-drivers | ||
atop | ||
audit | ||
autofs | ||
batman-adv | ||
bbswitch | ||
blcr | ||
bluez | ||
bridge-utils | ||
broadcom-sta | ||
busybox | ||
can-utils | ||
checkpolicy | ||
checksec | ||
cifs-utils | ||
conky | ||
consoletools | ||
conspy | ||
cpufrequtils | ||
cramfsswap | ||
criu | ||
cryopid | ||
cryptodev | ||
cryptsetup | ||
dietlibc | ||
directvnc | ||
dmidecode | ||
dmraid | ||
dmtcp | ||
drbd | ||
dstat | ||
e3cfsprogs | ||
e1000e | ||
ebtables | ||
fbterm | ||
ffado | ||
firmware | ||
forktty | ||
frandom | ||
fuse | ||
fxload | ||
gfxtablet | ||
gogoclient | ||
google-authenticator | ||
gradm | ||
guvcview | ||
hdparm | ||
hibernate | ||
hostapd | ||
htop | ||
hwdata | ||
i7z | ||
i810switch | ||
ifenslave | ||
ifplugd | ||
iotop | ||
iproute | ||
ipsec-tools | ||
iptables | ||
iputils | ||
iw | ||
jujuutils | ||
kbd | ||
kernel | ||
kernel-headers | ||
kernel-headers-cross | ||
kexectools | ||
keyutils | ||
klibc | ||
kmod | ||
kmod-blacklist-ubuntu | ||
kmscon | ||
ktap | ||
latencytop | ||
ldm | ||
libaio | ||
libatasmart | ||
libcap | ||
libcap-ng | ||
libcgroup | ||
libnl | ||
libnscd | ||
libselinux | ||
libsemanage | ||
libsepol | ||
libsmbios | ||
libvolume_id | ||
lm-sensors | ||
lockdep | ||
lsiutil | ||
lsscsi | ||
lttng-modules | ||
lvm2 | ||
lxc | ||
mcelog | ||
mdadm | ||
microcode | ||
mingetty | ||
module-init-tools | ||
multipath-tools | ||
musl | ||
ndiswrapper | ||
net-tools | ||
netatop | ||
nfs-utils | ||
nss_ldap | ||
numactl | ||
nvidia-x11 | ||
nvidiabl | ||
open-iscsi | ||
opengl/xorg-sys | ||
otpw | ||
pam | ||
pam_ccreds | ||
pam_console | ||
pam_devperm | ||
pam_krb5 | ||
pam_ldap | ||
pam_login | ||
pam_ssh_agent_auth | ||
pam_usb | ||
pax-utils | ||
paxctl | ||
pcmciautils | ||
plymouth | ||
pm-utils | ||
pmount | ||
pmtools | ||
policycoreutils | ||
pommed | ||
powertop | ||
procps | ||
procps-ng | ||
psmisc | ||
psmouse-alps | ||
radeontools | ||
regionset | ||
reptyr | ||
rfkill | ||
rtkit | ||
sdparm | ||
sepolgen | ||
setools | ||
shadow | ||
spl | ||
statifier | ||
sysfsutils | ||
sysklogd | ||
syslinux | ||
sysstat | ||
systemd | ||
sysvinit | ||
tcp-wrappers | ||
tp_smapi | ||
ttysnoop | ||
tunctl | ||
uclibc | ||
udev | ||
udisks | ||
udisks-glue | ||
untie | ||
upower | ||
upstart | ||
usbutils | ||
util-linux | ||
v4l-utils | ||
v4l2loopback | ||
v86d | ||
wireless-tools | ||
wis-go7007 | ||
wpa_supplicant | ||
wvdial | ||
x86info | ||
xf86-input-mtrack | ||
xf86-input-multitouch | ||
xf86-input-wacom | ||
xf86-video-nested | ||
zfs |