grsecurity is an innovative set of patches for the Linux kernel with an emphasis on strengthening the security of a computer system.
grsecurity allows the system administrator to, among other things, define a least privilege policy for the system, in which every process and user have only the lowest privileges needed to function. It is typically used when hosts need to permit remote connections from untrusted sources, such as ssh and web servers.
It prevents most forms of address space modification, confines programs via its Role-Based Access Control system, hardens syscalls, provides full-featured auditing, and implements many of the OpenBSD randomness features. Development of grsecurity is sponsored by a number of organisations including Prometheus Global.
- Written for performance, security and ease-of use.
- Utilizes a multi-layered detection, prevention, and containment model.
- Buffer overflow exploitation prevention.
- An intelligent and robust Role-Based Access Control (RBAC) system that can generate least privilege policies for your entire system with no configuration. The RBAC system lets an administrator to restrict access to files, capabilities, resources, or sockets to all users, including root. This is similar to a Mandatory Access Control (MAC) model.
- /tmp race vulnerability prevention.
- Extensive auditing:
- Option to specify single group to audit.
- Exec logging with arguments.
- Denied resource logging.
- Chdir logging.
- Mount and unmount logging.
- IPC creation/removal logging.
- Signal logging.
- Failed fork logging.
- Time change logging.
- RWX map logging.
- Trusted path execution.
- Prevention of arbitrary code execution, regardless of the technique used (stack smashing, heap corruption, etc).
- Prevention of arbitrary code execution in the kernel.
- Randomization of the stack, library, and heap bases.
- Kernel stack base randomization.
- Protection against exploitable null-pointer dereference bugs in the kernel.
- Reduction of the risk of sensitive information being leaked by arbitrary-read kernel bugs.
- A restriction that allows a user to only view his/her processes.
- Security alerts and audits that contain the IP address of the person causing the alert.
- /proc restrictions that don’t leak information about process owners.
- Symlink/hardlink restrictions to prevent /tmp races.
- FIFO restrictions.
- Dmesg restriction.
- Enhanced implementation of Trusted Path Execution.
- GID-based socket restrictions.
- Nearly all options are sysctl-tunable, with a locking mechanism.
- All alerts and audits support a feature that logs the IP address of the attacker with the log.
- Stream connections across unix domain sockets carry the attacker’s IP address with them (on 2.4 only).
- Detection of local connections: copies attacker’s IP address to the other task.
- Automatic deterrence of exploit brute-forcing.
- Low, Medium, High, and Custom security levels.
- Tunable flood-time and burst for logging.
- Change root (chroot) hardening:
- No attaching shared memory outside of chroot.
- No kill outside of chroot.
- No ptrace outside of chroot (architecture independent).
- No capget outside of chroot.
- No setpgid outside of chroot.
- No getpgid outside of chroot.
- No getsid outside of chroot.
- No sending of signals by fcntl outside of chroot.
- No viewing of any process outside of chroot, even if /proc is mounted.
- No mounting or remounting.
- No pivot_root.
- No double chroot.
- No fchdir out of chroot.
- Enforced chdir(“/”) upon chroot.
- No (f)chmod +s.
- No mknod.
- No sysctl writes.
- No raising of scheduler priority.
- No connecting to abstract unix domain sockets outside of chroot.
- Removal of harmful privileges via cap.
Developer: Brad Spengler
License: GNU GPL
|Read our complete collection of recommended free and open source software. The collection covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.