SOURCES: grsecurity-2.1.7-2.4.32-200511131857.patch (NEW) - raw fr...
qboosh
qboosh at pld-linux.org
Thu Nov 17 10:54:36 CET 2005
Author: qboosh Date: Thu Nov 17 09:54:36 2005 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- raw from http://www.grsecurity.net/grsecurity-2.1.7-2.4.32-200511131857.patch.gz (gunzipped)
---- Files affected:
SOURCES:
grsecurity-2.1.7-2.4.32-200511131857.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/grsecurity-2.1.7-2.4.32-200511131857.patch
diff -u /dev/null SOURCES/grsecurity-2.1.7-2.4.32-200511131857.patch:1.1
--- /dev/null Thu Nov 17 10:54:36 2005
+++ SOURCES/grsecurity-2.1.7-2.4.32-200511131857.patch Thu Nov 17 10:54:31 2005
@@ -0,0 +1,22431 @@
+diff -urNp linux-2.4.32/Documentation/Configure.help linux-2.4.32/Documentation/Configure.help
+--- linux-2.4.32/Documentation/Configure.help 2005-11-11 23:57:17.000000000 -0500
++++ linux-2.4.32/Documentation/Configure.help 2005-11-11 23:59:47.000000000 -0500
+@@ -2899,6 +2899,20 @@ CONFIG_IP_NF_MATCH_PKTTYPE
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
++stealth networking support
++CONFIG_IP_NF_MATCH_STEALTH
++ Enabling this option will drop all syn packets coming to unserved tcp
++ ports as well as all packets coming to unserved udp ports. If you
++ are using your system to route any type of packets (ie. via NAT)
++ you should put this module at the end of your ruleset, since it will
++ drop packets that aren't going to ports that are listening on your
++ machine itself, it doesn't take into account that the packet might be
++ destined for someone on your internal network if you're using NAT for
++ instance.
++
++ If you want to compile it as a module, say M here and read
++ Documentation/modules.txt. If unsure, say `N'.
++
+ MAC address match support
+ CONFIG_IP_NF_MATCH_MAC
+ MAC matching allows you to match packets based on the source
+@@ -23430,6 +23444,924 @@ CONFIG_CF_AREA5
+
+ "Area6" will work for most boards. For ADX, select "Area5".
+
++Grsecurity
++CONFIG_GRKERNSEC
++ If you say Y here, you will be able to configure many features that
++ will enhance the security of your system. It is highly recommended
++ that you say Y here and read through the help for each option so
++ you fully understand the features and can evaluate their usefulness
++ for your machine.
++
++Additional security levels
++CONFIG_GRKERNSEC_LOW
++
++ Low additional security
++ -----------------------------------------------------------------------
++ If you choose this option, several of the grsecurity options will
++ be enabled that will give you greater protection against a number
++ of attacks, while assuring that none of your software will have any
++ conflicts with the additional security measures. If you run a lot of
++ unusual software, or you are having problems with the higher security
++ levels, you should say Y here. With this option, the following features
++ are enabled:
++
++ linking restrictions
++ fifo restrictions
++ random pids
++ enforcing nproc on execve()
++ restricted dmesg
++ enforced chdir("/") on chroot
++
++ Medium additional security
++ -----------------------------------------------------------------------
++ If you say Y here, several features in addition to those included in the
++ low additional security level will be enabled. These features provide
++ even more security to your system, though in rare cases they may
++ be incompatible with very old or poorly written software. If you
++ enable this option, make sure that your auth service (identd) is
++ running as gid 10 (usually group wheel). With this option the following
++ features (in addition to those provided in the low additional security
++ level) will be enabled:
++
++ random tcp source ports
++ failed fork logging
++ time change logging
++ signal logging
++ deny mounts in chroot
++ deny double chrooting
++ deny sysctl writes in chroot
++ deny mknod in chroot
++ deny access to abstract AF_UNIX sockets out of chroot
++ deny pivot_root in chroot
++ denied writes of /dev/kmem, /dev/mem, and /dev/port
++ /proc restrictions with special gid set to 10 (usually wheel)
++ address space layout randomization
++ removal of addresses from /proc/<pid>/[maps|stat]
++
++ High additional security
++ ----------------------------------------------------------------------
++ If you say Y here, many of the features of grsecurity will be enabled,
++ that will protect you against many kinds of attacks against
++ your system. The heightened security comes at a cost of an
++ increased chance of incompatibilities with rare software on your
++ machine. Since this security level enables PaX, you should view
++ <http://pax.grsecurity.net> and read about the PaX project. While
++ you are there, download chpax and run it on binaries that cause
++ problems with PaX. Also remember that since the /proc restrictions are
++ enabled, you must run your identd as group wheel (gid 10).
++ This security level enables the following features in addition to those
++ listed in the low and medium security levels:
++
++ additional /proc restrictions
++ chmod restrictions in chroot
++ no signals, ptrace, or viewing processes outside of chroot
++ capability restrictions in chroot
++ deny fchdir out of chroot
++ priority restrictions in chroot
++ segmentation-based implementation of PaX
++ mprotect restrictions
++ kernel stack randomization
++ mount/unmount/remount logging
++ kernel symbol hiding
++ destroy unused shared memory
++
++Customized additional security
++CONFIG_GRKERNSEC_CUSTOM
++ If you say Y here, you will be able to configure every grsecurity
++ option, which allows you to enable many more features that aren't
++ covered in the basic security levels. These additional features include
++ TPE, socket restrictions, and the sysctl system for grsecurity. It is
++ advised that you read through the help for each option to determine its
++ usefulness in your situation.
++
++Support soft mode
++CONFIG_GRKERNSEC_PAX_SOFTMODE
++ Enabling this option will allow you to run PaX in soft mode, that
++ is, PaX features will not be enforced by default, only on executables
++ marked explicitly. You must also enable PT_PAX_FLAGS support as it
++ is the only way to mark executables for soft mode use.
++
++ Soft mode can be activated by using the "pax_softmode=1" kernel command
++ line option on boot. Furthermore you can control various PaX features
++ at runtime via the entries in /proc/sys/kernel/pax.
++
++Use legacy ELF header marking
++CONFIG_GRKERNSEC_PAX_EI_PAX
++ Enabling this option will allow you to control PaX features on
++ a per executable basis via the 'chpax' utility available at
++ http://pax.grsecurity.net/. The control flags will be read from
++ an otherwise reserved part of the ELF header. This marking has
++ numerous drawbacks (no support for soft-mode, toolchain does not
++ know about the non-standard use of the ELF header) therefore it
++ has been deprecated in favour of PT_PAX_FLAGS support.
++
++ If you have applications not marked by the PT_PAX_FLAGS ELF
++ program header then you MUST enable this option otherwise they
++ will not get any protection.
++
++ Note that if you enable PT_PAX_FLAGS marking support as well,
++ the PT_PAX_FLAG marks will override the legacy EI_PAX marks.
++
++Use ELF program header marking
++CONFIG_GRKERNSEC_PAX_PT_PAX_FLAGS
++ Enabling this option will allow you to control PaX features on
++ a per executable basis via the 'paxctl' utility available at
++ http://pax.grsecurity.net/. The control flags will be read from
++ a PaX specific ELF program header (PT_PAX_FLAGS). This marking
++ has the benefits of supporting both soft mode and being fully
++ integrated into the toolchain (the binutils patch is available
++ from http://pax.grsecurity.net).
++
++ If you have applications not marked by the PT_PAX_FLAGS ELF
++ program header then you MUST enable the EI_PAX marking support
++ otherwise they will not get any protection.
++
++ Note that if you enable the legacy EI_PAX marking support as well,
++ the EI_PAX marks will be overridden by the PT_PAX_FLAGS marks.
++
++MAC system integration
++CONFIG_GRKERNSEC_PAX_NO_ACL_FLAGS
++ Mandatory Access Control systems have the option of controlling
++ PaX flags on a per executable basis, choose the method supported
++ by your particular system.
++
++ - "none": if your MAC system does not interact with PaX,
++ - "direct": if your MAC system defines pax_set_flags() itself,
++ - "hook": if your MAC system uses the pax_set_flags_func callback.
++
++ NOTE: this option is for developers/integrators only.
++
++Enforce non-executable pages
++CONFIG_GRKERNSEC_PAX_NOEXEC
++ By design some architectures do not allow for protecting memory
++ pages against execution or even if they do, Linux does not make
++ use of this feature. In practice this means that if a page is
++ readable (such as the stack or heap) it is also executable.
++
++ There is a well known exploit technique that makes use of this
++ fact and a common programming mistake where an attacker can
++ introduce code of his choice somewhere in the attacked program's
++ memory (typically the stack or the heap) and then execute it.
++
++ If the attacked program was running with different (typically
++ higher) privileges than that of the attacker, then he can elevate
++ his own privilege level (e.g. get a root shell, write to files for
++ which he does not have write access to, etc).
++
++ Enabling this option will let you choose from various features
++ that prevent the injection and execution of 'foreign' code in
++ a program.
++
++ This will also break programs that rely on the old behaviour and
++ expect that dynamically allocated memory via the malloc() family
++ of functions is executable (which it is not). Notable examples
++ are the XFree86 4.x server, the java runtime and wine.
++
++Paging based non-executable pages
++CONFIG_GRKERNSEC_PAX_PAGEEXEC
++ This implementation is based on the paging feature of the CPU.
++ On i386 it has a variable performance impact on applications
++ depending on their memory usage pattern. You should carefully
++ test your applications before using this feature in production.
++ On alpha, parisc, sparc and sparc64 there is no performance
++ impact. On ppc there is a slight performance impact.
++
++Segmentation based non-executable pages
++CONFIG_GRKERNSEC_PAX_SEGMEXEC
++ This implementation is based on the segmentation feature of the
++ CPU and has little performance impact, however applications will
++ be limited to a 1.5 GB address space instead of the normal 3 GB.
++
++Emulate trampolines
++CONFIG_GRKERNSEC_PAX_EMUTRAMP
++ There are some programs and libraries that for one reason or
++ another attempt to execute special small code snippets from
++ non-executable memory pages. Most notable examples are the
++ signal handler return code generated by the kernel itself and
++ the GCC trampolines.
++
++ If you enabled CONFIG_GRKERNSEC_PAX_PAGEEXEC or
++ CONFIG_GRKERNSEC_PAX_SEGMEXEC then such programs will no longer
++ work under your kernel.
++
++ As a remedy you can say Y here and use the 'chpax' or 'paxctl'
++ utilities to enable trampoline emulation for the affected programs
++ yet still have the protection provided by the non-executable pages.
++
++ On parisc and ppc you MUST enable this option and EMUSIGRT as
++ well, otherwise your system will not even boot.
++
++ Alternatively you can say N here and use the 'chpax' or 'paxctl'
++ utilities to disable CONFIG_GRKERNSEC_PAX_PAGEEXEC and
++ CONFIG_GRKERNSEC_PAX_SEGMEXEC for the affected files.
++
++ NOTE: enabling this feature *may* open up a loophole in the
++ protection provided by non-executable pages that an attacker
++ could abuse. Therefore the best solution is to not have any
++ files on your system that would require this option. This can
++ be achieved by not using libc5 (which relies on the kernel
++ signal handler return code) and not using or rewriting programs
++ that make use of the nested function implementation of GCC.
++ Skilled users can just fix GCC itself so that it implements
++ nested function calls in a way that does not interfere with PaX.
++
++Automatically emulate sigreturn trampolines
++CONFIG_GRKERNSEC_PAX_EMUSIGRT
++ Enabling this option will have the kernel automatically detect
++ and emulate signal return trampolines executing on the stack
++ that would otherwise lead to task termination.
++
++ This solution is intended as a temporary one for users with
++ legacy versions of libc (libc5, glibc 2.0, uClibc before 0.9.17,
++ Modula-3 runtime, etc) or executables linked to such, basically
++ everything that does not specify its own SA_RESTORER function in
++ normal executable memory like glibc 2.1+ does.
++
++ On parisc and ppc you MUST enable this option, otherwise your
++ system will not even boot.
++
++ NOTE: this feature cannot be disabled on a per executable basis
++ and since it *does* open up a loophole in the protection provided
++ by non-executable pages, the best solution is to not have any
++ files on your system that would require this option.
++
++Restrict mprotect()
++CONFIG_GRKERNSEC_PAX_MPROTECT
++ Enabling this option will prevent programs from
++ - changing the executable status of memory pages that were
++ not originally created as executable,
++ - making read-only executable pages writable again,
++ - creating executable pages from anonymous memory.
++
++ You should say Y here to complete the protection provided by
++ the enforcement of non-executable pages.
++
++ NOTE: you can use the 'chpax' utility to control this
++ feature on a per file basis. chpax is available at
++ <http://pax.grsecurity.net>
++
++Disallow ELF text relocations
++CONFIG_GRKERNSEC_PAX_NOELFRELOCS
++ Non-executable pages and mprotect() restrictions are effective
++ in preventing the introduction of new executable code into an
++ attacked task's address space. There remain only two venues
++ for this kind of attack: if the attacker can execute already
++ existing code in the attacked task then he can either have it
++ create and mmap() a file containing his code or have it mmap()
++ an already existing ELF library that does not have position
++ independent code in it and use mprotect() on it to make it
++ writable and copy his code there. While protecting against
++ the former approach is beyond PaX, the latter can be prevented
++ by having only PIC ELF libraries on one's system (which do not
++ need to relocate their code). If you are sure this is your case,
++ then enable this option otherwise be careful as you may not even
++ be able to boot or log on your system (for example, some PAM
++ modules are erroneously compiled as non-PIC by default).
++
++ NOTE: if you are using dynamic ELF executables (as suggested
++ when using ASLR) then you must have made sure that you linked
++ your files using the PIC version of crt1 (the et_dyn.zip package
++ referenced there has already been updated to support this).
++
++Enforce non-executable kernel pages
++CONFIG_GRKERNSEC_PAX_KERNEXEC
++ This is the kernel land equivalent of PAGEEXEC and MPROTECT,
++ that is, enabling this option will make it harder to inject
++ and execute 'foreign' code in kernel memory itself.
++
++Address Space Layout Randomization
++CONFIG_GRKERNSEC_PAX_ASLR
++ Many if not most exploit techniques rely on the knowledge of
++ certain addresses in the attacked program. The following options
++ will allow the kernel to apply a certain amount of randomization
++ to specific parts of the program thereby forcing an attacker to
++ guess them in most cases. Any failed guess will most likely crash
++ the attacked program which allows the kernel to detect such attempts
++ and react on them. PaX itself provides no reaction mechanisms,
++ instead it is strongly encouraged that you make use of grsecurity's
++ built-in crash detection features or develop one yourself.
++
++ By saying Y here you can choose to randomize the following areas:
++ - top of the task's kernel stack
++ - top of the task's userland stack
++ - base address for mmap() requests that do not specify one
++ (this includes all libraries)
++ - base address of the main executable
++
++ It is strongly recommended to say Y here as address space layout
++ randomization has negligible impact on performance yet it provides
++ a very effective protection.
++
++ NOTE: you can use the 'chpax' or 'paxctl' utilities to control most
++ of these features on a per file basis.
++
++Randomize kernel stack base
++CONFIG_GRKERNSEC_PAX_RANDKSTACK
++ By saying Y here the kernel will randomize every task's kernel
++ stack on every system call. This will not only force an attacker
++ to guess it but also prevent him from making use of possible
++ leaked information about it.
++
++ Since the kernel stack is a rather scarce resource, randomization
++ may cause unexpected stack overflows, therefore you should very
++ carefully test your system. Note that once enabled in the kernel
++ configuration, this feature cannot be disabled on a per file basis.
++
++Randomize user stack base
++CONFIG_GRKERNSEC_PAX_RANDUSTACK
++ By saying Y here the kernel will randomize every task's userland
++ stack. The randomization is done in two steps where the second
++ one may apply a big amount of shift to the top of the stack and
++ cause problems for programs that want to use lots of memory (more
++ than 2.5 GB if SEGMEXEC is not active, or 1.25 GB when it is).
++ For this reason the second step can be controlled by 'chpax' or
++ 'paxctl' on a per file basis.
++
++Randomize ET_EXEC base
++CONFIG_GRKERNSEC_PAX_RANDEXEC
++ By saying Y here the kernel will randomize the base address of normal
++ ET_EXEC ELF executables as well. This is accomplished by mapping the
++ executable in memory in a special way which also allows for detecting
++ attackers who attempt to execute its code for their purposes. Since
++ this special mapping causes performance degradation and the attack
++ detection may create false alarms as well, you should carefully test
++ your executables when this feature is enabled.
++
++ This solution is intended only as a temporary one until you relink
++ your programs as a dynamic ELF file.
++
++ NOTE: you can use the 'chpax' or 'paxctl' utilities to control
++ this feature on a per file basis.
++
++Allow ELF ET_EXEC text relocations
++CONFIG_GRKERNSEC_PAX_ETEXECRELOCS
++ On some architectures like the alpha there are incorrectly
++ created applications that require text relocations and would
++ not work without enabling this option. If you are an alpha
++ user, you should enable this option and disable it once you
++ have made sure that none of your applications need it.
++
++Automatically emulate ELF PLT
++CONFIG_GRKERNSEC_PAX_EMUPLT
++ Enabling this option will have the kernel automatically detect
++ and emulate the Procedure Linkage Table entries in ELF files.
++ On some architectures such entries are in writable memory, and
++ become non-executable leading to task termination. Therefore
++ it is mandatory that you enable this option on alpha, parisc, ppc,
++ sparc and sparc64, otherwise your system would not even boot.
++
++ NOTE: this feature *does* open up a loophole in the protection
++ provided by the non-executable pages, therefore the proper
++ solution is to modify the toolchain to produce a PLT that does
++ not need to be writable.
++
++Randomize mmap() base
++CONFIG_GRKERNSEC_PAX_RANDMMAP
++ By saying Y here the kernel will use a randomized base address for
++ mmap() requests that do not specify one themselves. As a result
++ all dynamically loaded libraries will appear at random addresses
++ and therefore be harder to exploit by a technique where an attacker
++ attempts to execute library code for his purposes (e.g. spawn a
++ shell from an exploited program that is running at an elevated
++ privilege level).
++
++ Furthermore, if a program is relinked as a dynamic ELF file, its
++ base address will be randomized as well, completing the full
++ randomization of the address space layout. Attacking such programs
++ becomes a guess game. You can find an example of doing this at
++ <http://pax.grsecurity.net/et_dyn.zip> and practical samples at
++ <http://www.grsecurity.net/grsec-gcc-specs.tar.gz> .
++
++ NOTE: you can use the 'chpax' or 'paxctl' utilities to control this
++ feature on a per file basis.
++
++Deny writing to /dev/kmem, /dev/mem, and /dev/port
++CONFIG_GRKERNSEC_KMEM
++ If you say Y here, /dev/kmem and /dev/mem won't be allowed to
++ be written to via mmap or otherwise to modify the running kernel.
++ /dev/port will also not be allowed to be opened. If you have module
++ support disabled, enabling this will close up four ways that are
++ currently used to insert malicious code into the running kernel.
++ Even with all these features enabled, we still highly recommend that
++ you use the RBAC system, as it is still possible for an attacker to
++ modify the running kernel through privileged I/O granted by ioperm/iopl.
++ If you are not using XFree86, you may be able to stop this additional
++ case by enabling the 'Disable privileged I/O' option. Though nothing
++ legitimately writes to /dev/kmem, XFree86 does need to write to /dev/mem,
++ but only to video memory, which is the only writing we allow in this
++ case. If /dev/kmem or /dev/mem are mmaped without PROT_WRITE, they will
++ not be allowed to mprotect it with PROT_WRITE later.
++ It is highly recommended that you say Y here if you meet all the
++ conditions above.
++
++Disable privileged I/O
++CONFIG_GRKERNSEC_IO
++ If you say Y here, all ioperm and iopl calls will return an error.
++ Ioperm and iopl can be used to modify the running kernel.
++ Unfortunately, some programs need this access to operate properly,
++ the most notable of which are XFree86 and hwclock. hwclock can be
++ remedied by having RTC support in the kernel, so CONFIG_RTC is
++ enabled if this option is enabled, to ensure that hwclock operates
++ correctly. XFree86 still will not operate correctly with this option
++ enabled, so DO NOT CHOOSE Y IF YOU USE XFree86. If you use XFree86
++ and you still want to protect your kernel against modification,
++ use the RBAC system.
++
++Hide kernel symbols
++CONFIG_GRKERNSEC_HIDESYM
++ If you say Y here, getting information on loaded modules, and
++ displaying all kernel symbols through a syscall will be restricted
++ to users with CAP_SYS_MODULE. This option is only effective
++ provided the following conditions are met:
++ 1) The kernel using grsecurity is not precompiled by some distribution
++ 2) You are using the RBAC system and hiding other files such as your
++ kernel image and System.map
++ 3) You have the additional /proc restrictions enabled, which removes
++ /proc/kcore
++ If the above conditions are met, this option will aid to provide a
++ useful protection against local and remote kernel exploitation of
++ overflows and arbitrary read/write vulnerabilities.
++
++Deter exploit bruteforcing
++CONFIG_GRKERNSEC_BRUTE
++ If you say Y here, attempts to bruteforce exploits against forking
++ daemons such as apache or sshd will be deterred. When a child of a
++ forking daemon is killed by PaX or crashes due to an illegal
++ instruction, the parent process will be delayed 30 seconds upon every
++ subsequent fork until the administrator is able to assess the
++ situation and restart the daemon. It is recommended that you also
++ enable signal logging in the auditing section so that logs are
++ generated when a process performs an illegal instruction.
++
++/proc/<pid>/ipaddr support
++CONFIG_GRKERNSEC_PROC_IPADDR
++ If you say Y here, a new entry will be added to each /proc/<pid>
++ directory that contains the IP address of the person using the task.
++ The IP is carried across local TCP and AF_UNIX stream sockets.
++ This information can be useful for IDS/IPSes to perform remote response
++ to a local attack. The entry is readable by only the owner of the
++ process (and root if he has CAP_DAC_OVERRIDE, which can be removed via
++ the RBAC system), and thus does not create privacy concerns.
++
++Proc Restrictions
++CONFIG_GRKERNSEC_PROC
++ If you say Y here, the permissions of the /proc filesystem
++ will be altered to enhance system security and privacy. You MUST
++ choose either a user only restriction or a user and group restriction.
++ Depending upon the option you choose, you can either restrict users to
++ see only the processes they themselves run, or choose a group that can
++ view all processes and files normally restricted to root if you choose
++ the "restrict to user only" option. NOTE: If you're running identd as
++ a non-root user, you will have to run it as the group you specify here.
++
++Restrict /proc to user only
++CONFIG_GRKERNSEC_PROC_USER
++ If you say Y here, non-root users will only be able to view their own
++ processes, and restricts them from viewing network-related information,
++ and viewing kernel symbol and module information.
++
++Restrict /proc to user and group
++CONFIG_GRKERNSEC_PROC_USERGROUP
++ If you say Y here, you will be able to select a group that will be
++ able to view all processes, network-related information, and
++ kernel and symbol information. This option is useful if you want
++ to run identd as a non-root user.
++
++Remove addresses from /proc/pid/[maps|stat]
++CONFIG_GRKERNSEC_PROC_MEMMAP
++ If you say Y here, the /proc/<pid>/maps and /proc/<pid>/stat files will
++ give no information about the addresses of its mappings if
++ PaX features that rely on random addresses are enabled on the task.
++ If you use PaX it is greatly recommended that you say Y here as it
++ closes up a hole that makes the full ASLR useless for suid
++ binaries.
++
++Additional proc restrictions
++CONFIG_GRKERNSEC_PROC_ADD
++ If you say Y here, additional restrictions will be placed on
++ /proc that keep normal users from viewing device information and
++ slabinfo information that could be useful for exploits.
++
++Dmesg(8) Restriction
++CONFIG_GRKERNSEC_DMESG
++ If you say Y here, non-root users will not be able to use dmesg(8)
++ to view up to the last 4kb of messages in the kernel's log buffer.
++ If the sysctl option is enabled, a sysctl option with name "dmesg" is
++ created.
++
++Destroy unused shared memory
++CONFIG_GRKERNSEC_SHM
++ If you say Y here, shared memory will be destroyed when no one is
++ attached to it. Otherwise, resources involved with the shared
++ memory can be used up and not be associated with any process (as the
++ shared memory still exists, and the creating process has exited). If
++ the sysctl option is enabled, a sysctl option with name
++ "destroy_unused_shm" is created.
++
++Linking restrictions
++CONFIG_GRKERNSEC_LINK
++ If you say Y here, /tmp race exploits will be prevented, since users
++ will no longer be able to follow symlinks owned by other users in
++ world-writable +t directories (i.e. /tmp), unless the owner of the
++ symlink is the owner of the directory. users will also not be
++ able to hardlink to files they do not own. If the sysctl option is
++ enabled, a sysctl option with name "linking_restrictions" is created.
++
++FIFO restrictions
++CONFIG_GRKERNSEC_FIFO
++ If you say Y here, users will not be able to write to FIFOs they don't
++ own in world-writable +t directories (i.e. /tmp), unless the owner of
++ the FIFO is the same owner of the directory it's held in. If the sysctl
++ option is enabled, a sysctl option with name "fifo_restrictions" is
++ created.
++
++Enforce RLIMIT_NPROC on execs
++CONFIG_GRKERNSEC_EXECVE
++ If you say Y here, users with a resource limit on processes will
++ have the value checked during execve() calls. The current system
++ only checks the system limit during fork() calls. If the sysctl option
++ is enabled, a sysctl option with name "execve_limiting" is created.
++
++Single group for auditing
++CONFIG_GRKERNSEC_AUDIT_GROUP
++ If you say Y here, the exec, chdir, (un)mount, and ipc logging features
++ will only operate on a group you specify. This option is recommended
++ if you only want to watch certain users instead of having a large
++ amount of logs from the entire system. If the sysctl option is enabled,
++ a sysctl option with name "audit_group" is created.
++
++GID for auditing
++CONFIG_GRKERNSEC_AUDIT_GID
++ Here you can choose the GID that will be the target of kernel auditing.
++ Remember to add the users you want to log to the GID specified here.
++ If the sysctl option is enabled, a sysctl option with name "audit_gid"
++ is created.
++
++Chdir logging
++CONFIG_GRKERNSEC_AUDIT_CHDIR
++ If you say Y here, all chdir() calls will be logged. If the sysctl
++ option is enabled, a sysctl option with name "audit_chdir" is created.
++
++(Un)Mount logging
++CONFIG_GRKERNSEC_AUDIT_MOUNT
++ If you say Y here, all mounts and unmounts will be logged. If the
++ sysctl option is enabled, a sysctl option with name "audit_mount" is
++ created.
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list